---
title: Implementasi Teleportasi
slug: world-sdk-guide-id/implementasi-teleportasi
docTags: 
createdAt: 2024-09-02T08:34:13.135Z
---

Mengimplementasikan portal melalui mana karakter ZEPETO dapat teleportasi ke dua titik yang berbeda.



![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-xQUSTAIqb6XR3_ijDqhI3-20240904-102421.gif)



## LANGKAH 1 : Mengatur titik target teleportasi



- Implementasikan kode pembuatan karakter ZEPETO di Scene sebagai default.

:::hint{type="info"}
**📘&#x20;**&#x53;ilakan merujuk ke panduan berikut. \[[Buat Karakter ZEPETO](docId:6xBDpw8HvdwOp3dXH17Ww)]
:::



1\) Buat titik untuk teleportasi.

- Untuk panduan ini, kita akan merujuk kepada mereka sebagai titik A dan B.
- Buat Hierarchy > 3D Object > Plane, dan ganti namanya menjadi Plane\_A.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-YPfNLxuMmybV-RiO0UnQh-20240904-102421.png)



2\) Tambahkan objek Portal yang akan memulai teleportasi.

- Pastikan untuk menambahkan Collider untuk berinteraksi dengan objek tersebut.
  - Sesuaikan ukuran area untuk mendeteksi tabrakan.
  - Pastikan untuk memeriksa Is Trigger.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-zsw3KDDtRnc65lbmesDh1-20240904-102421.png)



3\) Buat total 2 titik teleportasi dengan cara yang sama.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-esYtCDox6OMaljFjTWWNa-20240904-102421.png "Contoh Titik Teleportasi A")



![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-vB1mUIZBJCc8INMKDEr_A-20240904-102421.png "Contoh Titik Teleportasi B")



- Sesuaikan Posisi agar titik-titik tidak tumpang tindih.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-W8LMhFUKNiUbYj8h1QeEW-20240904-102421.png)



## LANGKAH 2 : Tulis skrip



1\) Buat Proyek > Buat > ZEPETO > TypeScript dan ganti namanya menjadi Teleport.

2\) Tulis skrip contoh seperti di bawah ini.

- Logika untuk teleportasi dengan destinationObject ketika terjadi tabrakan dengan karakter ZEPETO terdeteksi di area collider objek yang terpasang skrip.

```typescript
import { Collider, Vector3, Quaternion, GameObject } from 'UnityEngine';
import { SpawnInfo, ZepetoCharacter, ZepetoPlayer, ZepetoPlayers } from 'ZEPETO.Character.Controller';
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
 
export default class Teleport extends ZepetoScriptBehaviour {
     
    // Objek tujuan untuk teleportasi
    public destinationObject: GameObject;
 
    private _localCharacter: ZepetoCharacter;
 
    Start() {
        // Temukan pemain lokal dan atur ke _localCharacter
        ZepetoPlayers.instance.OnAddedLocalPlayer.AddListener(() => {
            this._localCharacter = ZepetoPlayers.instance.LocalPlayer.zepetoPlayer.character;
        });
    }
 
    OnTriggerEnter(collider: Collider) {
        // Jangan jalankan fungsi jika _localCharacter belum diatur atau jika gameObject yang bertabrakan bukan _localCharacter
        if (this._localCharacter == null || collider.gameObject != this._localCharacter.gameObject) {
            return;
        }
 
        // Teleportasi _localCharacter ke posisi destinationObject
        this._localCharacter.Teleport(this.destinationObject.transform.position, Quaternion.identity);
    }
}
```



3\) Setelah Anda selesai menulis skrip, tambahkan skrip ke objek Portal yang akan memulai teleportasi.

4\) Di inspector, tetapkan Objek Tujuan.

- Objek Tujuan : objek portal untuk tiba di akhir teleportasi.

::Image[]{src="https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-y-PuKoPDgX5mbE1uVnOUE-20240904-102421.png" size="62" width="424" height="601" position="center" showCaption="false"}



## LANGKAH 3 : Jalankan



Teleport karakter ZEPETO dari titik A ke titik B ketika dekat dengan portal.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-FjXBe_11wP8xMnFzwYT_M-20240904-102421.png)



:::hint{type="danger"}
- Panduan ini hanya menangani teleportasi Pemain Lokal yang saya manipulasi.
- Dalam kasus dunia multiplayer, sinkronisasi lokasi pemain lain juga diperlukan.
- Menggunakan komponen sinkronisasi dari contoh multiplayer, sinkronisasi posisi mudah untuk diterapkan.
:::



:::hint{type="info"}
**📘 Contoh Multiplay - Komponen Multiplay Zepeto**
[https://github.com/naverz/zepeto-multiplay-example/tree/main/Assets/Zepeto Multiplay Component](https://github.com/naverz/zepeto-multiplay-example/tree/main/Assets/Zepeto%20Multiplay%20Component)
:::

