CREATE YOUR WORLD
Interaction with Object
ZEPETO 캐릭터에 오브젝트 부착하기
9min
ZEPETO 캐릭터에 오브젝트를 부착하여 캐릭터가 움직일 때 오브젝트도 함께 움직이도록 합니다.
먼저, 객체를 프리팹으로 변환해야 합니다. 객체를 생성하고, 자산 폴더로 드래그하여 프리팹으로 만듭니다.
객체 프리팹의 예
- 장면에서 ZEPETO 캐릭터 생성 코드를 기본값으로 구현합니다.
📘 다음 가이드를 참조하십시오. [ZEPETO 캐릭터 만들기]
1) 계층 만들기 > 빈 객체 만들기 및 이름을 AttachObject로 변경합니다.
2) 프로젝트 만들기 > 만들기 > ZEPETO > TypeScript 및 이름을 AttachObject로 변경합니다.
3) 아래와 같은 샘플 스크립트를 작성합니다.
- 스크립트 흐름은 다음과 같습니다:
- Start()
- ZepetoPlayers.instance.OnAddedLocalPlayer 이벤트 리스너를 등록하여 로컬 플레이어가 추가될 때 실행됩니다.
- 로컬 플레이어를 _localCharacter 변수에 설정합니다.
- _localCharacter의 애니메이터 컴포넌트를 가져오고, bodyBone에 지정된 위치를 가져와서 prefItem에 지정된 프리팹을 해당 위치에 생성합니다.
1) 스크립트 작성을 마친 후, 스크립트를 AttachObject 객체에 추가합니다.
2) 검사기에서 Pref Item, Body Bone을 할당합니다.
- Pref Item은 객체 프리팹입니다.
- Body Bone은 객체가 생성될 위치입니다.
- 왼손을 선택하여 객체를 손에 쥐고 있는 것처럼 보이게 합니다.
예제 스크립트 설정 화면
3) 재생 버튼을 눌러 실행하면 ZEPETO 캐릭터의 왼손에 객체가 부착된 것을 볼 수 있습니다.
원하는 Body Bone 위치에 객체를 동일한 방식으로 부착할 수 있습니다.
📘 유니티 HumanBodyBones https://docs.unity3d.com/ScriptReference/HumanBodyBones.html
다음은 BuildIt에서 Neck Pillow 객체를 캐릭터의 목에 부착하여 ZEPETO 캐릭터가 목베개를 착용하고 있는 것처럼 보이게 하는 예입니다.
- 원하는 모양을 얻기 위해 객체의 위치와 회전을 적절하게 조정할 수 있습니다.
객체 프리팹 구성 예
- 인스펙터에서 Neck Pillow 객체를 Pref Item에 할당하고 Body Bone에 Neck을 선택합니다.
예제 스크립트 설정 화면
업데이트됨 11 Oct 2024
이 페이지가 도움이 되었습니까?