Unity&C#

[Unity] Animation 관련 소소한 문제들

리네엔 2024. 12. 6. 00:10

Can Transition To Self는 애니메이션 상태가 자기 자신으로 전이(Transition)할 수 있는지를 설정하는 것

- 이게 켜져있어서 대쉬 애니메이션이 꼬였음. 왜꼬였지..?

 

현재 진행중인 애니메이션 클립의 절대적 시간을 알 수 없음 대신 normalized된 시간을 알 수 있음

- Animator.GetCurrentAnimatorStateInfo(0).normalizedTime을 활용.

		if (stateMachine.Character.Animator.GetCurrentAnimatorStateInfo(0).IsTag(skill.GetAnim()))
		{
			normalizedTime = stateMachine.Character.Animator.GetCurrentAnimatorStateInfo(0).normalizedTime;
			if (normalizedTime < 0.2f)
			{
				stateMachine.Player.ForceReceiver.AddForce(stateMachine.Player.transform.forward * 0.7f);
			}
			if (normalizedTime >= 1f)
			{
				stateMachine.ChangeState(stateMachine.Player.StateMachine.IdleState);
			}
		}

상태머신에 위와 같이 활용.

 

AnyState에서 시작하는 애니메이션을 bool값으로 진입하게하면 상태에 반복해서 진입하는 문제가 있음.

- anystate에서 시작하는 애니메이션은 trigger로 실행되는 애니메이션을 사용.

'Unity&C#' 카테고리의 다른 글

[Unity] Canvas Component  (0) 2024.12.23
[Unity] Character Controller & Rigidbody  (0) 2024.12.02
StateMachine / Behaviour Tree  (0) 2024.11.25
[Unity] DrawGizmo  (0) 2024.11.18
CSVtoScriptableObject  (0) 2024.10.30