Unity
0708 Game AI Behaviour Tree
- 복잡한 Game AI를 구현할 때 많이 사용하는 기법 - Helo시리즈, Sims 시리즈 다양한 게임의 AI에 사용 - 언리얼에서는 기본 AI로 탑재 - 트리 구조 - 개발 유지 보수가 편리 * 앞부분은 FSMprogramming 과 비슷한데 (모델 만드는 부분) 소스코드가 다름 1. Leat Node 1) condition (transition에 사용하는 condition과 같음 - 조건이 충족되었는지의 여부 체크 (SUCCESS, FAILURE 두가지) 2) action - 에이전트 상태를 변경하는 계산수행, 사운드 재생, NPC 행동처리, 조명켜기등 (state 라고 생각하면 됨) - 실제적으로 로직을 제일 많이 구현함 (디테일한부분) 2. Composite Node 1) select (둘중에 ..
0705 Path Following 02
1. "PathFollowing02" scene에서 작성 2. 바닥만들기 3. 빈 오브젝트로 App 만들기 1) 위치 초기화 2) "AppIngame.cs" 스크립트 만들고 연동 (01에서 만들어두었음) 3) 수정사항 4. CSV 파일 만들기 5. Spawner 만들기 * 좌표를 반드시 reset시켜줘야함 안그러면 연결되서 생성되는 오브젝트들이 spawner의 상대좌표로 생성됨 1) spawner myApp에 App 연동 6. Vehicle 만들기 1) 01에서 했던 actor와 모양 위치 똑같음! 2) 머터리얼 만들고 연동 3) "VehicleController.cs" 만들고 연동한뒤 코드 작성 * 게임에서는 물리를 예측하지 어려우므로 자기가 코드를 다 짜야함 * 원래는 cosin 공식이 필요한데 없이..
0705 Path Follow
AStar 알고리즘?? 어떤 이유에 의해서 기획자가 포인트를 잡아줄 때 (way point) - 이때 path following 알고리즘 => ex) LoL 1. "Path Folling" 프로젝트 생성 2. 바닥만들기 1) Scale (100 1 100) + 격자무늬 추가 2) mGround material 만들기 3) 사용자 임의 색상 설정 (50 80 40 255) 4) 바닥 오브젝트와 머터리얼을 연결 3. Scene 추가하기 1) 기존의 simplescene을 PathFollowing01로 변경후 또 하나 추가해서 PathFollowing02로 함 2) "PathFollowing01" scene 더블클릭 4. 카메라 설정 1) MainCamera 선택후 (0 50 0, 90 0 0, 1 1 1) ..
0704 GameRTS
1. Attack state 만들기 - animation loop 타임 체크하는 것 잊지말것 2. Animation Event 1) "PlayerModelController.cs" 에 코드 추가 2) 타겟지점에 OnAttack() 설정하기 3) 어택 모션을 할때 칼의 위치가 적의 collider의 hit 지점이 될때를 표시하는 코드작성 4) 적이 player를 쳤을 때 HIT : Player가 나오도록 # 과제 - 캐릭터 멀티 선택 * 코드 입력한거 보셈 # 추가 개발내용 1. 멀티 선택된 유닛 UI 버튼으로 표시 2. UI 버튼 바로 위에는 유닉의 HP 표시 3. 유닉 1레벨 : HP 100, 적 1레벨 : HP 100, 유닛 1레벨 공격력10, 적1레벨 공격력 20 4. 막타로 적을 처치했을 때 유닛..
0703 Game RTS
앞에 날려먹음 개 빡 침 1. Chase 상태 1) Chase 추가하고 motion : Run_SwordShied 추가 2) Idle - Chase 서로 Make Transition ( Chase -> run 도 추가) 3) bool 형인 IsChase parameter 생성 4) IsChase 각각의 transition에 true, false 설정 + Has Exit Time 체크 해제 2. Attack 1) state 만들고 motion : NomalAttack01 연결 2) Chase - Attack 서로 Make Transition 3) bool 타입의 IsAttack parameter 만들고 각각의 trasition에서 condition을 추가해줌 4) "Player_Attack" 스크립트 생성..