낑깡의 게임 프로그래밍 도전기

Unity 오브젝트풀과 애니메이션 본문

카테고리 없음

Unity 오브젝트풀과 애니메이션

낑깡겜플밍 2023. 10. 6. 21:39
반응형
SMALL

위의 것을 함수로 빼기

 

 

 

 

 

 

*스트링은 C#에서 어떤 처리가 됩니까?

 

스트링은 생성 소멸이 되는 것이 아니라 하나 생성되면 똑같은거는 계속 참조해서 쓴다.

그러나 Debug.Log("dddd+i") 로 해서 i 계속 늘어 난다면 새로 계속 할당된다. 이런 경우는 좋지 않다.

 

 

 

애니메이션은 뼈대 대로 움직이기 때문에 모델에 뼈대는 꼭있다.

에니메이터는 에니메이션을 제어하는 것

에니메이션 컨트롤러는 애니메이션이 바뀌는것을 제어하는것

 

애니메이터에 에니메컨트롤러넣기

컨트롤러마다 보여지는 창은 다르다

애니메이션을 계속 실행하려면 왼쪽아래 세모(원하는 거)를 누르고 Edit을 누른 후 Loop Time체크 후 Apply
무한으로 재생 중임
스피드부분은 플레이어 능력치에 따라 공속이 증가할때도 유용하게 쓸 수 있다.
무한의 애니메이션을 부드럽게해주는 것 ex)포지션 초기화 무한걸음에서 무한 제자리 걸음이된다

아바타 만들어서 포지션 변화하기

Apply Root Motion 체크
모델에 크리에이트 하고 힙으로 영역잡아줌. 그럼 아바타가 생김
생긴 아바타를 넣어준다
이걸 체크하지 않은 상태에서 애니메이션을 돌리면 회전과 포지션 영향을 안받게 하는거래 아바타가 리지드바디를 가지고있어도 허공을 계속 걷게된다 모션만 받고 영향을 안받는 것임
이렇게하면 회전 y축에는 애니메이션 영향을 받고 앞으로만 걸어가는 상태

체크를 해주면 중력을 받게 된다.

 

부모가 리지드바디를 가지고 있으면 자시곧 귀속되서 리지드바디 영향을 받게됨(리지드바디를 가지게되는것 임)

그러나 자식에게 리지드바디를 넣어주면 그놈은 독립적으로 리지드바디를 수행할 수 있게됨

(영역별 다른 데미지를 주고 싶을 때 사용가능)

 

부모에 리지드가 없고 자식에게만있다면 충돌을 받는 입장에서는 부모가 충돌했다고 인식

그래서 아바타 발에다가만 콜라이더를 넣고 걷기도 가능

메쉬콜라이더는 연산이 많이 들어가니까 필요한 곳에만 콜라이더를 넣는게 효율적이다.

조건부로 애니매이션 전환. 하지만 현재 동작을 기다리고 끝날때 실행됨
Has Exit Time을 체크해제하면 바로 전환됨
코드로 컨트롤

enum, 인덱스, 인터페이스 등으로 매직 스트링 목록화 가능

 

프로퍼티로 바꾸기 : 프로퍼티로 바꾼이유는 플레이어 상태가 바뀔때 애니도 같이 바뀌게 설정하기 위함
위 업데이트 문은 이렇게 줄일 수 있다.
위나 아래 둘다 이렇게 하면 아무거나 눌러도 걷는다
이 사이의 값으로 유연하게 동작되게 해주는 기능
스피드에 따라 서서히 동작 . 스피드 조절만 해주면된다

 

애니 재생속도
밑에 껄 체크해제하면 안에 기본 수치를 바꿀수 있는데 마이너스값을 주면 뒤로 걸을 수 있다.
이렇게 쓸수도 있고
프로퍼티로 해서
스피드값만 세팅해 줄 수도 있다.

반응형
LIST