Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- UnrealEngine4
- 1563
- C
- Frustum
- 줄 세우기
- directx
- Programmers
- NRVO
- UE5
- 프로그래머스
- DeferredRendering
- const
- DirectX11
- algorithm
- UnrealEngine5
- 백준
- RootMotion
- IFileDialog
- RVO
- 오블완
- winapi
- baekjoon
- GeeksForGeeks
- 2294
- softeer
- C++
- 티스토리챌린지
- Unreal Engine5
- 팰린드롬 만들기
- 언리얼엔진5
Archives
- Today
- Total
Game Develop
[UE5] 몬스터 이동에 블렌드스페이스 + 행동트리 MoveTo 사용할 때 주의할 점. 본문
그.. 보통 몬스터 기본움직임은 블렌드스페이스로 하는경우가 많을 것이다.
그리고 행동트리에서 뭐 타겟을 향해 이동할 때 기본적으로 내장되어있는 MoveTo 태스크노드를 사용하는 경우도 많을 것이다.
나같은경우 특정 몬스터에 속도가 0일 때, 600일 때, 1200일 때의 애니메이션시퀸스를 넣어서 블렌드스페이스를 하나 만들었었다.
그리고 해당 몬스터의 CharacterMovement에서 MaxWalkSpeed값을 1200으로 맞췄다.
MoveTo 노드는 기본적으로 행동트리 오너의 MaxWalkSpeed값을 기준으로 오너의 속도를 올리기 때문에, 당연히 잘 되야한다.
근데.. 실제 PIE에서 몬스터 움직이는거보니까 자꾸 멈칫멈칫거린다.
확인결과, WalkSpeed가 자꾸 600에 도달하면 0으로 초기화가 되버리는 것이였다.
계속 이것저것 해보다가 겨우 고치게 됐는데, 블렌드스페이스에서 사용하는 애니메이션시퀸스들의 Enable RootMotion 을 비활성화시키니까 정상적으로 잘 됐다.
챗지피티에 물어본결과 대략적인 이유?로는 아래로 유추해본다.
애니메이션시퀸스의 루트모션을 활성화하면, 애니메이션의 위치와 속도를 루트본 데이터로 제어한다고 한다.
근데 행동트리의 MoveTo 노드는 캐릭터의 CharacterMovement 컴포넌트로 위치와 속도를 제어하게 되기 때문에 이 두개가 서로 충돌해서 자꾸 0으로 초기화되는 현상이 발생한다고 한다.
'UnrealEngine5 > 이것저것' 카테고리의 다른 글
[UE5] USTRUCT를 Value로 하는 TMap을 사용할 때 주의할 점 (1) | 2024.12.02 |
---|---|
[UE5] TObjectPtr은 강참조 아니다 (0) | 2024.11.18 |
[UE5] 월드방향벡터를 캐릭터의 로컬방향벡터로 변환시키고 어떤 방향인지 알아내기 (0) | 2024.11.08 |
[UE5] 행동트리가 블랙보드값 변경을 즉각 반응 못할 경우. (0) | 2024.10.22 |
[UE5] BehaviorTree TaskNode의 InitializeFromAsset VS InitializeFromMemory (0) | 2024.10.05 |