자동차 바퀴는 Kinematic 으로 설정하고 콜리전 같은 효과를 주기위해서 대신 Ray cast 를 사용하여 월드와 상호작용하도록 처리한다

 

 

 

 

비히클용으로 아주 기본적인 최소한의 아트 셋업은, 스켈레탈 메시 입니다. 비히클 유형에 따라 얼마나 복잡한 아트 셋업이 필요할 것인지가 결정되며, 서스펜션에 특별한 관심을 쏟아야 할 수 있습니다. 탱크라면 서스펜션이 거의 항상 보이지 않을 테니 별달리 신경쓸 필요가 없겠지만, 비히클 게임 에서 볼 수 있는 것과 같은 모래언덕용 소형차라면 노출된 부품이 좀 더 그럴싸하게 움직이도록 하기 위해서는 조인트가 추가로 필요할 것입니다.

기본

비히클 메시는 양수 X 를 아래로 향하고 있어야 합니다.

언리얼 엔진 4 에서 사용할 휠의 반경은 센티미터 단위로 측정해야 합니다.

위 그림에서는 Maya의 Distance Measurement (거리 측정) 툴을 사용하여 휠 서로 반대편의 두 버텍스 사이의 거리에 따라 휠의 지름을 측정합니다. 휠의 반경은 이 값의 절반이 됩니다.

3DsMax 의 경우 Helpers 섹션에도 비슷한 툴이 있습니다.

조인트

4륜 비히클에 필요한 최소한의 조인트 갯수는 루트에 하나, 휠마다 하나씩 총 5 개입니다. 휠과 루트 조인트는 X 가 앞쪽, Z 가 위쪽으로 맞춰져 있어야 합니다:

그래야 Y 축 중심으로 회전하면서 Z 축으로 스티어링됩니다.

다른 모든 조인트는 원하는 대로 배치 가능하지만, 애니메이션 블루프린트  Look At 노드같은 것들은 X 가 앞쪽이라 가정한다는 점 참고하시기 바랍니다.

시각적으로 어색해 보이는 것을 방지하기 위해, 휠의 조인트는 중앙을 정확히 맞춰야 합니다. 콜리전 감지에 시각적인 메시가 사용되지는 않을 것이지만, 휠 메시가 중앙을 벗어난 경우 휠이 망가진 것처럼 보일 것이기에, 모션 블러로 인해 정말 눈에 띨 것입니다.

바인딩

Maya의 경우 표준 스무드 바인드고, 3DS Max 의 경우 스킨 모디파이어 입니다. 휠은 하나의 조인트에만 웨이팅이 있어야 이상한 변형 없이 자유로운 스핀이 가능합니다. 쇼크 앱소버와 스트럿 서스펜션의 경우 복잡한 스키닝으로 해도 가능하지만, 언리얼 에디터 측에서는 좀 더 생각을 많이 해야 할 것입니다.

익스포트

비히클은 단순히 스켈레탈 메시 로 익스포트되며, 별달리 고려할 것은 없습니다.

임포트

스켈레탈 메시에 대한 표준 FBX 임포트입니다. 임포터가 피직스 애셋 을 생성하도록 하는 것이 좋을 것입니다.

피직스 애셋

피직스 애셋 은 비히클에 엄청나게 중요하므로, 간과하거나 생략할 수 없습니다. 처음 언리얼 엔진 4 로 피직스 애셋 을 생성할 때, 아마도 거의 이와 같아 보일 것입니다:

그 이유는 피직스 애셋 툴 (PhAT) 이 조인트에 스키닝된 버텍스를 가능한 만큼 래핑 시도하기 때문입니다. 그리고 솔직히, 그 전부 지우고 다시 만들게 될 것입니다. 왜냐구요? 모든 피직스 바디를 결합시킬 컨스트레인트 재생성을 제대로 처리할 수 있는 방법이, 현재 PhAT 에는 없기 때문입니다. 즉 중간 피직스 바디를 삭제하면 상위 계층구조에 새로운 컨스트레인트를 만들지 않습니다. 그러나 모든 피직스 바디를 삭제하고 루트 조인트부터 쌓아가기 시작하면 모든 컨스트레인트가 제대로 생성될 것입니다.

계층구조 패널에서 모든 것을 Shift 선택한 다음 Delete 키를 누릅니다. 그러면 애셋에서 모든 피직스 바디가 제거됩니다.

이제 루트 조인트부터 시작해서 비히클 조인트에 피직스 바디를 만들기 시작합니다. 염두에 둘 것은, 물리 시뮬레이션을 하거나 비히클의 바운드에 영향을 끼칠 필요가 있는 조인트에만 피직스 바디가 필요하다는 것입니다.

여기 우리 버기의 경우, 루트에 대한 박스나 휠에 대한 구체가 시작하기 딱 좋을 것이며, 원하는 동작을 내기 위해서는 여러가지 다른 피직스 바디가 필요할 것입니다.

바디 콜리전 생성

비히클 루트에 대한 박스를 생성하려면:

  1. 계층구조 패널에서 루트 조인트에 우클릭합니다.
  2. 바디 추가 를 선택합니다.
  3. 콜리전 지오메트리  박스 로 설정합니다.
  4. "OK" 를 클릭합니다.
  5. 그 후 새로운 피직스 바디 를 이동, 회전, 스케일 조절하여 비히클의 모양을 더욱 잘 추정해 낼 수 있습니다.

휠 콜리전 생성

휠에 쓸 구체를 생성하려면:

  1. 계층구조 패널에서 휠 조인트에 우클릭합니다.
  2. 바디 추가 를 선택합니다.
  3. 콜리전 지오메트리  구체 로 설정합니다.
  4. "OK" 를 클릭합니다.
  5. 디테일 패널에서 Physics Type 프로퍼티를 찾아 Kinematic 으로 설정해 줍니다.비히클의 바운드에 영향을 끼치려는 휠에는 필수인데, 그림자와 컬링이 정상 작동하도록, 또 게임이 시작되면 비히클에서 휠이 떨어져 나오지 않도록 하기 위해서입니다.
  6.  피직스 바디 는 절대 실제 콜리전에 사용되지 않습니다.
    현재 휠은 레이 캐스트를 사용하여 월드와의 상호작용을 처리합니다.

더 나아가서

간단한 셋업은 이렇습니다. '비히클 게임' 내 '비히클' 의 '피직스 애셋' 을 살펴보면 이렇습니다:

휠 외에 모든 콜리전 바디는 비히클의 루트 조인트상에 존재합니다. 휠이 특정 게임 요소에 걸리지 않도록 하고, 휠의 메시가 벽이나 철책에 잘리지 않도록 하기도 합니다.

 

ref : https://docs.unrealengine.com/4.27/ko/InteractiveExperiences/Vehicles/VehicleContentCreation/

반응형

'게임엔진(GameEngine) > Unreal4' 카테고리의 다른 글

UE5 특징  (0) 2022.06.16
lambda with timers  (1) 2022.04.24
check(표현식);  (0) 2022.03.03
문자 변환  (0) 2022.02.10
언리얼4 Android용 Visual Studio 디버깅 가능해지다!!  (0) 2021.08.20

+ Recent posts