Humanoid Description
개요
HumanoidDescription는 게임 개발자들이 자신의 창의적인 비전과 게임 기획 의도를 구현하는 데 유용한 도구입니다. 이 기능을 통해 크리에이터는 플레이어의 아바타를 게임의 특정 상황이나 테마에 맞게 일관된 외형으로 변환할 수 있습니다. 이를 통해 게임 내에서 일관된 스타일과 분위기를 유지하며, 플레이어 경험을 더욱 풍부하게 만들 수 있습니다.
HumanoidDescription는 단순한 외형 변경뿐만 아니라, 캐릭터의 애니메이션, 크기 등 다양한 비헤이비어를 조정하는 데 사용됩니다. 예를 들어, 특정 지역에 들어가면 캐릭터가 특정한 의상을 입거나, 특정한 애니메이션을 재생하도록 설정할 수 있습니다. 이러한 기능들은 게임의 스토리텔링이나 게임플레이 메커니즘과도 밀접하게 연관되어 있으며, 플레이어에게 게임 내에서 의미 있는 경험을 제공합니다.
속성
Head
머리의 메시파트
Torso
상체의 메시파트
LeftArm
왼팔의 메시파트
RightArm
오른팔의 메시파트
LeftLeg
왼 다리 메시파드
RightLeg
오른 다리 메시파트
HeadColor
머리 메시의 색상
TorsoColor
상체 메시의 색상
LeftArmColor
왼팔 메시의 색상
RightArmColor
오른팔 메시의 색상
LeftLegColor
왼다리 메시의 색상
RightLegColor
오른다리 메시의 생삭
HeadTextureId
머리 메시의 텍스처
TorsoTextureId
상체 메시의 텍스처
LeftArmTextureId
왼팔 메시의 텍스처
RightArmTextureId
오른팔 메시의 텍스처
LeftLegTextureId
왼다리 메시의 텍스처
RightLegTextureId
오른다리 메시의 텍스처
IdleAnimantion
대기 동작 애니메이션
WalkAnimantion
걷기 동작 애니메이션
RunAnimantion
뛰기 동작 애니메이션
JumpAnimantion
점프 애니메이션
FallAnimantion
자유낙하 애니메이션
LandedAnimation
착지 애니메이션
SwimmingIdleAnimation
수영 대기 동작 애니메이션
SwimmingBreaststrokeAnimation
수영 이동 동작 애니메이션
ClimbingAnimantion
등반 애니메이션
DieAnimation
사망 애니메이션
HeightScale
캐릭터의 Y축 스케일, 캐릭터의 키
DepthScale
캐릭터의 Z축 스케일, 캐립터를 깊이
WidthScale
캐릭터의 X축 스케일, 캐릭터의 너비
사용 방법
HumanoidDescription은 레벨브라우저 또는 스크립트를 통해 생성하고 적용 할 수 있습니다.
레벨브라우저에서의 HumanoidDescription 생성
스크립트를 이용한 HumanoidDescription 생성 및 적용
외형 변경
본적으로 UGC 월드에 진입하는 플레이어 아바타는 앱에서 설정한 아바타의 외형 그대로 UGC 월드에 나타납니다. 그러나 특정 게임의 특성에 따라 캐릭터의 의상이나 악세서리를 제약해야 하는 경우가 있습니다.
예를 들어, 숨바꼭질과 같은 게임에서는 캐릭터가 눈에 띄지 않게 숨어야 하므로, 화려한 아바타가 불리할 수 있습니다. 이러한 경우, 공정한 경쟁을 위해 모든 플레이어의 의상을 통일시키는 것이 필요할 수 있습니다. 또 다른 예로, 팀을 명확히 구분하고 정체성을 나타낼 수 있도록 유니폼을 입히는 경우도 있습니다.
이러한 요구를 충족하기 위해 크리에이터는 HumanoidDescription을 활용하여 플레이어의 외형을 변경할 수 있습니다. 이 기능을 통해 게임의 특성에 맞는 일관된 아바타 스타일을 구현할 수 있으며, 이는 게임의 재미와 공정성을 높이는 데 기여할 수 있습니다.
메시파트 변경
메시파트 텍스처 및 색상 변경
애니메이션 변경
현재 오버데어에서는 캐릭터들이 동일한 기본 애니메이션을 제공받아 모든 플레이어가 동일한 방식으로 동작합니다. 그러나 UGC 환경에서는 플레이어의 상태에 따라 다양한 애니메이션을 적용하는 것이 필요할 수 있습니다.
예를 들어, 공격을 받은 플레이어가 좀비로 변신해야 하는 경우, 단순히 좀비 외형만 적용하는 것보다 실제로 캐릭터가 좀비처럼 걷는 애니메이션을 구현하면 게임의 몰입도를 크게 높일 수 있습니다. 이를 통해 플레이어는 좀 더 생생한 게임 경험을 할 수 있습니다.
HumanoidDescription을 활용하면 캐릭터의 기본 애니메이션(대기, 걷기, 뛰기, 점프, 착지, 사망 등)을 손쉽게 교체하고 동기화할 수 있습니다. 이는 게임의 다양한 시나리오에 맞춰 애니메이션을 맞춤형으로 설정할 수 있는 강력한 도구가 됩니다. 이를 통해 크리에이터는 게임의 스토리와 상호작용을 더욱 풍부하게 만들 수 있습니다.
애니메이션 동기화에 대해
기본적으로 Idle, Walk, Run 등의 이동 관련 애니메이션은 서버를 통해 실시간으로 동기화되지 않습니다. 대신, 플레이어가 게임에 접속할 때 해당 캐릭터의 애니메이션 데이터가 모든 클라이언트에 초기화되어 전달됩니다. 이후 캐릭터가 이동하거나 점프할 때는 각 클라이언트가 초기에 받은 애니메이션 데이터를 기반으로 애니메이션을 재생합니다.
따라서, 특정 플레이어 캐릭터가 무기를 잡아 기본 이동 모션이 변경되었다고 해도, 이 변화는 다른 클라이언트들에게 전달되지 않습니다. 즉, 다른 플레이어는 해당 캐릭터의 이동 모션 변화에 대해 인식할 수 없습니다.
이를 해결하기 위해서는 애니메이션 데이터를 동기화 해주는 기능이 필요합니다. 하지만 이러한 동기화 기능을 개발하는 것은 복잡한 스크립트가 요구될 수 있습니다.
이러한 문제를 해결하기 위해 HumanoidDescription을 활용하면 복잡한 동기화 스크립트 없이도 기본 애니메이션을 손쉽게 동기화 할 수 있습니다. 이를 통해 게임 내에서 일관된 애니메이션 경험을 제공할 수 있으며, 크리에이터의 작업을 간소화하는 데 기여합니다.
Last updated