작성
·
39
0
// 인자로 받은 animatorParameter가 bool Type이면 owner의 StateMachine으로 인자로 받은 command를 보냄
// Transition이 Command를 받아들였으면, State로 UsingSKill Message와 Skill 정보를 보냄
if (animatorParameter.type == AnimatorParameterType.Bool && ownerStateMachine.ExecuteCommand(command))
ownerStateMachine.SendMessage(EntityStateMessage.UsingSkill, (skill, animatorParameter));
// 인자로 받은 animatorParameter가 trigger Type이면 행동에 제약을 주지 않을 것이므로 ToDefaultState Command를 보내고
// Transition이 받아들였는지와 상관없이, State로 UsingSkill Message와 skill 정보를 보냄
else if (animatorParameter.type == AnimatorParameterType.Trigger)
{
ownerStateMachine.ExecuteCommand(EntityStateCommand.ToDefaultState);
ownerStateMachine.SendMessage(EntityStateMessage.UsingSkill, (skill, animatorParameter));
}
왜 Uphandcast만 트리거 타입이 되는지와 행동에 제약을 받지않는건지 궁금합니다.
답변 2
0
수강해주셔서 감사합니다.
upHandCast가 Trigger Type인건 해당 Animation을 쓰는 Skill에서 Trigger Type으로 설정해서 그렇구요, 혹시 왜 다른 Animation들은 Bool형으로 만들고 upHandCast만 Trigger 형태로 만들었는지 물어보시는거라면 예제를 보여드리기 위한 것일 뿐 다른 이유는 없습니다.
Code를 보면 Trigger Type일 경우 Entity가 DefaultState로 전이되기 때문에 DefaultState의 규칙을 따르므로 행동에 아무런 제약이 없습니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 고우진님.
Uphandcast와 트리거 타입에 대해 이해하는 데 도움을 드리기 위해 관련된 유사한 질문들을 소개하고 간단히 요약해 드리겠습니다.
SkillSystemWindow 스크립트 drawDatabase함수에서 null참조발생
Uphandcast와 Trigger 타입의 차이:
1. Trigger Type: Trigger 타입의 파라미터는 특정 이벤트를 발생시키는 역할을 하며, 애니메이터 상태의 전환을 유도합니다. 예를 들어, 스킬을 사용하는 동작을 시작하거나 종료할 때 trigger 파라미터를 사용하여 애니메이션 전이를 관리할 수 있습니다.
2. Bool Type: Bool 타입의 파라미터는 true/false 값을 통해 애니메이터의 특정 상태를 유지하거나 종료할 때 사용됩니다. 예를 들어, 지속적인 공격 모드나 디버프 상태를 나타낼 때 유용합니다.
왜 Uphandcast만 트리거 타입을 사용하는지:
- 상황에 맞는 유연성: Trigger 타입은 행동에 제약을 주지 않고 특정 이벤트를 순간적으로 처리하는 데 사용되므로, 스킬 사용 후 바로 다른 상태로 전환이 용이합니다. 이는 스킬의 특성상 빠르게 다양한 행동을 해야 하는 경우 적합합니다.
- 행동의 제약 없음: Bool 타입은 특정 상태 유지를 요구하므로, 지속적으로 활성화/비활성화 상태를 관리해야 할 경우 사용됩니다. 반면, Trigger 타입은 특정 애니메이션을 재생시키고 종료 후 재리셋될 필요성이 있는 경우 주로 사용됩니다.
다시 말해, Uphandcast는 행동에 제약을 받지 않게 하기 위해 트리거 타입을 사용하며, 이는 스킬의 연속성을 위한 재사용성과 유연성을 높여줍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
행동의 제약이 없는거라면 리그오브 레전드의 소나QWE, 세라핀, QWE 잭스 E 정도가 될까요
이동하면서 사용을 하는 예시인데