분류 전체보기(218)
-
[UE5] Climb 강의 문제해결
Ledge - Ledge를 판별할 때 빗면이 있을 경우 부자연스럽게 Climbing 상태가 종료되는 상황이 있었습니다. - Normal과 Up Vector 의 각도가 캐릭터가 걸을 수 있는 각도 이하일때만 Climb 상태에서 Walk 상태로 변환하게 처리했습니다. (이 각도는 직접 실험을 통해 측정: 40도) Ceiling - 위와 같이 벽과 천장 사이를 이동할 때 머리가 반대방향으로 이동하는 문제가 있었습니다. - 이 부분이 부자연스럽게 보였기에 문제점이 무엇인지 찾아보았습니다. - 이유는 바로 MakeFromX 때문이었습니다. FRotationMatrix::MakeFromX(-CurrentClimbableSurfaceNormal) - 강의에서는 Normal 을 MakeFromX에 넣어 Rotation..
2024.02.26 -
[UE5] Control Rig 에서 Alpha Interpolate 노드 내부 구현 (5.3)
- 언리얼 5의 기본 Foot IK를 살펴보면, Alpha Interpolate 노드를 찾아 볼 수 있습니다. - 여기서 ZOffset_R_Target은 발에서 쏜 레이의 HitLocation을 의미합니다. - 하지만, 인풋값이 하나라서 이것이 보간한다는건 알겠지만, 어떻게 동작하는지 이해하기 어려웠습니다. - 언리얼 내부 코드(5.3)에서 Alpha Interpolate 의 구현을 엿볼 수 있습니다. 1. Alpha Interpolate FRigVMFunction_AlphaInterp() { Value = Result = 0.f; ScaleBiasClamp = FInputScaleBiasClamp(); bMapRange = ScaleBiasClamp.bMapRange; bClampResult = Sca..
2024.02.20 -
[UE5] Crouch 상태일 때 Foot IK 문제 해결
- 이전에 작성한 글을 그대로 따라가면, 웅크리기시 위와 같이 부자연스러운 모습을 볼 수 있습니다. - 이전 글과 상관없이 따라갈 수 있도록 언리얼 기본 마네킹의 BasicFootIK Control Rig 을 기반으로 작성했습니다. 1. Calf 와 Thigh 의 각도를 감지하여, Pelvis의 위치를 조절 (실패) - 제가 첫 번째로 떠올린 해결방법은 다리의 각도를 감지하여, 일정한 범위를 벗어나면, Pelvis를 위로 올리는 방법입니다. - 계층구조에서 Foot 위로는 Calf, Thigh가 있습니다. - 이 두 본의 Local Rotation 추적하였습니다. Calf - Initial Pose 에서 Local Rotation이 상대적으로 얼마나 변했는지를 측정했습니다. - Euler 각도의 z축이 ..
2024.02.20 -
[UE5] Lyra의 Crouch 카메라 보정
- Lyra는 카메라를 CameraComponent를 커스텀해서, CameraMode 클래스를 통해 카메라를 조절합니다. 이에 관한 글은 따로 작성할 것이고, 이 글에서는 Lyra에서 웅크리기 모션을할 시 카메라를 보정하는 방법에 대해 다룹니다. - 또한, 이 글은 Lyra의 코드와 몇몇 강의를 보고 제가 이해한 대로 정리한 글이기 때문에 정확성이 떨어질 수 있습니다. 1. 웅크리기 보정? - Lyra에서 카메라는 CameraArm 과 같은 컴포넌트를 사용하지 않고, CameraMode를 통해 구현합니다. - 따라서, 캐릭터가 위처럼 웅크리기를 수행할 때 부드럽게 카메라를 이동시키는 것을 직접 구현해야합니다. 2. Pivot Location? - Pivot 이란? "어떠한 대상의 중심축" 을 이야기합니다..
2024.02.18 -
[UE5] 애니메이션 적용
3D 게임에서의 애니메이션은 2d 게임과는 다르게 애니메이션간의 보간이 필수입니다. 그 이유는, 동작에서 동작으로 넘어갈 때 자연스러워야하기 때문입니다. 언리얼에서의 애니메이션의 주요 요소는 다음과 같습니다. - **AnimInstance**: 애니메이션 데이터 관리 및 그래프 작성과 같은 애니메이션 재생 제어 - **BlendSpace**: 애니메이션간 보간 (Idle -> Walk 등을 설정, 특정 프로퍼티 조합으로 혼합) 이 글에서는 BlendSpace는 다루지 않습니다. - 공식문서에서 적용하는 방법을 이미지로 쉽게 알려주기 때문입니다. - 하지만, AnimInstance는 BP로만 다루고 간단히만 다루고 있어서 따로 정리하기위한 글입니다. (Alias, Additive, Cached Pose를 ..
2024.02.15 -
[UE5] Sculpting Our Landscape
Gavin Eisenbeisz 의 unreal-engine-5-outdoor-level-design 라는 유데미 강의 입니다. 섹션 1: UE5 설치 및 사용방법에 대해 다룹니다. 섹션 2: 맵을 어떻게 그릴지에 대해 다룹니다. 섹션 3 부터 실습이 시작되며, 이 글은 그 과정을 간략하게 요약한 자료입니다. - 강의 목적: 지형 툴 기능 파악, 맵 구성 1. Landscape Tools 사용하기 - New > Fill World > Create - Height map의 해상도를 설정할 수 있고, Scale을 통해 Height map의 픽셀 크기를 조절할 수 있습니다. - Component 단위를 설정할 수 있으며, Select, Add, Delete 와 같은 연산의 단위가 됩니다. - Import를 통해..
2024.02.04