캐릭터
개요
오버데어(OVERDARE)는 ODA 기반의 아바타 시스템을 제공합니다. 크리에이터는 별도의 캐릭터 구현 없이 ODA를 활용하여 통일성 있는 사용자 생성 콘텐츠(UGC)를 제작할 수 있습니다. 오버데어는 Cage Mesh Deformer 기술을 활용하여 다양한 신체 파트와 호환되는 의상 및 액세서리를 제작하고 적용할 수 있습니다.
오버데어 UGC에는 두 가지 주요 캐릭터 유형이 존재합니다:
기본 캐릭터: 리그빌더(RigBuilder)로 생성되거나 외부에서 Import된 ODA 기반 캐릭터.
플레이어 캐릭터: 사용자가 오버데어 플랫폼에서 커스터마이즈한 의류, 액세서리 등을 장착하고 조작 가능한 아바타 캐릭터.
두 캐릭터 모두 ODA 기반으로 동작하며, 플레이어가 오버데어 플랫폼애서 생성한 캐릭터 인지, 아니면 크리에이터가 게임에서 생성한 캐릭터 인지의 차이를 가지고 있습니다. 플레이어는 기본적으로 UGC 월드에서 본인의 아바타를 이용해 모험을 즐길 수 있습니다.
크리에이터는 게임의 특성이나 컨셉에 맞춰 NPC를 생성하거나, 또는 플레이어 캐릭터를 크리에이터가 생성한 캐릭터로 대체 할 수도 있습니다.
특징
1. 6-Body Parts와 Skeleton
오버데어의 아바타는 6개의 바디 파츠(머리, 몸통, 양팔, 양다리)와 Skeleton 구조를 기본으로 합니다.
6개의 메시 파츠: 블록처럼 간단히 조립 가능하며, OVERDARE Studio에서 복잡한 리깅 등의 작업 없이 외형을 교체할 수 있습니다.
스켈레탈 메시 변환: 게임 실행 시 6개의 메시가 하나의 몸체로 병합되고 22개의 Bone을 가진 스켈레탈 메시로 변환됩니다.
이를 통해 레고 블록처럼 외형을 손쉽게 조립하면서도 부드럽고 다이나믹한 애니메이션 구현이 가능합니다.
오버데어 아바타의 본 구조는 다음과 같습니다.
1
Root
캐릭터 중심의 바닥 위치
2
LowerTorsor
허리
3
UpperTorsor01
하복부
4
UpperTorsor02
상복부
5
Neck
목
6
Head
머리
7
LeftClavicle
좌측 쇄골
8
LeftUpperArm
좌측 상박
9
LeftLowerArm
좌측 하박
10
LeftHand
좌측 손
11
LeftItem
좌측 장비 위치
12
RightClavicle
우측 쇄골
13
RightUpperArm
우측 상박
14
RightLowerArm
우측 하박
15
RightHand
우측 손
16
RightItem
우측 장비 위치
17
LeftUpperLeg
좌측 허벅지
18
LeftLowerLeg
좌측 종아리
19
LeftFoot
좌측 발
20
RightUpperLeg
우측 허벅지
21
RightLowerLeg
우측 종아리
22
RightFoot
우측 발
2. Humanoid 시스템
Humanoid는 캐릭터의 행동과 상태를 정의하는 핵심 클래스입니다.
게임 프로퍼티:
체력(Health): 체력 소모 및 사망 상태 전환 가능.
최대 체력(Max Health): 체력 소모 및 사망 상태 전환 가능.
이동 속도(WalkSpeed): .
점프 파워(JumpPower): 기본값은 50, 최대값은 1000.
상태 관리:
Humanoid는 여러 상태(HumanoidStateType)를 지원하며, 각 상태에 따라 기본 애니메이션이 재생됩니다. 예: 점프 시 "Jumping", 낙하 시 "FreeFalling" 상태.
스크립트를 통해 상태를 강제로 변경하거나 확장 가능.
3. 인풋 컨트롤러
오버데어 아바타는 기본적으로 클라이언트 디바이스의 입력 시스템과 연결된 컨트롤러를 제공합니다.
기본 기능: 이동, 점프, 카메라 변환 등.
확장 가능성: 크리에이터는 기존 인풋 시스템을 확장하여 커스텀 액션 추가 가능.
4. Attachment
각 Bone에 매칭된 Attachment를 통해 이펙트 위치 지정, 액세서리 부착, 물리적 Constraint 적용 등이 가능합니다.
Attachment는 Bone의 동적 움직임을 기준으로 작동하며, 크리에이터가 캐릭터 모델과 상호작용하는 아이템을 쉽게 배치할 수 있습니다.
캐릭터 모델 구조
오버데어 캐릭터 모델은 다음과 같은 구조를 가집니다:
Model 인스턴스: 캐릭터 전체를 포함하는 최상위 객체.
HumanoidRootPart: 캐릭터의 중심 역할을 하는 루트 파트.
6개의 MeshPart: 머리(Head), 몸통(Torso), 양팔(RightArm/LeftArm), 양다리(RightLeg/LeftLeg).
Humanoid 객체: 캐릭터의 행동 및 상태를 관리.
Skeleton: N개의 Bone으로 구성된 스켈레톤 구조.
캐릭터 애니메이션
ODA 기반의 본(Skeleton) 구조를 활용하여 외부에서 제작된 애니메이션을 가져와 적용할 수 있습니다.
애니메이션 제작
외부 프로그램(Blender 등)을 통해 애니메이션을 제작할 때는 반드시 ODA 본 구조와 일치하는 Skeletal Mesh를 사용해야 합니다.
{{외부 애니메이션 툴 스크린샷}}
제작된 애니메이션을 FBX로 내보내면 오버데어 스튜디오에서 활용할 수 있습니다.
외부 애니메이션 가져오기
Import3D를 눌러 제작한 애니메이션 FBX 파일을 가져옵니다.
애니메이션을 Import하면 스튜디오가 해당 애니메이션을 Creator Hub로 전송하고, assetID를 발급하여 Workspace에 Animation 인스턴스로 가져옵니다.
애니메이션을 재생하려면 아래 스크립트처럼 humanoid의 Animator를 사용하여 아바타의 애니메이션 트랙을 생성하고 해당 트랙을 재생할 수 있습니다.
애니메이션 플레이 예시:
Last updated