สร้างโลกของคุณเอง
ผู้เล่นและตัวละคร: ขั้นสูง
ตัวอย่างมุมมอง FPS/TPS
2นาที
นี่คือตัวอย่างการตั้งค่าการควบคุม fps/tps。 ขั้นตอนที่ 1 แก้ไขตำแหน่งกล้อง เพื่อแก้ไขกล้องใน tps ให้ไปที่ zepetoplayers > zepetocamera > zoom และตั้งค่า min และ max ให้เท่ากัน ตั้งค่า look offset y ให้เป็น 0 1。 เพื่อแก้ไขกล้องใน fps ให้ไปที่ zepetoplayers > zepetocamera > zoom และตั้งค่า min และ max ให้เป็น 1 ตั้งค่า look offset y เป็น 0 1。 ขั้นตอนที่ 2 การเขียนสคริปต์ เพิ่มสคริปต์ที่ใช้การหมุนของกล้องไปยังการหมุนของตัวละคร เพิ่มสคริปต์เพื่อแก้ไขการหมุนของตัวละครโดยรับข้อมูลการหมุนกล้อง (ondragevent) import { zepetoscriptbehaviour } from 'zepeto script'; import { zepetoplayers, zepetocharacter, zepetoscreentouchpad, zepetocamera } from 'zepeto character controller'; import { vector3, time, quaternion} from 'unityengine'; import { zepetoinputcontrol } from 'rootnamespace'; export default class tpscontroller extends zepetoscriptbehaviour { private zepetoscreenpad zepetoscreentouchpad; private mycharacter zepetocharacter; private myinputcontrol zepetoinputcontrol; private mycamera zepetocamera; awake() { this myinputcontrol = new zepetoinputcontrol(); } start() { this myinputcontrol enable(); zepetoplayers instance onaddedlocalplayer addlistener(() => { this mycamera = zepetoplayers instance localplayer zepetocamera; this mycharacter = zepetoplayers instance localplayer zepetoplayer character; this zepetoscreenpad = zepetoplayers instance gameobject getcomponentinchildren\<zepetoscreentouchpad>(); this zepetoscreenpad ondragevent addlistener(deltavector => { console log(`\[ondragevent] ${deltavector tostring()}`); // การหมุนของกล้องจะถูกแก้ไขตามการหมุนของตัวละคร zepetoplayers instance zepetocamera transform rotatearound(this mycharacter transform position, vector3 up, deltavector x time deltatime 80); }); }); } update() { if ((null == this mycharacter) || (null == this mycamera)) { return; } const lookaxisrot = quaternion lookrotation(this mycamera cameraparent forward); const projrot = vector3 projectonplane(lookaxisrot eulerangles, vector3 right); // ทำให้การหมุนของตัวละครตรงกับทิศทางข้างหน้า ของกล้อง this mycharacter gameobject transform rotation = quaternion euler(projrot); } }