출처 : 골드메탈 유니티 뱀서라이크 02~03
Update : 하나의 프레임마다 한번씩 호출되는 생명주기 함수
캐릭터 이동 방법 3가지
// 1. 힘을 준다
rigid.AddForce(inputVec);
// 2. 속도 제어
rigid.velocity = inputVec;
// 3. 위치 이동
rigid.MovePosition(rigid.position + inputVec);
- MovePosition은 위치 이동이라 현재 위치를 더해주어야 함.
// Transform의 position 변경하는 것은 물리적충돌을 무시할 수 있어서 주의할것.
캐릭터 좌우 바라보게 하는 방법
void LateUpdate()
{
if (inputVec.x != 0)
{
spriter.flipX = inputVec.x < 0;
}
}
애니메이션 효과
- 셀 애니메이션 : 여러 장의 이미지를 순차적으로 보여주는 방식
- 애니메이터에서 관리
파라미터 관리 :

캐릭터 이동시 :


캐릭터 죽음 :

반복할 필요가 없다면 애니메이션의 < Loop Time > 체크 해제!

Any State에서 Dead로 연결되기 때문에 어떤 상태이던지(Run, Stand 등) 어떤 트리거가 발생되면 바로 Dead로 변경

Has Exit Time : 현재 상태를 한번 하고나서 다음 애니메이션을 진행하게 함.
즉시 애니메이션이 바뀌게 해야하니까 체크 해제!
Transition Duration(s) : 주로 3D에서 모션을 부드럽게 하기 위해서 사용. 지금은 안쓰니까 0.01로 설정

코드 :
anim.SetFloat("Speed", inputVec.magnitude);
- magnitude : 벡터의 순수한 크기 값
Animator Override Controller : 구조가 똑같고 애니메이션이 다를때 사용.

Controller에 기존에 만들어놓은 애니메이터 컨트롤러를 넣고 Override에 새로 덮어씌울 애니메이션 클립을 넣어서 사용.
| 유니티 공부(10) (0) | 2023.09.18 |
|---|---|
| 유니티 공부(9) (0) | 2023.09.12 |
| 유니티 공부(1) (0) | 2023.08.16 |
| 유니티 비주얼 스튜디오 2022 설치 및 연동 (0) | 2023.07.20 |
| 유니티 플레이어 3D 캐릭터 방향전환(rotate,rotation) (0) | 2023.07.12 |