การแก้ไขแบบขั้นสูง คือกระบวนการผสาน ชิ้นส่วน ด้วยวิธีที่ไม่เหมือนกันเพื่อสร้างรูปร่างที่ซับซ้อนมากขึ้นที่รู้จักในชื่อ การผสาน หรื
เครื่องมือ | ลัด | คำอธิบาย |
---|---|---|
สหภาพ | Shift CtrlG (Windows) Shift 1> ⌘1> 3> G3> (Mac) | รวมสองหรือมากขึ้นของชิ้นส่วนเพื่อสร้างสหภาพที่แข็งแกร่ง |
สามารถตรงขึ้นได้ | Shift CtrlI (Windows) Shift 1> ⌘1> 3> I3> (Mac) | ผสานชิ้นส่วนที่ซ้องกันเป็นช่องเชิงสีเดียว |
ปฏิเสธ | Shift CtrlN (Windows) Shift 1> ⌘1> 3> N3> (Mac) | ลบชิ้นส่วน มีประโยชน์สำหรับการสร้างหลุมและการเจาะ |
แยกกับ | Shift CtrlU (Windows) Shift 1> ⌘1> 3> U3> (Mac) | แยกสหภาพหรือสายเชื่อมกลับเป็นส่วนของตัวเอง |
การผสาน Parts
เครื่องมือ สหภาพ รวบรวมสองหรือมากกว่าส่วนร่วมด้วยกันเพื่อสร้างสหภาพเดียว โดยปกติเครื่องมือสหภาพจะเคารพค่า Class.BasePart.
เพื่อผสานชิ้นส่วนเข้าด้วยกันเป็นสหภาพ:
- เลือกชิ้นส่วนทั้งหมดเพื่อรวมกัน
ชิ้นส่วนเชื่อมต่อ
เครื่องมือ ตรงขึ้น ใช้เพื่อผสานชิ้นส่วนที่ซ้องกันเป็นหนึ่งเป็น IntersectOperation โดยปกติ สีหน้าของผลลัพธ์จะได้รับจ
เพื่อให้ส่วนที่เหนียวของชิ้นส่วนที่ตรงกัน:
- เลือกชิ้นส่วนทั้งหมดเพื่อให้เชื่อมต่อ
- คลิกปุ่ม สามารถตัดผ่านได้ ทั้งหมดของชิ้นส่วนจะผสานเป็นหนึ่งเดียวกันในฐาน IntersectOperation ด้วยชื่อ สามารถตัดผ่านได้
การเปลี่ยนแปลงที่เป็นลบ
เครื่องมือ ยกเลิก ยกเลิกส่วนหนึ่งเพื่อให้เมื่อมัน ผสานกับอีกส่วนหนึ่ง รูปร่างของส่วนที่ยกเลิกจะเป็น ลบ จากอีกส่วนหนึ่ง
เพื่อลบส่วนหนึ่งออกจากอีกส่วนหนึ่งที่เหลือกัน:
เลือกส่วนที่คุณต้องการจะลบออกจากส่วนอื่น
คลิก ลบ ส่วน ส่วนกลายเป็น NegateOperation ด้วยชื่อ NegativePart และกลายเป็นสีชมพูและเปลือบเพื่อแสดงสถานะของมัน
เลือกทั้งส่วนที่เป็นลบและส่วนที่คุณต้องการลบ
คลิก สหภาพ ส่วนที่ถูกตัดออกจากส่วนรวมกัน
การแยกการเชื่อมต่อหรือการแยก
เครื่องมือ แยก แยก Class.UnionOperation กลับเป็นส่วนตัวของมันโดยให้บริการเป็นเครื่องมือ "ยกเลิก" สำหรับสหภาพและการเข้าสู่กัน
เพื่อแยกสหภาพหรือสายเชื่อมกลับเป็นชิ้นส่วนแต่ละอัน:
เลือก UnionOperation
คลิก แยก ส่วนออกจากรูปร่างเดิมของพวกเขา
ความสมจริงในการเรนเดอร์
โดยปกติใหม่อันทรงแบบที่มีรายละเอียดจะแสดงใน Automatic ความสนิทสนมระหว่างรุ่น หมายถึงรายละเอียดของชิ้นส่วนจะขึ้นอยู่กับระยะจากกล้องที่ระบุในตารางด้านล่าง
ระยะห่างจากกล้อง | ความสมจริงในการเรนเดอร์ |
---|---|
น้อยกว่า 250 สตั๊ด | สูงสุด |
250-500 มม. | ปานกลาง |
500 หรือมากกว่า studs | ต่ำสุด |
เรียบเหลี่ยมมุม
ส่วน SmoothingAngle สมบูรณ์ด้วยมุมมองที่เรียบเนียนระหว่างพื้นผิวที่อยู่ติดกันของสีหรือวัสดุเดียวกัน มูลค่าสูงขึ้น
ขณะที่ค่าระหว่าง 30 และ 70 องศามักจะผลิตผลลัพธ์ที่ดี แต่ค่าระหว่าง 90 และ 180 ไม่แนะนำเนื่องจากอาจทำให้เกิด "เงา" บนสหภาพและการเข้าสู่สายเกี่ยวกับขอบที่คม
การจำลองที่มีประสบการณ์
นอกจากเครื่องมือ การผสานการเชื่อมต่อ และ <
คู่มือการใช้งาน UnionAsync()
เพื่อแสดง UnionAsync() ใช้ Script จากพื้นที่งานของคุ
local mainPart = workspace.Part1
local otherParts = {workspace.Part2, workspace.Part3, workspace.Part4}
-- ประมูลการใช้งาน
local success, newUnion = pcall(function()
return mainPart:UnionAsync(otherParts)
end)
-- หากการดำเนินการประสบความสำเร็จให้ตำแหน่งมันที่นี่และแม่น้ำมันไปยังพื้นที่ทำงาน
if success and newUnion then
newUnion.Position = mainPart.Position
newUnion.Parent = workspace
end
-- ทำลายชิ้นส่วนดั้งเดิมที่เหลืออยู่หลังการดำเนินการ
mainPart:Destroy()
for _, part in otherParts do
part:Destroy()
end
IntersectAsync()
เพื่อแสดง IntersectAsync() ต่อไปนี้ Script ใช้ Part1 2> Class.BasePart
local mainPart = workspace.Part1
local otherParts = {workspace.Part2, workspace.Part3}
-- ปฏิบัติการตัดผ่าน
local success, newIntersect = pcall(function()
return mainPart:IntersectAsync(otherParts)
end)
-- หากการดำเนินการประสบความสำเร็จให้ตำแหน่งมันที่นี่และแม่น้ำมันไปยังพื้นที่ทำงาน
if success and newIntersect then
newIntersect.Position = mainPart.Position
newIntersect.Parent = workspace
end
-- ทำลายชิ้นส่วนดั้งเดิมที่เหลืออยู่หลังการดำเนินการ
mainPart:Destroy()
for _, part in otherParts do
part:Destroy()
end
ลบ SubtractAsync()
เพื่อแสดง SubtractAsync() ต่อไปนี้ Script ใช้ Part1</
local mainPart = workspace.Part1
local otherParts = {workspace.Part2, workspace.Part3, workspace.Part4}
-- ปฏิบัติการลบ
local success, newSubtract = pcall(function()
return mainPart:SubtractAsync(otherParts)
end)
-- หากการดำเนินการประสบความสำเร็จให้ตำแหน่งมันที่นี่และแม่น้ำมันไปยังพื้นที่ทำงาน
if success and newSubtract then
newSubtract.Position = mainPart.Position
newSubtract.Parent = workspace
end
-- ทำลายชิ้นส่วนดั้งเดิมที่เหลืออยู่หลังการดำเนินการ
mainPart:Destroy()
for _, part in otherParts do
part:Destroy()
end