เพื่อสนับสนุนกลไกทางกายภาพที่ซับซ้อนในขณะที่เล็งไปที่ประสบการณ์ที่เรียบเรียงและตอบสนองสำหรับผู้เล่น, เครื่องยนต์
ลูกค้าได้รับประสบการณ์ ที่ตอบสนองได้มากขึ้น ปฏิสัมพันธ์กับส่วนที่พวกเขาเป็นเจ้าของเนื่องจากไม่มีความแลคจากการสื่อสารกับเซิร์ฟเวอร์ การเป็นเจ้าของเครือข่ายยังปร
สิทธิเป็นเจ้าของ BasePart
โดยปกติ, เซิร์ฟเวอร์จะเก็บครอบครองของใด ๆ BasePart แต่นอกจากนี้, เซิร์ฟเวอร์ เสมอ เป็นเจ้าของ BaseParts และคุณไม่สามารถเปลี่ยนเปลี่ยนเจ้าของได้โดยตรง
ขึ้นอยู่กับความจุของฮาร์ดแวร์ของลูกค้าและความใกล้ชิดของผู้เล่นกับ Player.Character ที่ไม่มีต้นไม้ ดังนั้นส่วนที่อยู่ใกล้กับตัวละครของผู้เล่นจะมีความเป็น
ความเป็นเจ้าของการประกอบ
หากไม่มีชิ้นส่วนที่แนบมัดในระบบฟิสิกส์ การตั้งค่าสิทธิเป็นเจ้าของในอะไหล่ภายในระบบฟิสิกส์จะตั้งค่าสิทธิเป็นเจ้าของสำหรับทุกอะไหล่ในระบบ
หากคุณแนบการประกอบการที่ไม่ใช่ส่วนหนึ่งของ mekanisme กว้างขวางใด ๆ ก็ตามการเป็นเจ้าของมันไปที่เซิร์ฟเวอร์เนื่องจากเซิร์ฟเวอร์มักจะเป็นเจ้าของแนบ Class.BasePart|BaseParts
หากคุณแนบอะไหนหนึ่งชุดคอมพิลเลตในเครื่องมือการแกะกะของอะไหล่ สิทธิเป็นเจ้าของของมันไปยังเซิร์ฟเวอร์ แต่สิทธิเป็นเจ้าของอะไหล่อื่นๆ ยังคงเป็นไปตามที่เป็นอยู่ ปลดแนบอะไหนเดียวก็จะยกคืนส
การตั้งค่าสิทธิเป็นเจ้าของ
ในการใช้งานที่มีการโต้ตอบทางฟิสิกส์ที่ซับซ้อนหรือในกรณีที่คุณต้องการการควบคุมโดยตรงคุณสามารถตั้งค่าการเป็นเจ้าของผ่านการโทรกรรมจากเซิร์ฟเวอร์ไปยัง BasePart:SetNetworkOwner()
พิจารณารถที่มี VehicleSeat วัตถุสำหรับผู้ขับขี่และ Seat วัตถ
การแก้ไขนี้ Script แก้ไขสิ่งนี้โดยการกำหนดเป็นเจ้า
local Players = game:GetService("Players")
local vehicleSeat = script.Parent
vehicleSeat.Changed:Connect(function(prop)
if prop == "Occupant" then
local humanoid = vehicleSeat.Occupant
if humanoid then
-- รับผู้เล่นจากตัวละคร
local player = Players:GetPlayerFromCharacter(humanoid.Parent)
if player then
vehicleSeat:SetNetworkOwner(player)
end
else
-- รีเซ็ตการเป็นเจ้าของเมื่อที่นั่งไม่ได้ใช้งาน
vehicleSeat:SetNetworkOwnershipAuto()
end
end
end)
การเห็นภาพเป็นเจ้าของ
เพื่อช่วยให้การดีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบีบ
สีขอบเขต | คำอธิบาย | |
---|---|---|
(สีเขียว) | ลูกค้าของคุณเป็นเจ้าของส่วนนี้และกำลังจำลองมัน | |
(สีแดง) | ชิ้นส่วนอยู่ภายใน "โซนบุฟเฟอร์" ที่ลูกค้าของคุณกำลังจำลอง แต่มันยังเป็นของอื่น | |
(สีขาว/สีเทา) | เซิร์ฟเวอร์หรือลูกค้าอื่น ๆ เป็นเจ้าของส่วนผ่านการเป็นเจ้าของเครือข่ายอัตโนมัติหรือจากการกำหนดโดยตรงผ่าน part:SetNetworkOwner() |
เพื่อเปิดใช้งานการเห็นภาพเครือข่าย:
คลิกปุ่ม ตัวเลือกการประมวลผลทางสายตา ในมุมด้านขวาของ 3D viewport
ในเมนูดรอปดาวน์เปิด เจ้าของเครือข่าย
ความกังวลด้านความปลอดภัย
Roblox ไม่สามารถตรวจสอบการคํานวณฟิสิกส์เมื่อเครื่องมือมีความเป็นเจ้าของ BasePart เครื่องมือสามารถใช้ประโยชน์จากสิ่งนี้และส่งข้อมูลไปยังเซิร์ฟเวอร์เช่นการเคลื่
นอกจากนี้เหตุการณ์ BasePart.Touched เซิร์ฟเวอร์
ดู กลยุทธ์ด้านความปลอดภัยและการป้องกัน สำหรับกลยุทธ์ด้านความปลอดภัยและการป้องกันการฉ้อโกงสำหรับประสบการณ์ Roblox