สร้างโลกของคุณเอง
ผู้เล่นและตัวละคร: ขั้นสูง
การเปลี่ยนพื้นที่การชนของตัวละคร ZEPETO
3 นาที
ไม่ว่าจะเป็นรูปร่างของตัวละคร zepeto ขนาดของพื้นที่การชนของตัวควบคุมตัวละครจะเหมือนกันสำหรับทุกตัว พื้นที่การชนของตัวควบคุมตัวละครถูกปรับให้เหมาะกับรูปร่างพื้นฐานของร่างกายและมีรูปทรงกระ silinder ในโหมด scene ของการทำงาน โดยการเลือกตัวละคร zepeto ที่สร้างขึ้น คุณสามารถดูพื้นที่การชนของตัวควบคุมตัวละครได้ ความสูงของตัวละคร zepeto อาจแตกต่างกันไปตามรูปร่างของร่างกายหรือสิ่งของที่สวมใส่ เมื่อมีความแตกต่างอย่างมีนัยสำคัญจากรูปร่างพื้นฐาน พื้นที่การชนอาจดูไม่เป็นธรรมชาติในบางครั้ง 📘 กรุณาอ้างอิงจากคู่มือต่อไปนี้ \[ การวัดความสูงของตัวละครของคุณ docid\ l21v3jmhdml4quui8uuwk ] ในกรณีเช่นนี้ คุณสามารถปรับค่า collider ของตัวควบคุมตัวละครโดยใช้สคริปต์ในระหว่างการทำงานได้ ความสูง ความสูงของพื้นที่การชน ศูนย์กลาง แกนกลางของพื้นที่การชน รัศมี รัศมีของพื้นที่การชน โปรดทราบ ค่าที่ใช้ในตัวอย่างถูกตั้งค่าไว้สำหรับโลกทดสอบและบัญชีทดสอบ ปรับการตั้งค่าให้เหมาะสมกับโลกของคุณ ในตัวอย่าง ค่ารัศมีไม่ได้ถูกเปลี่ยนแปลง import {humanbodybones, vector3, waitforendofframe, waitforseconds } from 'unityengine'; import {knowsockets, localplayer, zepetoplayers, zepetoplayer } from 'zepeto character controller'; import { zepetoscriptbehaviour } from 'zepeto script'; export default class changecollider extends zepetoscriptbehaviour { private localplayer localplayer; start() { zepetoplayers instance onaddedlocalplayer addlistener(() => { this localplayer = zepetoplayers instance localplayer; // วัดความสูงของตัวละครท้องถิ่น this startcoroutine(this cogetzepetoheight(this localplayer zepetoplayer)); }); } cogetzepetoheight(zepeto zepetoplayer) { yield new waitforendofframe(); const headposition = zepeto character getsocket(knowsockets head upper) position; const leftfootposition = zepeto character zepetoanimator getbonetransform(humanbodybones leftfoot) position; const rightfootposition = zepeto character zepetoanimator getbonetransform(humanbodybones rightfoot) position; const charactercenter = vector3 lerp(leftfootposition, rightfootposition, 0 5); const characterheight = vector3 distance(headposition, charactercenter); // ความสูงของตัวละครท้องถิ่น console log(characterheight); // ตั้งค่าความสูงและจุดศูนย์กลางตามอัตราส่วน โดยสมมติว่าความสูงของรูปร่างพื้นฐานอยู่ที่ประมาณ 0 85 let controllerheight = characterheight / 0 85 1 2; let controllercentery = controllerheight / 2; this localplayer zepetoplayer character charactercontroller height = controllerheight; this localplayer zepetoplayer character charactercontroller center = new vector3(0, controllercentery, 0); } } สคริปต์ที่จำเป็นเกี่ยวข้องกับการเข้าถึงตัวควบคุมตัวละครและการปรับเปลี่ยนค่าของคุณสมบัติ this localplayer zepetoplayer character charactercontroller height = number; this localplayer zepetoplayer character charactercontroller center = vector3; อาจมีกรณีที่คุณไม่สามารถวัดความสูงได้อย่างถูกต้องสำหรับอวตารที่สวมใส่ไอเท็มเฉพาะที่ไม่ซ้ำกันบางอย่าง