DataModelMesh
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
DataModelMesh เป็นคลาสที่มีลักษณะอ้างอิงที่เรียบเรียงจากคลาสเมช
เครื่องมือ Mesh เป็นวัตถุที่เมื่อพ่อแม่สมาคร BaseParts เปลี่ยนแปลงลักษณะของชิ้นส่วนให้เป็นของชิ้นส่วนล่วงหน้า หมายเหตุพวกเขาเปล
หมายเหตุ MeshPart และ CharacterMesh คลาสไม่ได้มาจาก DataModelMesh
สรุป
คุณสมบัติ
ค่าเริ่มต้นของเมชกำหนดตำแหน่งที่สัมพันธ์จาก BasePart.Position ของเมชที่จะปรากฏที่นี่
ขนาดของเมชกำหนดขนาดของเมชเมื่อเปรียบเทียบกับขนาดเดิมของมัน
เปลี่ยนสีของเนื้อผ้าเมช ที่ใช้กับ FileMesh.TextureId
คุณสมบัติ
Offset
ค่าเริ่มต้นของเมชกำหนดระยะทางจาก BasePart.Position ของเมช BasePart ที่เมชจะปรากฏ
วิธีการใช้ค่าเครื่องชี้วัดของเมช
ค่า Offset เปลี่ยนตำแหน่งที่เมชจะแสดงได้ เช่น ออเฟ็ต 0, 5, 0 จะทำให้เมชปรากฏขึ้น 5 สตัดด้านเหนือตำแหน่งของ BasePart
ตําแหน่งของ BasePart ยังคงไม่เปลี่ยนแปลง ซึ่งหมายถึงกล่องสุ่มพลังงานของชิ้นส่วนจะอยู่ในตําแหน่งเดียวกัน สิ่งนี้แสดงในภาพด้านล่างที่มีเส้นสีเ
การใช้งานอื่น ๆ สำหรับเมชรอง
มีการใช้งานหลายอย่างที่น่าสนใจสำหรับสมบัติลวดลายเมช
- การเลี่ยนแบบและ DataModelMesh.Scale สามารถแอนิเมชันได้โดยใช้ TweenService โดยไม่ต้องสงสัยเสียค่าใช้จ่ายเนื่องจากเครื่องยนต์ไม่จำเป็นต้องทำการคำนวณฟิสิกส์/ความโ
- เปลี่ยนความสัมพันธ์ระหว่างเมชและความสัมพันธ์ระหว่างมัลติเฟค (กำหนดโดย BasePart )
ตัวอย่างโค้ด
local TweenService = game:GetService("TweenService")
-- instance a part and a mesh
local part = Instance.new("Part")
part.Size = Vector3.new(4, 8, 4)
part.Position = Vector3.new(0, 4, 0)
part.Anchored = true
part.CanCollide = false
local mesh = Instance.new("SpecialMesh")
mesh.MeshType = Enum.MeshType.FileMesh
mesh.MeshId = "rbxassetid://1086413449"
mesh.TextureId = "rbxassetid://1461576423"
mesh.Offset = Vector3.new(0, 0, 0)
mesh.Scale = Vector3.new(4, 4, 4)
mesh.Parent = part
-- selection box to show part extents
local box = Instance.new("SelectionBox")
box.Adornee = part
box.Parent = part
-- parent part to workspace
part.Parent = workspace
-- animate offset and scale with a tween
local tween = TweenService:Create(
mesh,
TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out, -1, true, 0),
{ Scale = Vector3.new(1, 1, 1), Offset = Vector3.new(0, 3, 0) }
)
tween:Play()
Scale
ขนาดของเมชกำหนดขนาดของเมชเมื่อเปรียบเทียบกับขนาดเดิมของมัน
วิธีการใช้เครื่องชั่งเมช
สมบัติขนาดเครื่องชั่งจะทำงานเล็กน้อยตามประเภทของเมชที่ใช้ หมายเหตุว่าขนาดของ BasePart จะไม่เปลี่ยนแปลง ซึ่งหมายความว่ากล่องสะท้อนแสงของชิ้นส่วนจะเหมือนเดิม
- SpecialMesh วัตถุที่มี SpecialMesh.FileType ตั้งค่าไว้ที่ 'FileMesh' สเกลเมื่อเป็นเวลาสมบูรณ์ของเนื้อผ้าเมื่ออัปโหลดไปยัง Roblox
- BlockMesh วัตถุหรือ SpecialMesh วัตถุที่มี SpecialMesh.FileType ตั้งค่าไว้ที่ 'Brick' หรือ 'Wedge' หรือ 'Sphere' ในขนาด 0> Class.BasePart.Size0> ของพ่อของพวกเขา
- CylinderMesh วัตถุหรือ SpecialMesh วัตถุที่มี SpecialMesh.FileType ตั้งไว้ที่ 'Cylinder' สกาลเมื่อเป็นส่วนหนึ่งของพ่อของพวกเขา
- SpecialMesh วัตถุที่มี SpecialMesh.FileType ตั้งค่าไว้ที่ 'หัว' ในขณะนี้ขยายตัวโดยวิธีการ non standard นี้ ผู้พัฒนาไม่ควรพึ่งพาสิ่งนี้เป็นวิธีการที่พวกเขามีแผนที่จะเปลี่ยนความเป็นไป
- SpecialMesh วัตถุที่มี SpecialMesh.FileType ตั้งค่าไว้ที่ 'Torso' สเกลในวิธีการไม่มาตรฐาน พิมพ์
การแสดงตัวอย่างเครื่องชั้นเมช
พฤติกรรมด้านบนสามารถดูได้จากภาพประกอบด้านล่าง
การเคลื่อนไหวเส้นที่เกี่ยวข้องกับขนาดของชิ้นส่วนสำหรับ "อิฐ", "หัวมุม" และ "ก้อน" มีช่องว่าง
การปรับขนาดเส้นสำหรับเมชที่อัปโหลดไว้เดิมสำหรับ 'FileMesh' เมช
การปรับขนาดที่จำกัดสำหรับเมช 'Cylinder'
การใช้งานอื่น ๆ สำหรับเครื่องชั่งเมช
มีการใช้งานหลายอย่างที่น่าสนใจสำหรับสมบัติลวดลายเมช
- DataModelMesh.Offset และ Scale สามารถแอนิเมชันได้โดยใช้ TweenService โดยไม่ต้องสงสัยคำถามใด ๆ เนื่องจากเครื่องยนต์ไม่จำเป็นต้องทำการคำนวณฟิสิกส์ / ความโดนเนียนใด �
- เปลี่ยนความสัมพันธ์ระหว่างเมชและความสัมพันธ์ระหว่างมัลติเฟค (กำหนดโดย BasePart )
ตัวอย่างโค้ด
local TweenService = game:GetService("TweenService")
-- instance a part and a mesh
local part = Instance.new("Part")
part.Size = Vector3.new(4, 8, 4)
part.Position = Vector3.new(0, 4, 0)
part.Anchored = true
part.CanCollide = false
local mesh = Instance.new("SpecialMesh")
mesh.MeshType = Enum.MeshType.FileMesh
mesh.MeshId = "rbxassetid://1086413449"
mesh.TextureId = "rbxassetid://1461576423"
mesh.Offset = Vector3.new(0, 0, 0)
mesh.Scale = Vector3.new(4, 4, 4)
mesh.Parent = part
-- selection box to show part extents
local box = Instance.new("SelectionBox")
box.Adornee = part
box.Parent = part
-- parent part to workspace
part.Parent = workspace
-- animate offset and scale with a tween
local tween = TweenService:Create(
mesh,
TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out, -1, true, 0),
{ Scale = Vector3.new(1, 1, 1), Offset = Vector3.new(0, 3, 0) }
)
tween:Play()