การออกแบบแข็ง

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

การแก้ไขแบบขั้นสูง คือกระบวนการผสาน ชิ้นส่วน ด้วยวิธีที่ไม่เหมือนกันเพื่อสร้างรูปร่างที่ซับซ้อนมากขึ้นที่รู้จักในชื่อ การผสาน หรื

Studio's Model tab with the Solid Modeling tools highlighted.
เครื่องมือลัดคำอธิบาย
สหภาพ 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.

Block and cylinder parts overlapping

เพื่อผสานชิ้นส่วนเข้าด้วยกันเป็นสหภาพ:

  1. เลือกชิ้นส่วนทั้งหมดเพื่อรวมกัน
  2. คลิกปุ่ม สหภาพ ทั้งหมด ชิ้นส่วนทั้งหมดจะผสานเป็นหนึ่งเดียวกันใน UnionOperation ด้วยชื่อ สหภาพ Union tool indicated in Model tab

ชิ้นส่วนเชื่อมต่อ

เครื่องมือ ตรงขึ้น ใช้เพื่อผสานชิ้นส่วนที่ซ้องกันเป็นหนึ่งเป็น IntersectOperation โดยปกติ สีหน้าของผลลัพธ์จะได้รับจ

Block and cylinder parts overlapping

เพื่อให้ส่วนที่เหนียวของชิ้นส่วนที่ตรงกัน:

  1. เลือกชิ้นส่วนทั้งหมดเพื่อให้เชื่อมต่อ
  2. คลิกปุ่ม สามารถตัดผ่านได้ ทั้งหมดของชิ้นส่วนจะผสานเป็นหนึ่งเดียวกันในฐาน IntersectOperation ด้วยชื่อ สามารถตัดผ่านได้ Intersect tool indicated in Model tab

การเปลี่ยนแปลงที่เป็นลบ

เครื่องมือ ยกเลิก ยกเลิกส่วนหนึ่งเพื่อให้เมื่อมัน ผสานกับอีกส่วนหนึ่ง รูปร่างของส่วนที่ยกเลิกจะเป็น ลบ จากอีกส่วนหนึ่ง

Negated block overlapping a cylinder

เพื่อลบส่วนหนึ่งออกจากอีกส่วนหนึ่งที่เหลือกัน:

  1. เลือกส่วนที่คุณต้องการจะลบออกจากส่วนอื่น

  2. คลิก ลบ ส่วน ส่วนกลายเป็น NegateOperation ด้วยชื่อ NegativePart และกลายเป็นสีชมพูและเปลือบเพื่อแสดงสถานะของมัน

    Negate tool indicated in Model tab
  3. เลือกทั้งส่วนที่เป็นลบและส่วนที่คุณต้องการลบ

  4. คลิก สหภาพ ส่วนที่ถูกตัดออกจากส่วนรวมกัน

    Union tool indicated in Model tab

การแยกการเชื่อมต่อหรือการแยก

เครื่องมือ แยก แยก Class.UnionOperation กลับเป็นส่วนตัวของมันโดยให้บริการเป็นเครื่องมือ "ยกเลิก" สำหรับสหภาพและการเข้าสู่กัน

เพื่อแยกสหภาพหรือสายเชื่อมกลับเป็นชิ้นส่วนแต่ละอัน:

  1. เลือก UnionOperation

  2. คลิก แยก ส่วนออกจากรูปร่างเดิมของพวกเขา

    Separate tool indicated in Model tab

ความสมจริงในการเรนเดอร์

โดยปกติใหม่อันทรงแบบที่มีรายละเอียดจะแสดงใน 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