CREATE YOUR WORLD
Interaction with Object
ZEPETO 캐릭터에 오브젝트 부착하기
9분
zepeto 캐릭터에 오브젝트를 부착하여 캐릭터가 움직일 때 오브젝트도 함께 움직이도록 합니다 1단계 객체 프리팹 준비하기 먼저, 객체를 프리팹으로 변환해야 합니다 객체를 생성하고, 자산 폴더로 드래그하여 프리팹으로 만듭니다 2단계 객체를 캐릭터의 특정 부분에 부착하는 스크립트 장면에서 zepeto 캐릭터 생성 코드를 기본값으로 구현합니다 📘 다음 가이드를 참조하십시오 \[ 제페토 캐릭터 생성하기 docid\ qup q pugs7gyvyosl va ] 단계 2 1 스크립트 작성하기 1\) 계층 만들기 > 빈 객체 만들기 및 이름을 attachobject로 변경합니다 2\) 프로젝트 만들기 > 만들기 > zepeto > typescript 및 이름을 attachobject로 변경합니다 3\) 아래와 같은 샘플 스크립트를 작성합니다 import { zepetoscriptbehaviour } from 'zepeto script'; import { zepetocharacter, zepetoplayers } from 'zepeto character controller'; import { transform, animator, gameobject, humanbodybones, object } from 'unityengine'; export default class attachobject extends zepetoscriptbehaviour { // 몸에 부착할 오브젝트 프리팹 public prefitem gameobject; // 오브젝트를 부착할 뼈 public bodybone humanbodybones; private localcharacter zepetocharacter; start() { zepetoplayers instance onaddedlocalplayer addlistener(() => { // 로컬 플레이어를 찾아 localcharacter에 설정합니다 this localcharacter = zepetoplayers instance localplayer zepetoplayer character; // localcharacter의 애니메이터 컴포넌트를 가져옵니다 const animator animator = this localcharacter zepetoanimator; // 오브젝트를 부착할 뼈의 위치를 가져옵니다 const bone transform = animator getbonetransform(this bodybone); // 오브젝트 프리팹을 생성합니다 object instantiate(this prefitem, bone) as gameobject; }); } } 스크립트 흐름은 다음과 같습니다 start() zepetoplayers instance onaddedlocalplayer 이벤트 리스너를 등록하여 로컬 플레이어가 추가될 때 실행됩니다 로컬 플레이어를 localcharacter 변수에 설정합니다 localcharacter의 애니메이터 컴포넌트를 가져오고, bodybone에 지정된 위치를 가져와서 prefitem에 지정된 프리팹을 해당 위치에 생성합니다 step 2 2 인스펙터에서 부착 위치 설정하기 1\) 스크립트 작성을 마친 후, 스크립트를 attachobject 객체에 추가합니다 2\) 검사기에서 pref item, body bone을 할당합니다 pref item은 객체 프리팹입니다 body bone은 객체가 생성될 위치입니다 왼손을 선택하여 객체를 손에 쥐고 있는 것처럼 보이게 합니다 3\) 재생 버튼을 눌러 실행하면 zepeto 캐릭터의 왼손에 객체가 부착된 것을 볼 수 있습니다 3단계 적용 원하는 body bone 위치에 객체를 동일한 방식으로 부착할 수 있습니다 📘 유니티 humanbodybones https //docs unity3d com/scriptreference/humanbodybones html https //docs unity3d com/scriptreference/humanbodybones html 다음은 buildit에서 neck pillow 객체를 캐릭터의 목에 부착하여 zepeto 캐릭터가 목베개를 착용하고 있는 것처럼 보이게 하는 예입니다 원하는 모양을 얻기 위해 객체의 위치와 회전을 적절하게 조정할 수 있습니다 인스펙터에서 neck pillow 객체를 pref item에 할당하고 body bone에 neck을 선택합니다