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
ค่านี้เป็นตัวแทนจุดมุ่งหมายในองศาในองศาในองศาเป็นองศาระหว่างปกติของค่าปกติใน โมเดลที่มีเส้นสาย ส่วน หากค่านิยมน้อยกว่าค่าปกติจะป
หมายเหตุว่าการลดเรียบเนียนไม่ส่งผลต่อค่าตัวอย่างระหว่างวัสดุที่แตกต่างกันหรือสีที่แตกต่างกัน

<figcaption><code>Class.PartOperation.SmoothingAngle|SmoothingAngle</code> = 0</figcaption>

<figcaption><code>Class.PartOperation.SmoothingAngle|SmoothingAngle</code> = 50</figcaption>
UsePartColor
ตั้งค่าว่า PartOperation สามารถเปลี่ยนสีได้โดยใช้สมบัติของ BasePart.Color หรือ BasePart.BrickColor
วิธีการ
SubstituteGeometry
สามารถใช้รูปร่างของ PartOperation นี้ด้วยรูปร่างของ PartOperation อื่น ๆ ได
หมายเหตุว่าหากคุณเรียกวิธีนี้ใน PartOperation ด้วยลูกหนอง Attachments หรือ Constraints คุณควรคำนวณตัวอย่างที่ได้รับ
พารามิเตอร์
Class.PartOperation ซึ่งจะใช้ภาพวาดของนี้ PartOperation เพื่อแทนที่ภาพวาดของนี้
ส่งค่ากลับ
ตัวอย่างโค้ด
The following example substitutes the geometry of one PartOperation with the geometry of another PartOperation, then drops constraints/attachments that should not be preserved after substitution.
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