[UE4] 발사체를 날린 후, 방향과 도착지점을 예측해 보았다

물리가 적용된 물체에 AddImpulse로 힘을 가하여 물체를 날려보낼 경우, 그 방향과 도착지점을 계산하여 예측해 보았다.  이전에 글에서 발사체를 궤적에 따라 날려보내는 방식을 소개한 적이 있는데, 이 글에서는 매 Tick에서 얻을 수 있는 물체의 속도로 부터 최종 위치를 예측해 보는 방식으로 테스트하였다. 제한 사항으로는 물체가 날아가는 동안 Linear Damping을 0으로 하였고, 중력가속도는…

[UE4] Physics Sub-stepping(피직스 서브스테핑)에 대한 정리 (2 / 2)

#언리얼4 공부중 / UE4 버젼: 4.22.3 / 피드백 환영 Physics Sub-stepping(피직스 서브스테핑)에 대한 정리 (1 / 2) 에서는 피직스 서브스테핑에 관련한 용어를 정리해 보았다.  이제 substep의 tick을 받을 수 있는 샘플 코드를 작성해보자. Header에서는 FCalculateCustomPhysics 타입의 delegate를 선언하고, bind할 함수를 하나 정의하자. // Header UCLASS() class BALLMOVEMENTPROJ_API AStaticMeshActor : public AActor {…

[UE4] Physics Sub-stepping(피직스 서브스테핑)에 대한 정리 (1 / 2)

#언리얼4 공부중 / UE4 버젼: 4.22.3 / 피드백 환영 Physics Sub-stepping은 문자 그대로 보면, 물리 엔진의 작업 스텝을 서브 스텝으로 나눠서 작업이 행해진 다는 의미를 담고 있는 듯 하다.  무슨 소린지 어렵다.  일단 물리로 오브젝트를 다루려면 물리 프레임을 기반으로 게임상의 오브젝트들도 동작하여야 한다.  유니티에서는 FixedUpdate가 그 역할을 담당하는데, 언리얼에서는 fixed…

[UE4] 커브볼이나 감아차기처럼 발사체(Projectile)에 회전을 넣어봤다

#언리얼4 공부중 / UE4 버젼: 4.22.3 / 피드백 환영 이전에 글에서 발사체를 궤적에 따라 날려봤으니 이제 그 발사체에 스핀을 걸어보고 싶었다.  그럼 야구에서 커브볼같은 효과나 축구에서 감아차기같은 효과를 낼 수 있을 것이다.  그런 효과를 마그너스 효과(Magnus Effect)라고 부르더라.  간단히 설명하자면 회전하는 공으로 인해 공기의 흐름이 한쪽으로 몰려 그 지점에 힘이…

[UE4] 발사체를 궤적에 따라 날려보자 (Simulating a Projectile and Trajectory)

#언리얼4 공부중 / UE4 버젼: 4.22.3 / 피드백 환영 발사체(Projectile)을 쏘는 방식에 대해 알아보았다.   메뉴얼을 뒤적거려보니 어떤 물체를 이동시키기 위해서 사용되는 컴포넌트들이 3가지로 정리되어 있었다. (메뉴얼 링크) 캐릭터 무브먼트 컴포넌트 (CharacterMovementComponent) 프로젝타일 무브먼트 컴포넌트 (ProjectileMovementComponent) 로테이팅 무브먼트 컴포넌트 (RotatingMovementComponent) 관련 있는 컴포넌트는 ProjectileMovementComponent로 보였다.  이 컴포넌트를 보면 기능이 많이 붙어 있다. …

[UE4] PhysicsHandleComponent로 임의의 오브젝트 잡기

#언리얼4 공부중 / UE4 버젼: 4.22.3  캐릭터가 임의의 오브젝트를 잡을 때 혹은 소유하고자 할때 어떻게 해야 할까. 유니티에서는 보통 두가지 방식을 사용 했었는데, 하나는 캐릭터에 빈 게임오브젝트를 원하는 지점에 만들어 그 아래에 child로 붙이는 방식과, 다른 하나는 매 프레임마다 잡고자 하는 오브젝트의 월드 좌표를 업데이트하여 원하는 지점으로 옮기는 방식을 쓰곤…

[UE4] 두개의 벡터 사이에 로테이션

#언리얼4 공부중 / UE4 버젼: 4.22.3 좌표 시스템이 아래와 같고,더미 캐릭터를 XY plane 위에서 Z축을 중심으로 로테이션을 시켜보려고 한다.  모델의 forward vector로 부터 A 벡터까지 로테이션을 해보면,  Dot product를 구하여 두 벡터 사이의 각도를 구해보았다.  Dot Product는 wiki에서 잘 설명되어 있는데, 대략 공식은 다음과 같다.       위의 공식을 이용하여,…

[UE4] 길이 단위/Distance Unit

#언리얼4 공부중 / UE4 버젼: 4.22.3 길이에 대한 기본 단위 설정은 Project Settings > Appearence > Distance/Length에서 설정 가능하다.  그럼 오브젝트들의 사이즈는 어떻게 확인 할 수 있을까.   Scene에 디폴트로 위치해 있는 Floor 오브젝트의 Static Mesh를 더블클릭하여 오브젝트 에디터를 연다.   대략의 사이즈가 1000 cm x 1000 cm x 50 cm 로…