여기에 큰 문제가 있습니다. 나는 현재 어떤 애니메이터 상태인지 알 필요가있다. 나는이 문제에 관해 많은 부분을 조사해 왔지만 메카닉 애니메이션이 너무 새롭기 때문에 그것에 대한 정보는별로 없다. 적어도 유니티 스크립트는 아닙니다. 누군가가 도움을 줄 수Unity Javascript - Mecanim 애니메이터 상태
희망,
감사합니다, 로버트 댄
여기에 큰 문제가 있습니다. 나는 현재 어떤 애니메이터 상태인지 알 필요가있다. 나는이 문제에 관해 많은 부분을 조사해 왔지만 메카닉 애니메이션이 너무 새롭기 때문에 그것에 대한 정보는별로 없다. 적어도 유니티 스크립트는 아닙니다. 누군가가 도움을 줄 수Unity Javascript - Mecanim 애니메이터 상태
희망,
감사합니다, 로버트 댄
는 불행하게도, 난 JS 모르겠지만, 다음 C# 라인은 번역이 용이해야한다. 애니메이터. GetCurrentAnimatorStateInfo은 현재 애니메이터 상태를 설명하는 AnimatorStateInfo 구조체를 반환합니다. 당신이 (성능상의 이유로) 해시 애니메이터 상태의 이름을 위의 예에서 볼 그래서 당신은 특정 상태와 관련된 정수 ID를 검색하기 위해 Animator.StringToHash를 사용하는 국가의 이름을 해시해야처럼
int stateId = Animator.StringToHash("Base Layer.State Name");
Animator anim = GetComponent<Animator>();
AnimatorStateInfo currentBaseState = anim.GetCurrentAnimatorStateInfo(0);
if (currentBaseState.nameHash == stateId)
{
//you are in stateId
}
.
작동하지 않음 시도해보십시오. print (currentBaseState.nameHash + ""+ stateId);
그리고 애니메이션을 재생하십시오. 그들은 다르다.
NOVA, 나는 당신의 대답이 2 년 전임을 깨달았지만 .nameHash 대신 "전체 경로"를 사용하면 일치한다.
obl.GetCurrentAnimatorStateInfo (0) .fullPathHash == Animator.StringToHash ("자료 Layer.StateName") 당신이 대답을
덕분에, 그게 번역하기 쉽게해야합니다 사실이다. 아직도 나는 그것이 매우 어려운 hehe라는 것을 안다. 그러나 나는 더 많이 시도 할 것이다. 결국 그것이 효과가 있기를 바랍니다! –