PartOperation
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
คลาสที่มีเอกลักษณ์ที่พิเศษซึ่งรวมถึง การจำลอง ทั้งหมด
สรุป
คุณสมบัติ
ระดับรายละเอียดที่ใช้ในการเรนเดอร์ชิ้นส่วนที่มีรูปร่างเหมือนของแข็ง
มุมในองศาที่ส่งผลต่อการเรียบเนียนของชิ้นส่วนที่แข็งแกร่ง
จำนวนโพลิงในแบบของแข็งนี้
ตั้งค่าว่า PartOperation สามารถรีโคลสีได้โดยใช้คุณสมบัติสีที่มีอยู่หรือไม่
กำหนดระดับรายละเอียดที่ระดับฟิสิกส์ของชิ้นส่วนจะแนบมาในเมช
กำหนดการแปลงทางภาพที่ใช้ในการคำนวณแรงโน้มถ่วงและแรงผลัก
กำหนดว่าชิ้นส่วนนั้นเป็นของเหนียวตามธรรมชาติหรือไม่
ความเร็วมุมของการประกอบของชิ้นส่วน
ศูนย์กลางของพลังงานในการประกอบของชิ้นส่วนในอวกาศ
ความเร็วที่เฉียบขาดของการประกอบของชิ้นส่วน
พลังงานทั้งหมดของการประกอบของชิ้นส่วน
อ้างอิงถึงส่วนรากของการประกอบ
กำหนดประเภทของพื้นผิวสำหรับหน้าด้านหลังของชิ้นส่วน (+Z ทิศทาง)
กำหนดประเภทของพื้นผิวสำหรับด้านล่างของชิ้นส่วน (-Y ทิศทาง)
กำหนดสีของชิ้นส่วน
กำหนดตำแหน่งและทิศทางของ BasePart ในโลก
กำหนดว่าชิ้นส่วนอาจชนกับชิ้นส่วนอื่น
กำหนดว่าจะใช้การสอบถามข้อมูลทางอาณาเขตในขั้นตอนการประมวลผลหรือไม่
กำหนดว่า Touched และ TouchEnded เหตุการณ์จะเกิดขึ้นบนชิ้นส่วน
กำหนดว่าจะมีเงาหรือไม่มีเงา
อธิบายตำแหน่งกลางของมวลของชิ้นส่วน
อธิบายชื่อกลุ่มความสามัคคีของชิ้นส่วน
กำหนดสีของชิ้นส่วน
ระบุลักษณะทางกายภาพปัจจุบันของชิ้นส่วน
กำหนดสมบัติภาพทางกายภาพหลายอย่างของชิ้นส่วน
ใช้เพื่อเปิดใช้งานหรือปิดการใช้งานแรงโน้มถ่วงบนชิ้นส่วนและการประกอบ
ขนาดทางกายภาพจริงของ BasePart ตามที่เครื่องจักรฟิสิกส์มองว่า
กำหนดประเภทของพื้นผิวสำหรับหน้าผากของชิ้นส่วน (-Z ทิศทาง)
กำหนดประเภทของพื้นผิวสำหรับหน้าซ้ายของชิ้นส่วน (-X ทิศทาง)
กำหนดตัวคูณสำหรับ BasePart.Transparency ที่มองเห็นได้เฉพาะลูกค้าท้องถิ่นเท่านั้น
กำหนดว่าจุดส่วนหนึ่งสามารถเลือกได้ใน Studio
อธิบายปริมาณของชิ้นส่วน ผลิตภัณฑ์ของความหนาแน่นและปริมาณ
กำหนดว่าส่วนหนึ่งมีส่วนร่วมกับพลังงานทั้งหมดหรือความต้องการในตัวเองของร่างกายที่แข็งแกร่ง
กำหนดคุณสมบัติและคุณสมบัติทางกายภาพปกติของชิ้นส่วน
ชื่อของ MaterialVariant
อธิบายการหมุนของชิ้นส่วนในโลก
ระบุค่าเฉลี่ยของส่วนหมุนจาก Datatype.CFrame ของมัน
อธิบายตำแหน่งของชิ้นส่วนในโลก
เวลาตั้งแต่อัปเดตฟิสิกส์ครั้งล่าสุด
กำหนดว่าส่วนใดสะท้อนสกายบ็อกซ์ได้มาก
อธิบายการเปลี่ยนแปลงขนาดเล็กสุดที่อนุญาตโดยวิธีขยาย
อธิบายใบหน้าที่ส่วนหนึ่งอาจเปลี่ยนขนาด
กำหนดประเภทของพื้นผิวสำหรับด้านขวาของชิ้นส่วน (+X ทิศทาง)
กฎหลักในการกำหนดราก้อนของการประกอบการ
การหมุนของส่วนในองศาสำหรับสามแกน
กำหนดความสูงของชิ้นส่วน (ความสูง) ความกว้าง (ความกว้าง) และความสูง (ความสูง)
กำหนดประเภทของพื้นผิวสำหรับหน้าด้านบนของชิ้นส่วน (+Y ทิศทาง)
กำหนดว่าส่วนหนึ่งสามารถมองเห็นได้มากเท่าไหร่ (คือสิ่งที่ผิดพลาดของความโปร่งใสของส่วน)
วิธีการ
แทนที่รูปร่างของ PartOperation ด้วยรูปร่างของ PartOperation อื่น
ใช้แรงผลักแบบมุมเพื่อประกอบ
ใช้แรงผลักในการประยุกต์ใช้งานต่อวงจรที่ center of mass
ใช้แรงผลักไปยังการประกอบในตำแหน่งที่กำหนด
กลับว่าชิ้นส่วนสามารถชนกันได้หรือไม่
ตรวจสอบว่าคุณสามารถตั้งค่าเครือข่ายของบางส่วนได้หรือไม่
กลับตารางของชิ้นส่วนที่เชื่อมต่อกับวัตถุโดยประเภทของข้อต่อที่แข็งแกร่ง
กลับส่วนของร่วมหรือข้อจํากัดที่เชื่อมต่อกับส่วนนี้
กลับค่าของสมบัติสินค้า Mass
กลับผู้เล่นปัจจุบันที่เป็นเจ้าของเครือข่ายของส่วนนี้ หรือ zero ในกรณีของเซิร์ฟเวอร์
กลับ true หากเครื่องยนต์เกมตัดสินผู้สมัครเครือข่ายสำหรับส่วนนี้โดยอัตโนมัติ
กลับส่วนปูมของการรวบรวมของชิ้นส่วน
กลับตารางของ all BasePart.CanCollide ชิ้นส่วนที่เป็นส่วนหนึ่งกับส่วนนี้
กลับค่าความเร็วเส้นที่เป็นลินเนียมของการประกอบของชิ้นส่วนที่ให้ไว้ในตำแหน่งนี้เมื่อเปรียบเทียบกับตำแหน่งนี้
กลับ true หากวัตถุเชื่อมต่อกับส่วนที่จะรองรับมันในที่ (เช่น Anchored ส่วน) ยกเว้นกลับ false หากเป็นกรณีอื่น
เปลี่ยนขนาดของวัตถุเหมือนการใช้เครื่องมือขยายขนาดใน Studio
ตั้งผู้เล่นที่ให้เป็นเจ้าของเครือข่ายสำหรับส่วนนี้และส่วนที่เชื่อมต่ออื่น ๆ
ให้เครื่องมือเกมตัดสินใจได้อย่างไดนามิกว่าใครจะดูแลฟิสิกส์ของชิ้นส่วน (หนึ่งในลูกค้าหรือเซิร์ฟเวอร์)
- IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
สร้าง IntersectOperation ใหม่จากเหลี่ยมของผลิตภัณฑ์และอื่น ๆ ในค่าย่อที่ให้
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
สร้าง UnionOperation ใหม่จากส่วน โดยลบภูมิที่เป็นรูปสี่เหลี่ยมจากส่วนที่อยู่ในแผนที่ที่ให้
- UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
สร้าง UnionOperation ใหม่จากส่วน รวมถึงภาพที่เป็นรูปร่างที่ครอบครองพื้นที่ส่วนในแผงที่ให้
รับ pivot ของ Class.PVInstance
แปลง PVInstance พร้อมกับบรรพบุรุษทั้งหมดของมัน PVInstances เพื่อให้ pivot ตอนนี้อยู่ที่ CFrame ที่กำหนด
อีเวนต์
อีเวนต์รับทอดมาจากBasePartเกิดขึ้นเมื่อชิ้นส่วนหยุดแตะอีกชิ้นส่วนในผลมาจากการเคลื่อนที่ทางกายภาพ
เกิดขึ้นเมื่อชิ้นส่วนสัมผัสกับอีกชิ้นส่วนในผลมาจากการเคลื่อนที่ทางกายภาพ
คุณสมบัติ
RenderFidelity
สมบัตินี้กำหนดระดับรายละเอียดที่ชิ้นส่วนที่มีรายละเอียดเป็นรูปตัวอักษรจะปรากฏใน มันสามารถตั้งค่าได้เป็นค่าที่เป็นไปได้ของ Enum.RenderFidelity ค่า
ค่าเริ่มต้นคือ Automatic ซึ่งหมายถึงรายละเอียดของชิ้นส่วนนั้นขึ้นอยู่กับระยะทางจากกล้องที่ระบุในตารางด้านล่าง
<tbody><tr><td>น้อยกว่า 250 สตั๊ด</td><td>สูงสุด</td></tr><tr><td>250-500 มม.</td><td>ปานกลาง</td></tr><tr><td>500 หรือมากกว่า studs</td><td>ต่ำสุด</td></tr></tbody>
ระยะห่างจากกล้อง | ความสมจริงในการเรนเดอร์ |
---|
SmoothingAngle
ค่านี้เป็นตัวแทนจุดมุ่งหมายในองศาในองศาในองศาเป็นองศาระหว่างปกติของค่าปกติใน โมเดลที่มีเส้นสาย ส่วน หากค่านิยมน้อยกว่าค่าปกติจะป
หมายเหตุว่าการลดเรียบเนียนไม่ส่งผลต่อค่าตัวอย่างระหว่างวัสดุที่แตกต่างกันหรือสีที่แตกต่างกัน
UsePartColor
ตั้งค่าว่า PartOperation สามารถเปลี่ยนสีได้โดยใช้สมบัติของ BasePart.Color หรือ BasePart.BrickColor
วิธีการ
SubstituteGeometry
สามารถใช้รูปร่างของ PartOperation นี้ด้วยรูปร่างของ PartOperation อื่น ๆ ได
หมายเหตุว่าหากคุณเรียกวิธีนี้ใน PartOperation ด้วยลูกหนอง Attachments หรือ Constraints คุณควรคำนวณตัวอย่างที่ได้รับ
พารามิเตอร์
Class.PartOperation ซึ่งจะใช้ภาพวาดของนี้ PartOperation เพื่อแทนที่ภาพวาดของนี้
ส่งค่ากลับ
ตัวอย่างโค้ด
local GeometryService = game:GetService("GeometryService")
local mainPart = workspace.PurpleBlock
local otherParts = {workspace.BlueBlock}
local options = {
CollisionFidelity = Enum.CollisionFidelity.Default,
RenderFidelity = Enum.RenderFidelity.Automatic,
SplitApart = false
}
local constraintOptions = {
tolerance = 0.1,
weldConstraintPreserve = Enum.WeldConstraintPreserve.All
}
-- Perform union operation in pcall() since it's asyncronous
local success, newParts = pcall(function()
return GeometryService:UnionAsync(mainPart, otherParts, options)
end)
if success and #newParts > 0 and mainPart:IsA("PartOperation") then
-- Set first part in resulting operation as part to use for substitution
-- First part is simply an option; this can be any PartOperation
local substitutePart = newParts[1]
-- Reposition part to the position of main part
substitutePart.CFrame = mainPart.CFrame
-- Calculate constraints/attachments to either preserve or drop
local recommendedTable = GeometryService:CalculateConstraintsToPreserve(mainPart, newParts, constraintOptions)
-- Substitute main part's geometry with substitution geometry
mainPart:SubstituteGeometry(substitutePart)
-- Drop constraints/attachments that are not automatically preserved with substitution
for _, item in pairs(recommendedTable) do
if item.Attachment then
if item.ConstraintParent == nil then
item.Constraint.Parent = nil
end
if item.AttachmentParent == nil then
item.Attachment.Parent = nil
end
elseif item.WeldConstraint then
if item.Parent == nil then
item.WeldConstraint.Parent = nil
end
end
end
-- Destroy other parts
for _, otherPart in pairs(otherParts) do
otherPart.Parent = nil
otherPart:Destroy()
end
end