간단한 점프맵 월드를 만들어 봅니다.
34 분
샘플 프로젝트
📘 강의 영상에서 사용된 프로젝트 파일 https://github.com/naverz/zepeto-world-sample/tree/main/Assets/Chapter1
요약
요약 | - ZEPETO 월드 개발 입문자들을 위한 무작정 따라하기 강의입니다. - ZEPETO 월드 개발을 위한 세팅을 하고, ZEPETO 캐릭터 컨트롤러를 학습합니다. - 간단한 GameObject 이동 코드와 텔레포트 고드만 있으면 완성하는 점프맵입니다. |
|---|---|
난이도 | 초급 |
필요한 시간 | 30분 |
프로젝트 목표
- 제페토 템플릿을 사용한 유니티 프로젝트 제작 방법 이해
- 월드 ID 연동 및 제페토 로그인
- 제페토 캐릭터 불러오기 및 캐릭터 컨트롤러 이해
- 기본 점프 맵 제작
- 제페토 스크립트를 활용한 GameObject 이동 제어
- 제페토 스크립트를 활용한 캐릭터 텔레포트
완성 월드 예시
Part 1. 월드 콘솔 설정하기
❗️ 주의 본 영상을 시청하기 전에 Unity 설치 및 ZEPETO 템플릿 등록 가이드 가이드를 따라 기본 설치를 완료하세요.
- ZEPETO Studio 월드 콘솔 설정 방법을 배워 봅니다.
- ZEPETO Templete을 사용한 유니티 프로젝트 세팅 방법을 배워 봅니다.
영어 버전
한국어 버전
Part 2. 제페토 플레이어 세팅하기
- ZEPETO 캐릭터를 월드에 등장시키는 방법을 배워 봅니다.
영어 버전
한국어 버전
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { SpawnInfo, ZepetoPlayers, LocalPlayer, ZepetoCharacter } 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;
});
}
}
Part 3. 오브젝트 움직이기
- 움직이는 GameObject를 만드는 방법을 배워 봅니다.
영어 버전
한국어 버전
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
export default class Rotator extends ZepetoScriptBehaviour {
public rotationSpeedX: number = 0.5;
public rotationSpeedY: number = 0;
public rotationSpeedZ: number = 0;
Update() {
this.transform.Rotate(this.rotationSpeedX, this.rotationSpeedY, this.rotationSpeedZ);
}
}import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { Vector3, GameObject, Object, Time } from 'UnityEngine';
export default class Movement extends ZepetoScriptBehaviour {
public movingTime: number = 1;
public movingRangeX: number = 0;
public movingRangeY: number = 2;
private delta: number = 0;
private directionFlag: bool = true;
Update() {
this.delta += Time.deltaTime;
if (this.delta > this.movingTime) {
this.delta = 0;
this.directionFlag = !this.directionFlag;
}
if (this.directionFlag) {
// Move upward during the set moving time
this.transform.Translate(this.movingRangeX * Time.deltaTime, this.movingRangeY * Time.deltaTime, 0);
} else {
// Move downward during the set moving time
this.transform.Translate(-1 * this.movingRangeX * Time.deltaTime, -1 * this.movingRangeY * Time.deltaTime, 0);
}
}
}
Part4. 제페토 캐릭터 텔레포트하기
- 오브젝트에 닿았을 때 캐릭터를 텔레포트 시키는 방법을 배워 봅니다.
영어 버전
한국어 버전
import { Collider,Vector3,Quaternion } from 'UnityEngine';
import { ZepetoCharacter, ZepetoPlayer, ZepetoPlayers } from 'ZEPETO.Character.Controller';
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
export default class Teleport extends ZepetoScriptBehaviour {
private zepetoCharacter: ZepetoCharacter;
Start() {
// Zepeto character object
ZepetoPlayers.instance.OnAddedLocalPlayer.AddListener(() => {
this.zepetoCharacter = ZepetoPlayers.instance.LocalPlayer.zepetoPlayer.character;
});
}
OnTriggerEnter(collider: Collider) {
if (this.zepetoCharacter == null || collider.gameObject != this.zepetoCharacter.gameObject) {
return;
}
// Teleport to Origin Position
this.zepetoCharacter.Teleport(new Vector3(0, 0, 0), Quaternion.identity);
}
}
Part 5. 테스트 플레이하기
- 모바일에서 테스트 플레이하는 방법을 배워 봅니다.
영어 버전
한국어 버전
Part 6. 에셋스토어 활용하기
- 월드를 더 풍성하게 꾸미는 방법을 배워 봅니다.
영어 버전
한국어 버전
Part 7. 월드 출시하기
- 월드를 출시하는 방법을 배워봅니다.
영어 버전