본문 바로가기

수업/Unity 2주 프로젝트 및 공부

Unity 프로젝트 및 공부 14일차

<오늘 진행할 일>

돼지 AI 및 사냥


<오늘의 공부>

1. 오브젝트의 Z방향이 아닐때는 빈 GameObject를 이용한다.

: 모델링을 가져왔는데 모델링의 Z축이 정면이 아니고 다른 방향이면 월드Z축 방향으로 돌려도 로컬Z축은 같이 돌아가버린 상태이다. 그렇기 때문에 Hierarchy에 빈 오브젝트를 생성한 후 사용하게 되면 방향은 0, 0, 0으로 맞출 수 있게 된다.

 

2. Random.Range(Min, Max)의 인자값이 int일 때, float일 때

: ① int일 때 : Min이상 Max미만, Min값은 포함되지만 Max값은 포함되지 않는다.

② float일 때 : Min이상 Max이하, Min값과 Max값 모두 포함된다.

 

3. transform.eulerAngles

: 인스펙터 창의 rotation x, y, z값

 

4. Quaternion().eulerAngles

: 스크립트에서 회전하는 함수를 만드는데 있어 Vector3는 Euler각이기에 Quternion을 Euler값으로 바꿔줘야한다.

(Quaternion에 대한 내용 수정)

 

Quaternion

: 하나의 벡터와(x, y, z)와 하나의 스칼라(w, roll을 표현)를 의미한다. → (x, y, z, w) 벡터가 위치(Position)임과 동시에 방향(Directionˇ)이면, 쿼터니안은 방향(Orientationˇ)임과 동시에 회전(Rotati..

sshoreng.tistory.com

 

5. NPC는 사운드 매니저 사용하지 않고 직접 AudioSource를 이용

: 거리에 따라 소리를 달리 하기 위해

 

6. AudioSource 컴포넌트/ Pan Level Cutom Curve

: 0에 가까울 수록 2D에 가깝고, 1에 갈수록 3D에 가까움.

2D는 사운드가 거리에 따라 변하는 개념이 없으므로, 1로 설정해야 거리간의 사운드 변화를 줄 수 있다.

(인스펙터 창 상단의 좌물쇠 옆에 있는 三모양을 클릭 후 Debug모드로 변경하면 AudioSource하단에 나타난다.)


<오늘 진행한 일>

 

 

1. 돼지 AI

: 돼지NPC는 '대기, 풀먹기, 두리번 거리기, 걷기'의 기본상태를 랜덤으로 행동하도록 구현하였습니다.

그에 따라 돼지의 기본 울음소리도 3가지로 랜덤하게 나오도록 하였습니다.

 

2. 돼지 피격

: 플레이어가 돼지를 피격하게되면 공격받을 때 울음소리를 내며 플레이어의 반대방향으로 달리도록 했습니다.

돼지의 체력이 0이 되면 돼지는 그 자리에서 사망 애니메이션이 나오며 더이상 다른 행동을 못하도록 하였습니다.

 

플레이어가 곡괭이를 든 상태에서 돼지를 때렸을 경우에 곡괭이의 스릉소리가 나도록 처리했습니다.

 

 

 


- 참고영상 케이디의 유튜브

https://www.youtube.com/playlist?list=PLUZ5gNInsv_Nzex8Cvxce_1zjUf0cNWY9

 

유니티 강좌 [3D FPS 서바이벌 생존] - YouTube

유니티 강좌 - 3D 게임 제작 스킬을 배워보는 강좌

www.youtube.com