---
title: ตัวอย่างโลกที่ใช้การเคลื่อนที่ของวัตถุและการจัดการสิ่งกีดขวาง
slug: world-sdk-guide-th/d-YbflpCXpSy3ZpqxMLz-
docTags: 
createdAt: 2024-09-02T08:34:13.138Z
---

## ตัวอย่างโครงการ

:::hint{type="info"}
**📘 ไฟล์โครงการที่ใช้ในวิดีโอการบรรยาย**
[https://github.com/naverz/zepeto-world-sample/tree/main/Assets/Chapter1](https://github.com/naverz/zepeto-world-sample/tree/main/Assets/Chapter1)
:::



## สรุป

| สรุป           | - นี่คือการบรรยายที่ติดตามสำหรับผู้เริ่มต้นในการพัฒนา ZEPETO World.<br />- ตั้งค่าเพื่อการพัฒนา ZEPETO World และเรียนรู้การควบคุมตัวละคร ZEPETO.<br />- มันคือ Jump Map ที่สามารถทำได้ด้วยโค้ดการเคลื่อนที่ GameObject ที่ง่ายและโค้ดการโทร. |
| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ความยาก        | ผู้เริ่มต้น                                                                                                                                                                                                                                  |
| เวลาที่ต้องใช้ | 30 นาที                                                                                                                                                                                                                                      |

**&#x20;เป้าหมายของโครงการ**

- เข้าใจวิธีการสร้างโปรเจกต์ Unity โดยใช้เทมเพลต ZEPETO
- การทำงานร่วมกันของ World ID และการเข้าสู่ระบบ ZEPETO
- เรียกตัวละคร ZEPETO และเข้าใจตัวควบคุมตัวละคร
- สร้าง Jump Maps เริ่มต้น
- ควบคุมการเคลื่อนไหวของ GameObjects โดยใช้สคริปต์ ZEPETO
- โทรลักษณ์โดยใช้สคริปต์ ZEPETO

**ตัวอย่างของโลกที่เสร็จสมบูรณ์**

::embed[[https://www.youtube.com/watch?v=i4zmJQpn7Zw](https://www.youtube.com/watch?v=i4zmJQpn7Zw)]{url="https://www.youtube.com/watch?v=i4zmJQpn7Zw"}

## ส่วนที่ 1. การตั้งค่าคอนโซลโลก

:::hint{type="danger"}
**❗️ ระวัง**
ก่อนดูวิดีโอนี้ กรุณาทำตาม [คู่มือการติดตั้ง Unity และการลงทะเบียนเทมเพลต ZEPETO](docId\:yEJXaZJcqx5zQCDfj74qU) คู่มือ เพื่อทำการติดตั้งพื้นฐานให้เสร็จสิ้น.
:::

- เรียนรู้วิธีการตั้งค่าคอนโซลโลก ZEPETO Studio.
- เรียนรู้วิธีการตั้งค่าโปรเจกต์ Unity โดยใช้เทมเพลต ZEPETO.

### เวอร์ชันภาษาอังกฤษ

::embed[[https://www.youtube.com/watch?v=qLv1z723gEM](https://www.youtube.com/watch?v=qLv1z723gEM)]{url="https://www.youtube.com/watch?v=qLv1z723gEM"}



### เวอร์ชันภาษาเกาหลี

::embed[[https://www.youtube.com/watch?v=jqPU5Azn0wo](https://www.youtube.com/watch?v=jqPU5Azn0wo)]{url="https://www.youtube.com/watch?v=jqPU5Azn0wo"}



## ส่วนที่ 2. การตั้งค่า ZEPETO ผู้เล่น

- เรียนรู้วิธีทำให้ตัวละคร ZEPETO ปรากฏในโลก.

### เวอร์ชันภาษาอังกฤษ

::embed[[https://www.youtube.com/watch?v=GsW_JXi4c6Q](https://www.youtube.com/watch?v=GsW_JXi4c6Q)]{url="https://www.youtube.com/watch?v=GsW_JXi4c6Q"}



### เวอร์ชันภาษาเกาหลี

::embed[[https://www.youtube.com/watch?v=zMwD1qHlYP8](https://www.youtube.com/watch?v=zMwD1qHlYP8)]{url="https://www.youtube.com/watch?v=zMwD1qHlYP8"}

:::CodeblockTabs
สคริปต์ CharacterController

```typescript
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;
       });
   }
}
```
:::



## ส่วนที่ 3. การเคลื่อนที่ของวัตถุ

- เรียนรู้วิธีการสร้าง GameObject ที่เคลื่อนที่

### เวอร์ชันภาษาอังกฤษ

::embed[[https://www.youtube.com/watch?v=ecW59Kg0jOs](https://www.youtube.com/watch?v=ecW59Kg0jOs)]{url="https://www.youtube.com/watch?v=ecW59Kg0jOs"}



### เวอร์ชันภาษาเกาหลี

::embed[[https://www.youtube.com/watch?v=HXr9bExWb60](https://www.youtube.com/watch?v=HXr9bExWb60)]{url="https://www.youtube.com/watch?v=HXr9bExWb60"}

:::CodeblockTabs
สคริปต์ Rotator

```typescript
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);
    }
}
```
:::

:::CodeblockTabs
Movement Script

```typescript
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);
        }
    }
}
```
:::



## ส่วนที่ 4. การโทรจิตตัวละคร ZEPETO

- เรียนรู้การโทรจิตตัวละครเมื่อพวกเขาถึงวัตถุ.

### เวอร์ชันภาษาอังกฤษ

::embed[[https://www.youtube.com/watch?v=8lxwQ7k23uY](https://www.youtube.com/watch?v=8lxwQ7k23uY)]{url="https://www.youtube.com/watch?v=8lxwQ7k23uY"}



### เวอร์ชันภาษาเกาหลี

::embed[[https://www.youtube.com/watch?v=hHAKkPGt2vM](https://www.youtube.com/watch?v=hHAKkPGt2vM)]{url="https://www.youtube.com/watch?v=hHAKkPGt2vM"}

:::CodeblockTabs
Teleport Script

```typescript
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);
    }
}
```
:::



## ส่วนที่ 5. ทดสอบการเล่น

- เรียนรู้วิธีการทดสอบการเล่นบนมือถือ.

### เวอร์ชันภาษาอังกฤษ

::embed[[https://www.youtube.com/watch?v=WFwAO8uzLsc](https://www.youtube.com/watch?v=WFwAO8uzLsc)]{url="https://www.youtube.com/watch?v=WFwAO8uzLsc"}



### เวอร์ชันภาษาเกาหลี

::embed[[https://www.youtube.com/watch?v=ixJ2Z47wp_k](https://www.youtube.com/watch?v=ixJ2Z47wp_k)]{url="https://www.youtube.com/watch?v=ixJ2Z47wp_k"}



## ส่วนที่ 6. การใช้ Asset Store

- เรียนรู้วิธีการตกแต่งโลกของคุณอย่างหรูหรา.

### เวอร์ชันภาษาอังกฤษ

::embed[[https://www.youtube.com/watch?v=xfmRcr-sKjY](https://www.youtube.com/watch?v=xfmRcr-sKjY)]{url="https://www.youtube.com/watch?v=xfmRcr-sKjY"}



### เวอร์ชันภาษาเกาหลี

::embed[[https://www.youtube.com/watch?v=nQ10QeYEc1M](https://www.youtube.com/watch?v=nQ10QeYEc1M)]{url="https://www.youtube.com/watch?v=nQ10QeYEc1M"}



## ส่วนที่ 7. การเปิดตัวโลก

- เรียนรู้วิธีการเปิดตัวโลก.

### เวอร์ชันภาษาอังกฤษ

::embed[[https://www.youtube.com/watch?v=cNloh28EZf8](https://www.youtube.com/watch?v=cNloh28EZf8)]{url="https://www.youtube.com/watch?v=cNloh28EZf8"}



### เวอร์ชันภาษาเกาหลี

::embed[[https://www.youtube.com/watch?v=trGRK3geZWo](https://www.youtube.com/watch?v=trGRK3geZWo)]{url="https://www.youtube.com/watch?v=trGRK3geZWo"}

