해결된 질문
작성
·
42
·
수정됨
0
안녕하세요 강사님 애니메이션 강의를 보며 프로젝트에 적용 중인 학생입니다.
블루프린트에서 애니메이션을 구현하는 부분에서 궁금한점이 생겨 질문드립니다.
착지 Additive를 구현 중이고, 떨어지는 상태에 맞는 애니메이션을 에셋을 드롭하여 Apply Addtive에 추가를 해주고 싶은데
특정 상태에 맞는 애니메이션을 선택하는 방법을 찾지 못하고 있습니다.
참고 사진 : State:Land안에 있는 노드 정보
어떻게 하면 M Fall State에 따라서 Controlled Fall과 Uncontrolled Fall에 맞는 애니메이션을 선택하여 Apply Addtive의 Additive에 넣어줄 수 있을까요?
답변 2
0
김보성님 안녕하세요~
우선 여러가지 방법이 있겠지만 가장 일반적인 방법은 공통적인 부분은 원래부분대로 짜서 캐시에 저장하고 이제 달라지는 분기점부터는 저장한 캐시를 불러와서 따로 로직을 구현하시는게 가장 좋습니다.
조금 더 자세한 피드백을 원하신다면 코드 설명과 구글드라이브에 프로젝트를 담아서 댓글 달아주세요 🙂 감사합니다
0
안녕하세요, 인프런 AI 인턴입니다. 김보성님께서 문의하신 블루프린트에서의 애니메이션 문제에 관한 답변을 드립니다.
Unreal Engine에서 특정 상태에 맞는 애니메이션을 적용하려면, 현재 상태를 기반으로 블루프린트 노드를 활용하여 애니메이션을 선택할 수 있습니다. 일반적으로 이를 위해 “State Machine”과 “Switch on Enum” 노드를 사용할 수 있습니다.
State Machine 사용: State Machine을 설정하면 상태에 따라 특정 애니메이션을 재생할 수 있습니다. ’M Fall State’ 변수를 기반으로 여러 상태(Controlled Fall, Uncontrolled Fall 등)를 정의하고 각 상태에 맞는 애니메이션 클립을 연결할 수 있습니다.
Switch on Enum 노드: 블루프린트에서 Switch on Enum
노드를 사용하여 EFallState
에 따라 애니메이션을 분기 처리할 수 있습니다. 각 상태에 맞는 애니메이션을 설정하고, Apply Additive
노드의 Additive 입력에 연결하시면 됩니다.
김보성님이 참조하신 그림에서 Switch on EFallState
를 사용 중인 것으로 보이는데, 각 케이스(Controlled Fall, Uncontrolled Fall)에 맞게 애셋을 드롭하여 연결하면 원하는 결과를 얻을 수 있습니다.
관련 정보가 추가로 필요한 경우, 다음 자료들을 확인하시기를 추천합니다:
- 애니메이션 블루프린트의 State Machines 다루기 - 이 자료에서는 애니메이션 블루프린트에서 State Machines를 사용하는 방법과 관련된 답변을 제공하고 있습니다.
- 유사한 블루프린트 구현 문제를 해결하는 방법 - 블루프린트로 애니메이션을 관리하면서 발생할 수 있는 문제를 해결하는 다양한 팁을 접하실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
- 구현하려는 기능 : 캐릭터가 떨어질 때, EFallState에 따라서 착륙 모션이 달라지게끔 구현
- 프로젝트 및 코드 설명
Unreal 5.6버전, Cpp와 블루프린트를 동시에 사용하고 있습니다.
GTACharacter를 상속받은 블루프린트:BP_GTAPlayer와
GTACharacterAnimInstance를 상속받은 블루프린트:ABP_GTAChracter를 이용해 작업 중 입니다.
GTACharacter 클래스에서 EFallState를 Tick에서 갱신하고 있고, 떨어지는 속도에 따라서, ControllableFall과 UnControllableFall가 갱신되고, 그 순간 델리게이트를 호출하여 연결되어 있는 GTAAnimInstance에 데이터들을 최신 데이터로 갱신 시켜줍니다.
착륙 시점에, 떨어지고 있는 상태가 ControllableFall이냐, UnControllableFall이냐 에 따라서
착륙 애니메이션을 다르게 설정할 것이고 그걸 블루프린트에서 수정하기 위해 GTACharacterAnimInstance를 상속받은 블루프린트에서 GTAChracter에서 갱신되는 EFallState를 가져올 수 있게 만들었습니다.
그 걸 이용해서 LandState에서 EFallState에 맞는 애니메이션을 연결시켜줄려고 했습니다.
- 링크
https://drive.google.com/file/d/1f5nDjXgZ5nV8UgujCsRqpZFF8lZ75wL4/view?usp=sharing
- 피드백 원하는 점
1. 애니메이션 블루프린트의 스테이트 안에 여러개의 애니메이션 에셋 중에 선택해서 하나를 골라줘서 골라준 애니메이션으로 출력하고 싶은데, 이게 많이 사용하는 방법인지 궁금합니다.
2. 강사님이 위에 올려주신 방법을 지금 현재 프로젝트에 있는 변수를 예시로 들어서 구현하는 방법을 설명해주실수 있나요?. ex) EFallState를 캐싱