创造你的世界
玩家及角色:进阶
传送实现
9min
实现一个门户,通过它ZEPETO角色可以传送到两个不同的点。
![Document image Document image](https://archbee-image-uploads.s3.amazonaws.com/fCt3n1oCa8rgNJ8fw9I2N-xQUSTAIqb6XR3_ijDqhI3-20240904-102421.gif)
- 在场景中实现ZEPETO角色创建代码作为默认。
📘 请参考以下指南。[创建ZEPETO角色]
1) 创建传送点。
- 在本指南中,我们将其称为A点和B点。
- 创建一个层级 > 3D对象 > 平面,并将其重命名为Plane_A。
![Document image Document image](https://images.archbee.com/fCt3n1oCa8rgNJ8fw9I2N-YPfNLxuMmybV-RiO0UnQh-20240904-102421.png?format=webp)
2) 添加一个传送门对象以启动传送。
- 确保添加一个碰撞体以与对象交互。
- 调整区域的大小以检测碰撞。
- 确保检查是否为触发器。
![Document image Document image](https://images.archbee.com/fCt3n1oCa8rgNJ8fw9I2N-zsw3KDDtRnc65lbmesDh1-20240904-102421.png?format=webp)
3) 以相同的方式创建总共2个传送点。
![传送点A的示例 传送点A的示例](https://images.archbee.com/fCt3n1oCa8rgNJ8fw9I2N-esYtCDox6OMaljFjTWWNa-20240904-102421.png?format=webp)
传送点A的示例
![传送点B的示例 传送点B的示例](https://images.archbee.com/fCt3n1oCa8rgNJ8fw9I2N-vB1mUIZBJCc8INMKDEr_A-20240904-102421.png?format=webp)
传送点B的示例
- 调整位置以确保点不重叠。
![Document image Document image](https://images.archbee.com/fCt3n1oCa8rgNJ8fw9I2N-W8LMhFUKNiUbYj8h1QeEW-20240904-102421.png?format=webp)
1) 创建一个项目 > 创建 > ZEPETO > TypeScript,并将其重命名为 Teleport。
2) 编写如下示例脚本。
- 当在附加脚本的对象的碰撞区域内检测到与 ZEPETO 角色的碰撞时,逻辑将目标对象传送。
3) 完成脚本编写后,将脚本添加到将启动传送的 Portal 对象。
4) 在检查器中,分配目标对象。
- 目标对象 : 一个传送到达终点的传送门对象。
![Document image Document image](https://images.archbee.com/fCt3n1oCa8rgNJ8fw9I2N-y-PuKoPDgX5mbE1uVnOUE-20240904-102421.png?format=webp)
当ZEPETO角色靠近传送门时,将其从A点传送到B点。
![Document image Document image](https://images.archbee.com/fCt3n1oCa8rgNJ8fw9I2N-FjXBe_11wP8xMnFzwYT_M-20240904-102421.png?format=webp)
- 本指南仅处理我操控的本地玩家的传送。
- 在多人世界中,还需要同步其他玩家的位置。
- 使用多人示例的同步组件,位置同步易于实现。
📘 多人游戏示例 - Zepeto 多人游戏组件 https://github.com/naverz/zepeto-multiplay-example/tree/main/Assets/Zepeto Multiplay Component