สร้างโลกของคุณเอง
การเขียนสคริปต์
แท็ก & เลเยอร์
6นาที
คุณสามารถใช้ฟังก์ชัน Tag และ Layer จาก Unity ในการพัฒนาโลกได้
คุณสามารถใช้ฟังก์ชัน Tag ในลักษณะเดียวกับที่คุณใช้ใน Unity
❗️ ระวัง คุณสามารถใช้แท็กได้สูงสุด 64 แท็ก

ด้านล่างนี้คือตัวอย่างโค้ดสำหรับการตั้งค่าแท็กสำหรับตัวละคร ZEPETO
TypeScript
1import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
2import { ZepetoCharacter, ZepetoPlayer, ZepetoPlayers } from 'ZEPETO.Character.Controller';
3
4export default class PlayerTag extends ZepetoScriptBehaviour
5{
6 private zepetoCharacter :ZepetoCharacter;
7
8 Start()
9 {
10 ZepetoPlayers.instance.OnAddedLocalPlayer.AddListener(() => {
11 this.zepetoCharacter = ZepetoPlayers.instance.LocalPlayer.zepetoPlayer.character;
12 // ตั้งค่าแท็กผู้เล่น
13 this.zepetoCharacter.gameObject.tag = "Player";
14 });
15 }
16}
ด้านล่างนี้คือตัวอย่างโค้ดสำหรับการใช้ฟังก์ชัน Tag.
TypeScript
1import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
2import { GameObject } from 'UnityEngine';
3
4export default class TagExample extends ZepetoScriptBehaviour {
5
6 Start() {
7 let findObj = GameObject.FindGameObjectWithTag("customTag");
8 if (findObj != null) {
9 console.log(`name : ${findObj.name}`);
10 }
11 }
12}

📘 ข้อมูล Tag ของ Unity https://docs.unity3d.com/Manual/Tags.html
คุณสามารถใช้ฟังก์ชัน Layer ในลักษณะเดียวกับที่คุณใช้ใน Unity.
❗️ ระวัง คุณสามารถใช้ Layers หมายเลข 20 ถึง 27.


ต่อไปนี้คือตัวอย่างโค้ดในการตั้งค่าเลเยอร์สำหรับตัวละคร ZEPETO.
TypeScript
1import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
2import { ZepetoCharacter, ZepetoPlayer, ZepetoPlayers } from 'ZEPETO.Character.Controller';
3
4export default class PlayerLayer extends ZepetoScriptBehaviour
5{
6 private zepetoCharacter :ZepetoCharacter;
7
8 Start()
9 {
10 ZepetoPlayers.instance.OnAddedLocalPlayer.AddListener(() => {
11 this.zepetoCharacter = ZepetoPlayers.instance.LocalPlayer.zepetoPlayer.character;
12 // ตั้งค่า Player Layer
13 this.zepetoCharacter.gameObject.layer = 20;
14 });
15 }
16}
ต่อไปนี้คือตัวอย่างโค้ดสำหรับการใช้ฟังก์ชัน Layer.
TypeScript
1import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
2import { Camera, Input, Physics, RaycastHit } from 'UnityEngine';
3
4export default class LayerExample extends ZepetoScriptBehaviour {
5
6 Update() {
7 if (Input.GetMouseButtonDown(0)) {
8 let ray = Camera.main.ScreenPointToRay(Input.mousePosition);
9 let ref = $ref<RaycastHit>();
10
11 let layerMask = 1 << 20;
12
13 if (Physics.Raycast(ray, ref, 100, layerMask)) {
14 let hitInfo = $unref(ref);
15 console.log(`name : ${hitInfo.collider.gameObject.name}`);
16 }
17 }
18 }
19}

📘 ข้อมูล Layer ของ Unity https://docs.unity3d.com/Manual/Layers.html
อัปเดต 11 Oct 2024

หน้านี้ช่วยคุณได้หรือไม่?