DataModelMesh

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.

Oluşturulamaz
Gezilemez

DataModelMesh, örüntü sınıflarından düşen soyut bir sınıftır.

Kafes sınıfları, bir parçanın görünümünü önceden tanımlanmış bir kafese değiştiren nesnelerdir, BaseParts örneğin bir kafesin görünümünü değiştirir.Not, sadece parçanın görünümünü değiştirirler ve parçanın fiziği/çarpışma sınırlarını değiştirmezler.Parçanın çarpışmasını değiştiren bir parçaya bir örgü uygulamak isteyen geliştiriciler MeshParts kullanmalıdır.

Not et MeshPart ve CharacterMesh sınıfları DataModelMesh'ten inmez.

Özet

Özellikler

  • Paralel oku

    Bir mesanın ofseti, mesanın görüntüleneceği noktanın mutlak konumunu belirler.

  • Paralel oku

    Bir meshin ölçeği, orijinal boyutlarına göre meshin boyutunu belirler.

  • Paralel oku

    Bir mesh'in dokusunun tonunu değiştirir, FileMesh.TextureId ile kullanılır.

Özellikler

Offset

Paralel oku

Bir mesanın ofseti, mesanın görüntüleneceği noktasından uzaklığı belirler.

Kafes ofsetini nasıl kullanırım

Ofset özelliği, çizginin görüntülenmesi gereken nispi konumu değiştirir.Örneğin, 0, 5, 0'lık bir ofset, çemberin BasePart konumunun üzerinde 5 damga gösterilmesine neden olacaktır.

BasePart konumu değişmeden kalır, yani parçanın fizik çarpışma kutusu aynı konumda kalacaktır.Bunun aşağıdaki resimde gösterildiği gibi, yeşil hatlı (a SelectionBox ) çizginin BasePart uzantılarını gösterir.

Dokuma ofseti için diğer kullanımlar

Dokuma ofset özelliği için bir dizi ilginç kullanım var.

  • Ofset ve çok ucuz olarak animasyonlanabilir, çünkü motor herhangi bir fiziksel/çarpışma hesaplaması yapmak zorunda değildir, çünkü hareket etmediği için.
  • Kafes ve çarpışma sınırları arasındaki ilişkiyi değiştirme (BasePart tarafından belirlenir)

Kod Örnekleri

In this code sample a BasePart is instanced with a SpecialMesh. The DataModelMesh.Scale and DataModelMesh.Offset properties of the SpecialMesh are then animated using TweenService.

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

Scale

Paralel oku

Bir meshin ölçeği, orijinal boyutlarına göre meshin boyutunu belirler.

Kafes ölçeği nasıl kullanılır

Ölçek özelliği, kullanılan çizginin türüne bağlı olarak biraz farklı çalışır.BasePart boyutunun değişmediğini not edin, yani parçanın fizik çarpışma kutusu aynı kalacak.

  • SpecialMesh nesneler, SpecialMesh.FileType Roblox'a yüklendiğinde orijinal mesheşin boyutlarına göre 'FileMesh' ölçeğine ayarlanmıştır
  • BlockMesh nesneler veya SpecialMesh nesneler, SpecialMesh.FileType 'Tuğla', 'Köşe' veya 'Küre' ölçekleri, ebeveynlerinin BasePart.Size 'sına göre eşit olarak ayarlanır
  • nesneler veya nesneler, ebeveynlerinin ölçeğine göre 'Silindir' ölçeğine ayarlanır.Silindirlerin yükseklik eksenine eşit olarak ve silindirin uzunluğu ve genişliği için 1:1 oranını koruyarak, en düşük değeri kullanarak.
  • SpecialMesh nesneler, SpecialMesh.FileType 'Kafa' olarak ayarlanmış şu anda standart olmayan bir şekilde ölçeklendirilir.Geliştiriciler bu davranışı değiştirmek için planlar olduğundan buna güvenmemelidir.
  • SpecialMesh nesneleri, SpecialMesh.FileType 'Torso' ölçeğine standart olmayan bir şekilde ayarlanır.Geliştiriciler bu özelliğe güvenmemelidir, çünkü bu örüntü yazdeprece etme planları vardır.

Mesh ölçeği gösterimi

Yukarıdaki davranış aşağıdaki gösterim görüntülerinde görülebilir.

Parça boyutuna göre lineer ölçek 'Tuğla', 'Köşe' ve 'Küre' öğeleri için.

Dosya Dokusu için orijinal yüklü çizime göre lineer ölçekleme 'FileMesh' çizimleri

Cilindir meshları için eşit olmayan sınırlı ölçeklendirme

Kafes ölçeğinin diğer kullanımları

Dokuma ofset özelliği için bir dizi ilginç kullanım var.

  • DataModelMesh.Offset ve Ölçek, motorun fiziksel/çarpışma hesaplamaları yapmasına gerek olmadığı için TweenService nispeten ucuz bir şekilde animasyonlanabilir, çünkü BasePart değiştirilmediği için.
  • Kafes ve çarpışma sınırları arasındaki ilişkiyi değiştirme (BasePart tarafından belirlenir)

Kod Örnekleri

In this code sample a BasePart is instanced with a SpecialMesh. The DataModelMesh.Scale and DataModelMesh.Offset properties of the SpecialMesh are then animated using TweenService.

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

VertexColor

Paralel oku

VertexColor bir Texture 'in renk değişimini belirler FileMesh.Bu özelliğin bir Vector3 değil bir Color3 olduğunu unutmayın; dönüştürmek için, Color3.R , Color3.G ve Color3.B özelliklerini kullanın.

Bu özellik bir dokunun temel değişikliğine izin veriyor olsa da, bir dokuyu tamamen değiştirmek daha fazla kontrol sağlar. Daha fazla ayrıntı için MeshPart bakınız.

Yöntemler

Etkinlikler