EditableMesh

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

EditableMesh bir MeshPart 'a bağlandığında uygulanan görsel çerçeveyi değiştirir, böylece hem Studio'da hem de deneyimde görselin sorgulanmasına ve değiştirilmesine izin verir.

Yayınlanmış Deneyimlerin Etkinleştirilmesi

Güvenlik amaçlarıyla, EditableMesh yayınlanmış deneyimler için varsayılan olarak başarısız olur.Kullanımı etkinleştirmek için, 13 yaşından büyük ve kimlik doğrulanmış olmalısınız.Doğrulandıktan sonra, Studio'nun Oyun Ayarlarını açın, Güvenlik seçin ve Mesh / Resim API'lerine İzin Verme geçişini etkinleştirin.

Yetkiler

Kötü kullanımı önlemek için, AssetService:CreateEditableMeshAsync() yalnızca çatı malzemelerini yüklemenize ve düzenlemenize izin verecektir:

  • Deneyimin yaratıcısına ait olanlar (deneyim bir birey tarafından sahipleniyorsa).
  • Bir grubun sahip olduğu (deneyim gruba aitse)
  • Kayıtlı Studio kullanıcısına ait olanlar (yer dosyası henüz Roblox'a kaydedilmedi veya yayınlanmadıysa).

Hafıza Sınırları

Düzenlenebilir varlıklar şu anda hafıza kullanımı için pahalıdır.Müşteri performansı üzerindeki etkisini en aza indirmek için, EditableMesh çok sıkı müşteri tarafı bellek bütçelerine sahiptir, sunucu, Studio ve eklentiler sınırsız bellekle çalışsa da.FixedSize kullanmak, hafıza bütçesinde kalmanıza yardımcı olabilir ve bazı senaryolarda, bir EditableMesh 'i çoklu MeshParts (çok referanslı) bağlamak, hafıza optimizasyonuna yardımcı olabilir.

Oluşturma ve Görüntüleme

Bir EditableMesh mevcut bir Content 'dan oluşturulabilir MeshPart veya bir örümcek kimliği kullanarak AssetService:CreateEditableMeshAsync() , veya boş bir EditableMesh ile yeni bir AssetService:CreateEditableMesh() oluşturulabilir.Ardından görüntülenebilir, değiştirilebilir ve çarpışma modeli güncellenebilir.Tüm adımlar gerekli değildir; örneğin, hiç görüntülemeden sadece EditableMesh ı yayınlamak istiyor olabilirsiniz.


local AssetService = game:GetService("AssetService")
-- Boş Düzenlenebilir Mesh oluştur
local editableMesh = AssetService:CreateEditableMesh()
-- Varlık kimliğinden düzenlenebilir çerçeve oluştur Create EditableMesh from asset ID
local editableMeshFromAsset = nil
local success, errorMessage = pcall(function()
editableMeshFromAsset = AssetService:CreateEditableMeshAsync(Content.fromAssetId(ASSET_ID))
end)
-- Diğer Düzenlenebilir Meshed'den Düzenlenebilir Meshed oluştur
local editableMeshFromAnother = nil
local success, errorMessage = pcall(function()
editableMeshFromAnother = AssetService:CreateEditableMeshAsync(Content.fromObject(OTHER_EDITABLE_MESH))
end)
-- MeshPart'ten Düzenlenebilir Mesh oluştur
local editableMeshFromMeshPart = nil
local success, errorMessage = pcall(function()
editableMeshFromMeshPart = AssetService:CreateEditableMeshAsync(MESH_PART.MeshContent)
end)

Yeni bir EditableMesh ile bağlantı kurulduğunda, MeshPart aracılığıyla bir AssetService:CreateMeshPartAsync() görüntülenir.Aynı referans eden daha fazla örnek oluşturabilir veya mevcut bir aracılığıyla bağlantı kurabilirsiniz .


local AssetService = game:GetService("AssetService")
local Workspace = game:GetService("Workspace")
-- Varlık kimliğinden düzenlenebilir çerçeve oluştur Create EditableMesh from asset ID
local editableMeshFromAsset = nil
local success, errorMessage = pcall(function()
editableMeshFromAsset = AssetService:CreateEditableMeshAsync(Content.fromAssetId(ASSET_ID))
end)
-- Düzenlenebilir Mesh'e bağlı yeni MeshPart oluştur
local newMeshPart = nil
local success, errorMessage = pcall(function()
newMeshPart = AssetService:CreateMeshPartAsync(Content.fromObject(editableMeshFromAsset))
end)
-- Alternatif olarak, yukarıda oluşturulan yeni MeshPart'i mevcut bir MeshPart'a bağlayın
local existingMeshPart = Workspace:FindFirstChild("EXISTING_MESH_PART")
existingMeshPart:ApplyMesh(newMeshPart)

Düzenlemeden sonra çarpışma ve sıvı geometrisini yeniden hesaplamak için, mevcut bir MeshPart güncellemek için tekrar AssetService:CreateMeshPartAsync() ve MeshPart:ApplyMesh() 'yi arayabilirsiniz.Bu genellikle mantıksal bir düzenlemenin sonunda, geometriyi manipüle eden yöntemlere yapılan bireysel çağrılardan sonra yapılması önerilir.Kafenin görsel değişiklikleri daima hemen motor tarafından yansıtılacak ve AssetService:CreateMeshPartAsync() çağrılması gerekmeyecektir.

Kısa Boyutlu Örüntüler

Mevcut bir çerçeve varlığından EditableMesh bir çerçeve oluştururken (via AssetService:CreateEditableMeshAsync() ), sonraki düzenlenebilir çerçeve varsayılan olarak sabit boyuttadır.Konumlandırılmış boyutlu ızgaralar bellek açısından daha verimlidir, ancak nokta sayısını, yüzleri veya öznitelikleri değiştiremezsiniz.Sadece zirve özniteliklerinin ve pozisyonlarının değerleri düzenlenebilir.


local AssetService = game:GetService("AssetService")
-- Değiştirilebilir Mesh'i sabit boyutlu varsayım olmadan oluştur
local editableMeshFromAsset = nil
local success, errorMessage = pcall(function()
editableMeshFromAsset = AssetService:CreateEditableMeshAsync(Content.fromAssetId(ASSET_ID), {FixedSize = false})
end)

Kararlı Vertex/Yüz Kimlikleri

Birçok EditableMesh yöntemi zirve , normal , UV , renk ve yüz ID'lerini alır.Bunlar Luau'da bütün sayılar olarak temsil edilir, ancak bazı özel davranışlar gerektirir.Ana fark, kimliklerin istikrarlı olması ve diğer parçalar değişse bile aynı kalmasıdır.Örneğin, bir EditableMesh eğer beş zirveye sahipse {1, 2, 3, 4, 5} ve vertex 4 kaldırırsanız, yeni zirveler olacak {1, 2, 3, 5} .

Kimliklerin düzenli olacağı garanti edilmez ve sayılarda delikler olabilir, bu nedenle vertex'lerden veya yüzlerden dolaşırken, GetVertices() veya GetFaces() tarafından döndürülen tablodan dolaşmalısınız.

Ayrık Veri Tabanı Özellikleri

Bir zirve bir yüzün köşesidir ve topolojik olarak yüzleri birbirine bağlar.Zirvelerin birkaç özelliği olabilir: konum, normal, UV koordinatı, renk ve saydamlık.

Bazen bir zirveye dokunan tüm yüzler için aynı özellik değerlerini kullanmak yararlıdır, ancak bazen farklı yüzlerin aynı zirvede farklı özellik değerlerini kullanmasını isteyeceksiniz.Örneğin, pürüzsüz bir kürede, her vertex sadece tek bir normal olacaktır.Buna karşılık, bir kübenin köşesinde, zirve 3 farklı normal olacaktır (her bir bitişik yüze için bir tane).Ayrıca UV koordinatlarında izler veya zirve renklerinde keskin değişiklikler olabilir.

Yüzleri oluştururken, her düğüm varsayılan olarak her bir özellikten birine sahip olacak: bir normal, bir UV koordinatı ve bir renk/透明度.Bir iz oluşturmak istiyorsanız, yeni öznitelikler oluşturmalı ve yüzüne yerleştirmelisiniz.Örneğin, bu kod keskin bir küp oluşturur:


local AssetService = game:GetService("AssetService")
-- 4 köşe kimliği verildiğinde, yeni bir normal ve 2 üçgen ekler, keskin bir dörtlü oluşturur
local function addSharpQuad(editableMesh, vid0, vid1, vid2, vid3)
local nid = editableMesh:AddNormal() -- Bu, otomatik olarak hesaplanan normal bir kimlik oluşturur
local fid1 = editableMesh:AddTriangle(vid0, vid1, vid2)
editableMesh:SetFaceNormals(fid1, {nid, nid, nid})
local fid2 = editableMesh:AddTriangle(vid0, vid2, vid3)
editableMesh:SetFaceNormals(fid2, {nid, nid, nid})
end
-- 6 taraf arasındaki kenarları artırılmış bir küp yapar
local function makeSharpCube()
local editableMesh = AssetService:CreateEditableMesh()
local v1 = editableMesh:AddVertex(Vector3.new(0, 0, 0))
local v2 = editableMesh:AddVertex(Vector3.new(1, 0, 0))
local v3 = editableMesh:AddVertex(Vector3.new(0, 1, 0))
local v4 = editableMesh:AddVertex(Vector3.new(1, 1, 0))
local v5 = editableMesh:AddVertex(Vector3.new(0, 0, 1))
local v6 = editableMesh:AddVertex(Vector3.new(1, 0, 1))
local v7 = editableMesh:AddVertex(Vector3.new(0, 1, 1))
local v8 = editableMesh:AddVertex(Vector3.new(1, 1, 1))
addSharpQuad(editableMesh, v5, v6, v8, v7) -- Önden
addSharpQuad(editableMesh, v1, v3, v4, v2) -- Geri
addSharpQuad(editableMesh, v1, v5, v7, v3) -- Sola Yüksek
addSharpQuad(editableMesh, v2, v4, v8, v6) -- Sağ
addSharpQuad(editableMesh, v1, v2, v6, v5) -- Altı
addSharpQuad(editableMesh, v3, v7, v8, v4) -- Üst
editableMesh:RemoveUnused()
return editableMesh
end

Döndürme

Mesh yüzlerinin bir ön tarafı ve arka tarafı vardır.Dokuları çizerken, yalnızca yüzlerin önü varsayılan olarak çizilir, ancak bunu değiştirmek için dokunun DoubleSided``true.

Yüzün etrafındaki köşegenlerin sırası, önü veya arkayı görüp görmediğinizi belirler.Zirveler etrafında saat yönünde dönerken yüzün önü görünür. The front of the face is visible when the vertices go counterclockwise around it.

Order of the vertices around the face

FACS Pozları

Animasyonlu kafalar Yüz Eylem Kodlama Sistemi'ni (FACS) kullanır.FACS pozları referansına bakın, GetFacsPoses() ve benzer yöntemler kullanırken yararlı bilgi almak için.

Her FACS pozisyonu bir Enum.FacsActionUnit değeriyle belirtilir.FACS pozisyonu için, sanal kemikler her birinin kemiklerin bağlanma pozisyonundaki başlangıç CFrame 'ini bu FACS eylem birimi pozunun pozisyonu için CFrame 'e dönüştüren bir CFrame 'e sahip olabilir.Tüm kemik CFrames lokal alanındadır.

Bu FACS pozları animasyon sırasında birleştirilir.Bazen, temel pozların birleştirilmesi kötü sonuçlar verir.Bu durumlarda, özel kombinasyonların temel pozlarla birleştirilmesini daha hoş görünen bir düzeltici poz ile geçersiz kılabilirsiniz.Düzeltici bir pozisyon, 2 veya 3 Enum.FacsActionUnit değeri ile belirtilir.Temel bir FACS pozuna benzer şekilde, düzeltici bir poz için, sanal kemiklerin her birinin bağ bağlantısı pozundaki kemiklerin başlangıç dönüşümüne sahip olması gerekir, bu FACS düzeltici için.

Sınırlar

EditableMesh şu anda 60,000 zirve ve 20,000 üçgen sınırına sahiptir. Çok fazla zirve veya üçgen eklemek bir hata yol açar.

Özet

Özellikler

  • Salt Okunur
    Çoğaltılmamış
    Roblox Güvenliği
    Paralel oku

    Bir çerçeve sabit boyutluysa true döndürür.

Yöntemler

Özellikler

FixedSize

Salt Okunur
Çoğaltılmamış
Roblox Güvenliği
Paralel oku

Konumlandırılmış boyutlu meshlar, vertex özniteliklerinin değerlerini değiştirmeye izin verir, ancak vertex ve üçgenlerin eklenmesine veya kaldırılmasına izin vermez.

Yöntemler

AddColor

Geometriye yeni bir renk ekler ve istikrarlı bir renk kimliği döndürür.

Parametreler

color: Color3

Yeni renk.

Varsayılan değer: ""
alpha: number

Renk alfa (transparans)ı.

Varsayılan değer: ""

Dönüşler

Yeni renk için sabit renk kimliği.

AddNormal

Geometriye yeni bir normal ekler ve istikrarlı bir normal kimliği döndürür. Normal değer belirtilmezse, normal otomatik olarak hesaplanacaktır.

Parametreler

normal: Vector3

Normal vektör. Normal değer belirtilmediğinde, normal otomatik olarak hesaplanacaktır.

Varsayılan değer: ""

Dönüşler

Yeni normalin sabit normal ID'si.

AddTriangle

Dokuya yeni bir üçgen ekler ve istikrarlı bir yüz kimliği döndürür.

Parametreler

vertexId0: number

Üçgenin ilk kenarının ID'si.

Varsayılan değer: ""
vertexId1: number

Üçgenin ikinci zirvesinin kimliği.

Varsayılan değer: ""
vertexId2: number

Üçgenin üçüncü zirvesinin kimliği.

Varsayılan değer: ""

Dönüşler

Yeni yüzün sabit yüz tanımı.

AddUV

Geometriye yeni bir UV ekler ve istikrarlı bir UV ID'si döndürür.

Parametreler

Yeni UV koordinatı.

Varsayılan değer: ""

Dönüşler

Yeni UV'nin sabit UV kimliği.

AddVertex

Geometriye yeni bir zirve ekler ve istikrarlı bir zirve kimliği döndürür.

Parametreler

Kafanın yerel nesne alanındaki konumu. Position in the mesh's local object space.

Varsayılan değer: ""

Dönüşler

Yeni kenarın sabit kenar ID'si.

Destroy

()

Mesh'in içeriğini yok eder ve kullanılan belleği hemen geri alır.


Dönüşler

()

FindClosestPointOnSurface

Ağın yüzeyindeki en yakın noktayı bulur.Yüz kimliğini döndürür, yerel nesne uzayındaki çözgü üzerinde işaret eder ve yüzün içindeki konumun baryantik koordinatını.Baryantik koordinatlar hakkında daha fazla bilgi için RaycastLocal() bakın.

Parametreler

point: Vector3

Kafesin yerel nesne alanındaki nokta konumu.

Varsayılan değer: ""

Dönüşler

Yüz kimliği tuplu, yerel nesne uzayındaki çözgü üzerinde işaret ve yüzün içindeki konumun baryantik koordinatı.

FindClosestVertex

Uzaydaki belirli bir noktaya en yakın vertex'i bulur ve istikrarlı bir vertex ID'si döndürür.

Parametreler

toThisPoint: Vector3

Kafesin yerel nesne alanındaki nokta konumu.

Varsayılan değer: ""

Dönüşler

Uzaydaki belirtilen noktaya en yakın sabit köşe ID'si.

FindVerticesWithinSphere

Belirli bir küredeki tüm zirveleri bulur ve istikrarlı vertex ID'lerinin bir listesini döndürür.

Parametreler

center: Vector3

Dokunun yerel nesne alanındaki küre merkezi.

Varsayılan değer: ""
radius: number

Kürenin çevresi.

Varsayılan değer: ""

Dönüşler

Talep edilen alan içinde istikrarlı zirve kimliklerinin listesi.

GetAdjacentFaces

Kararlı bir yüz kimliği verildiğinde, komşu yüzlerin bir listesini döndürür.

Adjacent faces indicated around requested face

Parametreler

faceId: number
Varsayılan değer: ""

Dönüşler

Verilen yüze yakın yüz kimlikleri listesi.

GetAdjacentVertices

Kararlı bir zirve kimliği verildiğinde, komşu zirvelerin bir listesini döndürür.

Adjacent vertices indicated around requested vertex

Parametreler

vertexId: number

Yanıcı düğümleri almak için çevreleyen Vertex ID.

Varsayılan değer: ""

Dönüşler

Verdiğiniz veri kimliği etrafındaki bitişik zirvelerin ID listesi.

GetCenter


Dönüşler

EditableMesh 'nin sınır kutusunun merkezi.

GetColor

Verilen renk kimliği için rengi döndürür.

Parametreler

colorId: number

Renk almak için rengin ID'si.

Varsayılan değer: ""

Dönüşler

Talep edilen sabit renk kimliği için renk.

GetColorAlpha

Verilen sabit renk kimliğinde alfa rengini (transparans) geri döndürür.

Parametreler

colorId: number

Alfa almak için kullanılacak renk ID'si.

Varsayılan değer: ""

Dönüşler

İstek sabit renk kimliğinde renk alfa.

GetColors

Mesh'in tüm renklerini istikrarlı renk kimlikleri listesi olarak döndürür.


Dönüşler

Kararlı renk kimlikleri listesi.

GetFaceColors

Yüzün rengi kimliklerini yüzdeki zirveler için döndürür.

Parametreler

faceId: number

Renk kimliklerini almak için yüz tanıma.

Varsayılan değer: ""

Dönüşler

Verilen yüzeydeki zirveler için kullanılan renk kimlikleri listesi.

GetFaceNormals

Yüzün normal kimliklerini yüzdeki zirveler için döndürür.

Parametreler

faceId: number

Normal kimlikleri almak için yüz kimliği.

Varsayılan değer: ""

Dönüşler

Verilen yüzeydeki zirveler için kullanılan normal kimliklerin listesi.

GetFaceUVs

Yüzün UV kimliklerini yüzdeki zirveler için döndürür.

Parametreler

faceId: number

UV kimliklerini almak için yüz kimliği.

Varsayılan değer: ""

Dönüşler

Verilen yüzeydeki zirveler için kullanılan UV kimliklerinin listesi.

GetFaceVertices

Yüzün zirve ID'lerini döndürür.

Parametreler

faceId: number
Varsayılan değer: ""

Dönüşler

Verilen yüzeyin etrafındaki vertex ID'lerinin listesi.

GetFaces

Mesh'in tüm yüzlerini istikrarlı yüz kimlikleri listesi olarak döndürür.


Dönüşler

Kararlı yüz kimlikleri listesi.

GetNormal

Verilen normal ID için normal vektörü döndürür.

Parametreler

normalId: number

Normal vektörü almak için normal ID.

Varsayılan değer: ""

Dönüşler

Talep edilen normal ID'de normal vektör.

GetNormals

Dokunun tüm normallerini istikrarlı normal kimlikler listesi olarak döndürür.


Dönüşler

Kararlı normal kimliklerin listesi.

GetPosition

Kenarın yerel nesne alanındaki konumunu alır mesh'in.

Parametreler

vertexId: number

Konumu almak için sabit kenar ID'si.

Varsayılan değer: ""

Dönüşler

Kenarın yerel nesne alanındaki konumu. Position of a vertex in the mesh's local object space.

GetSize


Dönüşler

EditableMesh 'nin boyutu.

GetUV

Verilen UV ID'de UV koordinatlarını döndürür.

Parametreler

uvId: number

UV koordinatı almak için UV kimliği.

Varsayılan değer: ""

Dönüşler

Talep edilen UV ID'de UV koordinatları.

GetUVs

Ağın tüm UV'lerini istikrarlı UV kimlikleri listesi olarak döndürür.


Dönüşler

Kararlı UV kimlikleri listesi.

GetVertices

Tüm zirveleri istikrarlı vertex kimlikleri listesi olarak döndürür.


Dönüşler

Kararlı zirve kimlikleri listesi.

IdDebugString

Durağan bir ID'yi tanımlayan bir dizeyi döndürür, hata ayıklama amaçları için yararlıdır, örneğin f17 veya v12, içinde tür, kimlik numarası ve sürüm bulunur.

Parametreler

id: number

Sorun giderme bilgi dizesini geri göndermek için kimlik.

Varsayılan değer: ""

Dönüşler

ID'yi insan tarafından okunabilir biçimde tanımlayan dize.

MergeVertices

Map

Birlikte dokunan zirveleri birleştirir, tek bir zirve kimliğini kullanmak ancak diğer orijinal özellik kimliklerini korumak.

Parametreler

mergeTolerance: number

Zirvelerin birbirine dokunması gerektiği uzaklık.

Varsayılan değer: ""

Dönüşler

Map

Birleştirilmiş olan vertiksler için eski vertex ID'nin yeni vertex ID'ye dönüştürülmesi.

RaycastLocal

Bir ışın atar ve bir kesişme noktası, yüz kimliği ve baryantik koordinatlar döndürür.Bu yöntemin girişleri ve çıkışları yerel nesne alanındadır. mesh'in.

Bir merkez odaklı koordinat bir yüzün içinde bir noktanın ağırlıklı bir kombinasyonu olarak tanımlanmasının bir yoludur 3 yüzün kenarlarının.Bu, veri noktaları özelliklerini birleştirmenin genel bir yolu olarak yararlıdır.Bu yöntemin kod örneğini bir illüstrasyon olarak görün.

Parametreler

origin: Vector3

Kafanın yerel nesne alanındaki ışının kaynağı. Origin of the ray in the mesh's local object space.

Varsayılan değer: ""
direction: Vector3

Işının yönü.

Varsayılan değer: ""

Dönüşler

Kesişim noktası, yüz tanıma ve baryantik koordinatların bir tuplu.

Kod Örnekleri

This code finds the position and UV coordinates of the closest point on an EditableMesh to the input point.

EditableMesh:RaycastLocal()

local AssetService = game:GetService("AssetService")
-- Initialize EditableMesh in space
local editableMesh = nil
local success, errorMsg = pcall(function()
editableMesh = AssetService:CreateEditableMeshAsync(Content.fromUri("rbxassetid://ASSET_ID"))
end)
local meshPart = nil
if success and editableMesh then
meshPart = AssetService:CreateMeshPartAsync(
Content.fromObject(editableMesh),
{ CollisionFidelity = Enum.CollisionFidelity.Hull }
)
meshPart.Parent = workspace
else
print(errorMsg)
end
local function castRayFromCamera(position)
if not meshPart then
return
end
-- Create ray from camera along the direction of a clicked point
local camera = workspace.CurrentCamera
local ray = camera:ScreenPointToRay(position.X, position.Y)
-- Convert to object space to use with RaycastLocal()
local relativeOrigin = meshPart.CFrame:PointToObjectSpace(ray.Origin)
local relativeDirection = meshPart.CFrame:VectorToObjectSpace(ray.Direction)
local triangleId, point, barycentricCoordinate
triangleId, point, barycentricCoordinate = editableMesh:RaycastLocal(relativeOrigin, relativeDirection * 100)
if not triangleId then
-- Didn't hit any triangles
return
end
-- Interpolate UVs within the triangle
local vert1, vert2, vert3 = editableMesh:GetTriangleVertices(triangleId)
local uv0 = editableMesh:GetUV(vert1)
local uv1 = editableMesh:GetUV(vert2)
local uv2 = editableMesh:GetUV(vert3)
local u = (barycentricCoordinate.x * uv0.x) + (barycentricCoordinate.y * uv1.x) + (barycentricCoordinate.z * uv2.x)
local v = (barycentricCoordinate.x * uv0.y) + (barycentricCoordinate.y * uv1.y) + (barycentricCoordinate.z * uv2.y)
return Vector2.new(u, v)
end

RemoveFace

()

Stabil yüz kimliğini kullanarak bir yüzü kaldırır.

Parametreler

faceId: number
Varsayılan değer: ""

Dönüşler

()

RemoveUnused

Herhangi bir yüze kullanılmayan tüm zirveleri, normali, UV'leri ve renkleri kaldırır ve kaldırılan kimlikleri iade eder.


Dönüşler

Kaldırılan tüm sabit kimlikler.

ResetNormal

()

Bu normal kimliği, örüntünün şekline göre otomatik olarak hesaplanmak yerine, manuel olarak ayarlanmış olarak hesaplanmasını sıfırla.

Parametreler

normalId: number

Sıfırlanmak için sabit normal kimlik.

Varsayılan değer: ""

Dönüşler

()

SetColor

()

Bir renk için renk kimliğini ayarlar.

Parametreler

colorId: number

Renk belirlemek için sabit renk kimliği.

Varsayılan değer: ""
color: Color3

Belirlenmesi gereken renk.

Varsayılan değer: ""

Dönüşler

()

SetColorAlpha

()

Bir renk kimliği için renk alfa (透明) ayarını ayarlar.

Parametreler

colorId: number

Renk alfa'yı ayarlamak için sabit renk kimliği.

Varsayılan değer: ""
alpha: number

Ayarlanacak Alpha.

Varsayılan değer: ""

Dönüşler

()

SetFaceColors

()

Yüzün zirve renklerini yeni renk kimliklerine ayarlar.

Parametreler

faceId: number

Zirve renklerini güncellemek için yüz tanımı.

Varsayılan değer: ""
ids: Array

Verilen yüzün zirveleri için kullanılacak yeni istikrarlı renk kimliklerinin listesi.

Varsayılan değer: ""

Dönüşler

()

SetFaceNormals

()

Yüzün zirvesini yeni normal kimliklere ayarlar.

Parametreler

faceId: number

Zirve normallerini güncelleştirmek için yüz tanımı.

Varsayılan değer: ""
ids: Array

Verilen yüzün zirveleri için kullanılacak yeni istikrarlı normal kimliklerin listesi.

Varsayılan değer: ""

Dönüşler

()

SetFaceUVs

()

Yüzün zirve UV'lerini yeni UV kimliklerine ayarlar.

Parametreler

faceId: number

Zirve UV'lerini güncelleştirmek için yüz kimliği.

Varsayılan değer: ""
ids: Array

Verilen yüzün zirveleri için kullanılacak yeni istikrarlı UV kimliklerinin listesi.

Varsayılan değer: ""

Dönüşler

()

SetFaceVertices

()

Yüzün zirvelerini yeni zirve kimliklerine ayarlar.

Parametreler

faceId: number

Zirvelerin güncellenmesi için yüz tanıma.

Varsayılan değer: ""
ids: Array

Verilen yüze için kullanılacak yeni istikrarlı kenar ID'lerinin listesi.

Varsayılan değer: ""

Dönüşler

()

SetNormal

()

Normal bir kimlik için normali ayarlayın. Bu, normal kimliği kullanan her yüz zirvesinin normal değerini değiştirecektir.

Parametreler

normalId: number

Normal vektörü ayarlamak için sabit normal kimlik.

Varsayılan değer: ""
normal: Vector3

Belirlenmesi gereken normal vektör.

Varsayılan değer: ""

Dönüşler

()

SetPosition

()

Dokunun yerel nesne alanında bir vertex konumu ayarlar.

Parametreler

vertexId: number

Konuma pozisyon veren düğümün sabit kenar ID'si.

Varsayılan değer: ""

Kafanın yerel nesne alanındaki konumu. Position in the mesh's local object space.

Varsayılan değer: ""

Dönüşler

()

SetUV

()

Bir UV ID'si için UV koordinatlarını ayarlar.

Parametreler

uvId: number

UV koordinatlarını belirlemek için UV ID.

Varsayılan değer: ""

UV koordinatları.

Varsayılan değer: ""

Dönüşler

()

Triangulate

()

Ağ üzerindeki tüm yüzleri üçgen olmak üzere bölür.Şu anda yalnızca üçgenler oluşturulabildiğinden hiçbir şey yapmaz, ancak kodunuz üçgenlere bağlıysa, bunu AssetService:CreateEditableMeshAsync() aradıktan sonra bu yöntemi çağırmanız önerilir.


Dönüşler

()

Etkinlikler