UDN
Search public documentation:

AttachingActorsKR
English Translation
日本語訳
中国翻译

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 홈 > 레벨 편집 > 액터 붙이기(attach)
UE3 홈 > 레벨 디자이너 > 액터 붙이기(attach)

액터 붙이기(attach)


문서 변경내역: James Golding 작성. Daniel Wright 업데이트. 홍성진 번역.

개요


UE3에서는 레벨의 액터를 서로간에 붙일 일이 종종 있습니다. 예를 들자면 라이트를 움직이는 리프트에, 파티클 이미터를 크레인에, 메시를 애니메이팅되는 캐릭터의 본에 등등 붙일 때가 되겠습니다. 그와 같은 것들을 언리얼 에디터에서 설정하는 법을 설명해 드리도록 하겠습니다.

다이내믹 액터


먼저 알아두셔야 할 점, '스태틱'(정적)인 액터는 게임에서 움직일 수 없으며, 이런 것들은 다른 것에다 붙여 봐야 작동하지 않을 겁니다. 예를 들어 스태틱 메시 액터는 다른 것에 붙이지 말아야 할 것이며, 무버(또는 InterpActor, 보간 액터)를 대신 사용해야 할 것입니다. 라이트에도 마찬가집니다. 포인트 라이트 대신 포인트 라이트 무버블을 사용하십시오.

베이스 포인터


액터는 Attachment(어태치먼트) 부분에 Base(베이스)라는 속성이 있습니다. '베이스'로 삼는, 즉 '붙일' 액터를 말합니다. A 액터를 B 액터에 붙이려는 경우, 가장 쉬운 방법은 이렇습니다:

  1. A를 선택합니다.
  2. 속성 창의 '잠금' 버튼을 클릭하여 다른 액터를 선택해도 A의 속성창이 표시되게 합니다.
  3. B를 선택합니다.
  4. Attachment(어태치먼트) 부분을 연 다음 A의 Base(베이스) 속성을 선택합니다.
  5. 녹색 화살표를 클릭하여 현재 선택된 액터(B)를 그 속성에 할당합니다.

다른 것에 베이스를 둔 액터를 선택할 때마다 액터에서 베이스로 연결되는 녹색 선과 베이스 주변의 녹색 박스도 볼 수 있을 것입니다. 이를 통해 전부 제대로 설정되었나 쉽게 확인할 수 있습니다.

리짓 바디


주의할 점은, PHYS_RigidBody를 사용하는 액터에는 베이스 포인터 사용 방식이 작동하지 않는다는 점입니다. 피직스 시뮬레이션을 사용하는 액터를 연결하려면, 조인트( 또는 'constraint'(제약, 컨스트레인트))를 사용해야 합니다. 자세한 것은 VtmConstraintsKR 페이지를 참고하시기 바랍니다.

본에 액터 붙이기


액터를 다른 액터의 스켈레탈 메시의 특정 본에 붙일 수도 있습니다. 이는 시네마틱에 특히나 유용할 수 있습니다. 예를 들면 애니메이팅되는 캐릭터의 손에 무기를 붙인다던가 할 때죠. 먼저 위에 설명한 대로 베이스 포인터 설정부터 시작하면 됩니다. 그리고서 붙이려는 본의 이름을 BaseBoneName(베이스 본 이름) 속성에다, 그리고 Attachment(어태치먼트) 부분에다가도 넣어주면 됩니다. 붙은 액터를 선택하면 전과 마찬가지로 녹색 선/박스가 보일테지만, 이번에는 지정된 본 주변에 걸쳐 있을 것입니다. 이를 통해 본 이름을 제대로 넣어줬는가 쉽게 확인할 수 있습니다. 애님셋 뷰어를 사용해서도 특정 스켈레탈 메시의 본 이름을 찾아볼 수 있습니다. 그냥 브라우저에서 더블클릭하면 됩니다.

bShadowParented (그림자 부모화)


QA_APPROVED_BUILD_JULY_2008 이전의 bShadowParented(그림자 부모화 여부)는 BaseSkelComponent(베이스 스켈 컴포넌트)를 그림자 부모화시켰었습니다.

QA_APPROVED_BUILD_JULY_2008 이후의 bShadowParented(그림자 부모화 여부)는 가능하면 BaseSkelComponent(베이스 스켈 컴포넌트)를 그림자 부모화시키나, 아니면 현재 액터에서 그림자를 드리우는 컴포넌트 전부가 베이스 액터에 붙은 첫 그림자 드리우는 컴포넌트로 그림자 부모화시키게 됩니다. 이를 통해 기존에 언급된 컴포넌트 전부가 동일한 그림자를 드리울 수 있게 하여, 렌더링의 효율성을 높이고 그림자가 겹치는 곳의 이중 그림자를 피할 수 있게 되었습니다.

어태치먼트 메커니즘


UE3에는 두 가지 어태치먼트 메커니즘이 있습니다.

소프트 어태치

하나는 플레이어 폰이 오브젝트 위에 서 있을때의 메커니즘입니다. 이럴 경우의 디폴트는 'soft', 약하게 붙이는 것입니다. 베이스가 움직이면 매 프레임마다 붙은 액터의 직선 운동을 계산하고, 그 운동을 적용하여 동일한 상대 위치를 유지하도록 합니다. 플레이어가 움직이는 오브젝트 위에서도 뛰어다닐 수 있도록 어떤 플레이어 이동에도 추가할 수 있습니다. 또한 무버가 선반 아래로 이동할 경우에도 플레이어를 제대로 밀어올려 떨어지지 않을 수 있도록 해 줍니다. 이는 (특히나 회전하는 액터의 경우) 서서히 오차가 쌓이게 되며, 결국 붙은 액터가 베이스에서 '떠밀려'(drift) 가게 됩니다.

하드 어태치

다른 어태치먼트 메커니즘은 HardAttach, 하드 어태치라고 하며, 베이스에 상대적인 위치/회전을 항상 보장해 줍니다. 붙은 것과 환경 사이의 충돌을 제대로 처리할 수 없는 방식이기 때문에, (bBlockActors(액터 막기 여부)가 거짓인) 충돌 없는 어태치에만 사용해야 합니다.

여기서 주안점을 둘 부분은, 붙은 것이 베이스에서 서서히 떨어져나가는 현상을 목격했다면, bHardAttach(하드 어태치 여부) 플랙을 참으로 설정하십시오. 흔히 붙는 (이미터, 포인트 라이트 무버블 등) 액터의 디폴트는 참으로 되어 있습니다.

마티네


마티네는 다른 오브젝트에 베이스를 둔 오브젝트를 제대로 처리할 수 있습니다. 다른 것에 베이스를 둔 액터를 키프레이밍할 때, 베이스에 상대적인 이동 정보가 계산됩니다. 이런 식으로 다른 액터에 대해 상대적으로 움직이는 (열차의 문과 같은) 액터를 쉽게 셋업할 수 있습니다. 또한 붙은 액터는 마티내에서 이동과 애니메이션을 문질러 가며 실시간으로 업데이트되기도 합니다. 여기서 중요한 점은 마티네를 사용해서 키프레이밍을 시작하기 전에 어태치먼트 셋업을 해 놔야 한다는 점입니다. 이동 트랙을 셋업한 다음 그래버리면 헛갈리는 결과가 나올 수 있습니다.