เป็นเจ้าของเครือข่าย

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

เพื่อสนับสนุนกลไกทางกายภาพที่ซับซ้อนในขณะที่เล็งไปที่ประสบการณ์ที่เรียบเรียงและตอบสนองสำหรับผู้เล่น, เครื่องยนต์

ลูกค้าได้รับประสบการณ์ ที่ตอบสนองได้มากขึ้น ปฏิสัมพันธ์กับส่วนที่พวกเขาเป็นเจ้าของเนื่องจากไม่มีความแลคจากการสื่อสารกับเซิร์ฟเวอร์ การเป็นเจ้าของเครือข่ายยังปร

สิทธิเป็นเจ้าของ 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()

เพื่อเปิดใช้งานการเห็นภาพเครือข่าย:

  1. คลิกปุ่ม ตัวเลือกการประมวลผลทางสายตา ในมุมด้านขวาของ 3D viewport

    A close up view of the 3D viewport with the Visualization Options button indicated in the upper-right corner.
  2. ในเมนูดรอปดาวน์เปิด เจ้าของเครือข่าย

ความกังวลด้านความปลอดภัย

Roblox ไม่สามารถตรวจสอบการคํานวณฟิสิกส์เมื่อเครื่องมือมีความเป็นเจ้าของ BasePart เครื่องมือสามารถใช้ประโยชน์จากสิ่งนี้และส่งข้อมูลไปยังเซิร์ฟเวอร์เช่นการเคลื่

นอกจากนี้เหตุการณ์ BasePart.Touched เซิร์ฟเวอร์

ดู กลยุทธ์ด้านความปลอดภัยและการป้องกัน สำหรับกลยุทธ์ด้านความปลอดภัยและการป้องกันการฉ้อโกงสำหรับประสบการณ์ Roblox