SpecialMesh

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Class.SpecialMesh nesnesi, BasePart özelliğine bağlı olarak bir meshe uygulayarak bir MeshType öğesi uygulayarak bir meshe uygulayarak bir meshe uygulayarak bir meshe uygulayarak bir meshe uygulayarak bir meshe uygulayarak bir meshe uygulayarak bir meshe uygulayarak bir meshe uygulayarak bir meshe uygulayar

  • Tuğla - Bir blok şekli, bir BlockMesh eşdeğer
  • Silindir - Bir silindir, Part ile aynı şekilde Part.Shape ile 'Silindir'
  • FileMesh - Bir kullanıcı Mesh yükledi, bir tekstür kullanarak FileMesh kullanılabilir bir özellik
  • Baş - Bir karakterin kafa şekli
  • Küre - Bir küre şekli, bir Part ile aynı, ancak bir Part.Shape ile 'top' olarak özgürce yeniden boyutlandırılabilir
  • Kılıç - Bir kılıç şekli, WedgePart ile aynı
  • Gövde - Yerleşik olmayan tarafları olan bir blok

Not, her bir SpecialMesh.MeshType kullanırken, DataModelMesh.Scale kullanırken farklı şekilde ölçeklenecektir, for more information on this please see the page on DataModelMesh.Scale . The SpecialMesh object also exposes the 1> Class.DataModelMesh.Offset1> property.

Özel Bir Dokunun Kullanılması durumunda, sadece bir parçanın görünümü değişir. Parçanın çarpışma modeli aynı kalır. Örneğin, bir karakter meshes üzerinde doğru yürüyemeyecektir, çünkü meshes geometrisi göz önünde hesap.

SpecialMesh vs MeshPart

Bir geliştirici tarafından oluşturulan bir malzeme kullanmanın iki yolu vardır. Onlar, SpecialMesh.FileType ile MeshPart olarak kullanıyorlar veya bir MeshPart nın üstesinden geliyorlar. Ancak, aslında, 1> Class.MeshPart1> nın

  • BasePart.Material malzeme kullanırken ağ üzerinde doğru görüntülenir ve MeshPart kullanırken özel bir ağ üzerinde değil
  • MeshParts``Class.MeshPart.CollisionFidelity özelliğini içerir, bu da bir MeshPart ın çarpışma modelinin geometrisiyle aynı olabilir. ÖzelMesh nesnesi, bu nedenle 0> Class.BasePart|BaseParts0> çarpışma modelini kullanır
  • Class.MeshPart meshesi, Size özelliğine bağlı olarak tüm eksenlerde ölçeklenir. MeshPart meshesi, 1> Class.BasePart.Size|Size1> özelliğine bağlı olarak ölçeklenir. 4> Class.MeshPart4> meshesi, 7> Class.BasePart.Size|Size7> özelliğine bağlı olarak ölçeklenir.
  • SpecialMesh nesninde, Offset ve Scale özellikleri bulunurken, MeshParts yapmaz
  • Class.FileMesh.MeshId|MeshId özelliği bir SpecialMesh veya Script çalışma sırasında 1> Class.Script1> veya 4> Class.LocalScript4> ile değiştirilebilir.

Kod Örnekleri

Mesh Offset and Scale

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()
Mesh VertexColor

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.VertexColor = Vector3.new(1, 1, 1)
mesh.Parent = part
-- parent part to workspace
part.Parent = workspace
-- create tweens
local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out)
local blackTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(0, 0, 0) })
local redTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(1, 0, 0) })
local greenTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(0, 1, 0) })
local blueTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(0, 0, 1) })
local resetTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(1, 1, 1) })
-- animate
while true do
blackTween:Play()
blackTween.Completed:Wait()
redTween:Play()
redTween.Completed:Wait()
greenTween:Play()
greenTween.Completed:Wait()
blueTween:Play()
blueTween.Completed:Wait()
resetTween:Play()
resetTween.Completed:Wait()
task.wait()
end

Özet

Özellikler

Şuradan alınan Özellikler: FileMesh
  • MeshId:ContentId
    Paralel oku

    MeshId, gösterilecek olan meshinin içeriği ID'dir.

  • TextureId:ContentId
    Paralel oku

    TextureId, uygulanacak tekstürün ID'si (meshesine)'dir.

Şuradan alınan Özellikler: DataModelMesh

Özellikler

Paralel oku

Class.SpecialMesh nesninin Class.BasePart bağlandığı MeshType özelliğine bağlı olarak BasePart ağı kullanılır. Birkaç seçenek mevcut.

  • Tuğla - Bir blok şekli, bir BlockMesh eşdeğer
  • Silindir - Bir silindir, Part ile aynı şekilde Part.Shape ile 'Silindir'
  • FileMesh - Bir kullanıcı Mesh yükledi, bir tekstür kullanarak FileMesh kullanılabilir bir özellik
  • Baş - Bir karakterin kafa şekli
  • Küre - Bir küre şekli, bir Part ile aynı, ancak bir Part.Shape ile 'top' olarak özgürce yeniden boyutlandırılabilir
  • Kılıç - Bir kılıç şekli, WedgePart ile aynı
  • Gövde - Yerleşik olmayan tarafları olan bir blok

Not, her MeshType kullanırken DataModelMesh.Scale kullanırken farklı ölçeklere sahiptir, for more information on this please see the page on DataModelMesh.Scale .

Kod Örnekleri

Mesh VertexColor

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.VertexColor = Vector3.new(1, 1, 1)
mesh.Parent = part
-- parent part to workspace
part.Parent = workspace
-- create tweens
local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out)
local blackTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(0, 0, 0) })
local redTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(1, 0, 0) })
local greenTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(0, 1, 0) })
local blueTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(0, 0, 1) })
local resetTween = TweenService:Create(mesh, tweenInfo, { VertexColor = Vector3.new(1, 1, 1) })
-- animate
while true do
blackTween:Play()
blackTween.Completed:Wait()
redTween:Play()
redTween.Completed:Wait()
greenTween:Play()
greenTween.Completed:Wait()
blueTween:Play()
blueTween.Completed:Wait()
resetTween:Play()
resetTween.Completed:Wait()
task.wait()
end

Yöntemler

Etkinlikler