공모전 일지2 - 캐릭터 조작 & 빌드잇

Boyeong·2023년 5월 21일
0

제페토

목록 보기
2/13
post-thumbnail

230315

[2023 메타버스 달서 공모전] 출품을 위해, 제페토를 공부하는 일지

1. 제페토 캐릭터 생성

ZEPETO 캐릭터 생성하기

(1) ZepetoPlayers 오브젝트 생성

  • 하이어라키 뷰에서 우클릭 [ZEPETO] → [ZepetoPlayers]

  • 캐릭터 컨트롤러 모듈을 관리하는 컴포넌트이다. 인스펙터 창에서 캐릭터 컨트롤과 관련된 설정값을 지정할 수 있다고 한다.

(2) 제페토 캐릭터 로딩

  • 우리가 직접 움직일 캐릭터를 제페토에서 불러와야 한다.

  • Player라는 빈 오브젝트를 하나 만들어 준다.

  • Asset 폴더에 Scripts > Controller 폴더를 하나 생성한 후, 그 안에 타입스크립트를 생성한다.

  • 이름은 CharacterController.ts로 설정해 주었다.

  • CharacterController.ts

    import { ZepetoScriptBehaviour } from 'ZEPETO.Script'
    import { SpawnInfo, ZepetoPlayers, LocalPlayer } from 'ZEPETO.Character.Controller';
    
    export default class CharacterController extends ZepetoScriptBehaviour {
    
        Start() {    
            ZepetoPlayers.instance.CreatePlayerWithZepetoId("", "[ZEPETO_ID]", new SpawnInfo(), true);
            ZepetoPlayers.instance.OnAddedLocalPlayer.AddListener(() => {
                let _player : LocalPlayer = ZepetoPlayers.instance.LocalPlayer;
            });
        }
    
    }
    • 이 코드를 사용할 경우 특정 제페토 ID의 아바타로만 플레이하게 된다. (대머리...)
    • 월드를 출시할 때는 코드에 입력한 ZEPETO 아이디 대신, 월드에 접속한 유저의 ZEPETO 아이디 기반으로 코드를 수정해야 한다고 한다.
  • Player 오브젝트에, Zepeto Script 컴포넌트를 추가한 후, 방금 작성한 CharacterController.ts 스크립트를 드래그해서 넣어준다.

  • 실행 결과

    • 따로 설정을 하지 않아도, 모바일 환경과 PC 환경 모두 바로 조작이 가능하다.
    • 이동, 점프, 더블 점프(옵션), 줌, 회전 등의 조작이 가능하다.
  • 참고로, CharacterController.ts[ZEPETO_ID] 부분에 내 닉네임을 넣으면, 내 아바타가 불러와진다.

    내 아바타 유니티

(3) 캐릭터 컨트롤 조정

  • ZepetoPlayers 오브젝트의 속성들을 조정해 주기로 했다.

    • 카메라 높이가 너무 높은 것 같아서 Y 값을 0.5 정도로 낮추었다.

    • 점프의 높이가 너무 낮아서 Jump Power의 값을 10으로 높였다.

    • Use DoubleJump 옵션을 체크했다.

  • 실행 결과

2. 빌드잇으로 월드 제작

빌드잇

(1) 월드 제작

  • 제페토는 빌드잇이라는 월드 제작 툴도 제공한다.

  • 기본적으로 제공하는 템플릿을 가져와 보았다.

  • 인터페이스와 조작이 굉장히 직관적이어서 좋았다. 다만 배치 시에 바로 오브젝트를 회전할 수 있다면 좋았을 것 같다.

  • 만든 맵을 직접 캐릭터를 조작해보며 테스트해 볼 수도 있다.

  • 저장하면 내가 만든 월드에 저렇게 뜬다.

(2) 유니티에서 월드 불러오기

  • 유니티에서 제페토 로그인

  • 유니티 최상단 메뉴 [Window] → [Package Manager]

  • My Registries를 선택한 후, ZEPETO.Buildit.Loader를 설치한다

  • 유니티 최상단 메뉴 [ZEPETO] → [Buildit] → [Map Loader]

  • 그러면 방금 만든 월드가 나오는데, 원하는 월드를 더블 클릭해서 로드할 수 있다.

  • 그래서 받아봤더니... 그래픽 오류가 난다.

  • 심지어 실행해보니 스폰 위치도 이상하다..

  • 맵 전체의 y축을 아래로 조정한 뒤에 플레이 해보았는데, 그래픽도 깨지고, 물체도 막 통과하는 모습을 볼 수 있었다.

3. 유니티로 월드 제작

빌드잇

  • 어떤 오류가 생길지 모르기 때문에, 빌드잇에서 만들어서 유니티로 불러오는 방법은 포기하기로 했다.

  • 빌드잇에서 제공하는 오브젝트들을 유니티에서도 사용할 수 있다.

  • 유니티 최상단 메뉴 [Window] → [Package Manager]

    • ZEPETO.Buildit.City, Classroom, Common, ThemePark, Wedding이 오브젝트이다.
    • 원하는 것을 설치한다.
  • Packages의 하위 폴더에서, 원하는 오브젝트의 프리팹을 선택해서 사용하면 된다.

  • 그냥 프리팹을 신 뷰에 드래그 하면 된다.

  • 실행 결과

4. 다음에 할 일

5. 후기

  • 빌드잇으로 맵 제작하면 참 편하고 좋겠다 싶었는데 정작 유니티로 가져오니 저렇게 되어 너무 슬프다. 역시 쉬운 일 하나 없지...
  • 월드 디자인에 대해 하나도 모르고, 제페토 맵 영상 보면서 감탄만 하고 있는데 내가 잘 할 수 있을지 모르겠다.
  • 할 일이 없는 것 같은데 하다보면 오류 때문에 할 일이 늘어나는 마법.. 공모전 파이팅..!!

0개의 댓글