EditableMesh

Visualizza obsoleti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Non costruibile

EditableMesh cambia la mesh visiva applicata quando viene collegata a un MeshPart, consentendo la query e la modifica della mesh sia in Studio che nell'esperienza.

Abilitazione delle esperienze pubblicate

Per scopi di sicurezza, l'uso di EditableMesh fallisce per impostazione predefinita per le esperienze pubblicate.Per abilitare l'uso, devi essere verificato l'età 13+ e l'ID verificato.Dopo essere stato verificato, apri le Impostazioni di gioco di Studio, seleziona Sicurezza , e abilita il pulsante Consenti API mesh/immagine toggle.

Permessi

Per prevenire l'uso improprio, AssetService:CreateEditableMeshAsync() consentirà solo di caricare e modificare le risorse di mesh:

  • Che sono di proprietà del creatore dell'esperienza (se l'esperienza è di proprietà di un individuo).
  • Che sono di proprietà di un gruppo (se l'esperienza è di proprietà del gruppo).
  • Che sono di proprietà dell'utente Studio registrato (se il file del luogo non è stato ancora salvato o pubblicato su Roblox).

Limiti di memoria

Le risorse modificabili sono attualmente costose per l'utilizzo della memoria.Per minimizzare il suo impatto sulle prestazioni del client, EditableMesh ha rigide budget di memoria lato client, anche se il server, Studio e i plugin operano con memoria illimitata.L'utilizzo di FixedSize può aiutarti a rimanere entro il budget di memoria e, in alcuni scenari, il collegamento di uno EditableMesh a più MeshParts (multiriferimento) può aiutare con l'ottimizzazione della memoria.

Creazione e Visualizzazione

Un EditableMesh può essere creato da un esistente Content di un MeshPart o un ID mesh utilizzando AssetService:CreateEditableMeshAsync() , o un vuoto EditableMesh può essere creato con AssetService:CreateEditableMesh() .Può quindi essere visualizzato, modificato e aggiornato il suo modello di collisione.Non tutti i passaggi sono necessari; per esempio, potresti voler creare un EditableMesh solo per raycast senza mai visualizzarlo.


local AssetService = game:GetService("AssetService")
-- Crea mesh modificabile vuoto
local editableMesh = AssetService:CreateEditableMesh()
-- Crea EditableMesh dall'ID risorsa
local editableMeshFromAsset = nil
local success, errorMessage = pcall(function()
editableMeshFromAsset = AssetService:CreateEditableMeshAsync(Content.fromAssetId(ASSET_ID))
end)
-- Crea EditableMesh da un altro EditableMesh
local editableMeshFromAnother = nil
local success, errorMessage = pcall(function()
editableMeshFromAnother = AssetService:CreateEditableMeshAsync(Content.fromObject(OTHER_EDITABLE_MESH))
end)
-- Crea EditableMesh dalla MeshPart
local editableMeshFromMeshPart = nil
local success, errorMessage = pcall(function()
editableMeshFromMeshPart = AssetService:CreateEditableMeshAsync(MESH_PART.MeshContent)
end)

Un EditableMesh viene visualizzato quando è collegato a un nuovo MeshPart , attraverso AssetService:CreateMeshPartAsync() .Puoi creare più istanze che fanno riferimento alla stessa , o link a un'esistente attraverso .


local AssetService = game:GetService("AssetService")
local Workspace = game:GetService("Workspace")
-- Crea EditableMesh dall'ID risorsa
local editableMeshFromAsset = nil
local success, errorMessage = pcall(function()
editableMeshFromAsset = AssetService:CreateEditableMeshAsync(Content.fromAssetId(ASSET_ID))
end)
-- Crea una nuova MeshPart collegata all'EditableMesh
local newMeshPart = nil
local success, errorMessage = pcall(function()
newMeshPart = AssetService:CreateMeshPartAsync(Content.fromObject(editableMeshFromAsset))
end)
-- In alternativa, collega la nuova MeshPart creata sopra a una MeshPart esistente
local existingMeshPart = Workspace:FindFirstChild("EXISTING_MESH_PART")
existingMeshPart:ApplyMesh(newMeshPart)

Per ricalcolare la collisione e la geometria fluida dopo l'editing, puoi nuovamente chiamare AssetService:CreateMeshPartAsync() e MeshPart:ApplyMesh() per aggiornare un MeshPart esistente.Si consiglia generalmente di farlo alla fine di un'edizione concettuale, non dopo singole chiamate a metodi che manipolano la geometria.I cambiamenti visivi della mesh verranno sempre riflessi immediatamente dal motore, senza la necessità di chiamare AssetService:CreateMeshPartAsync() .

Maglie di dimensione fissa

Durante la creazione di una EditableMesh da una risorsa mesh esistente (via AssetService:CreateEditableMeshAsync() ), la mesh risultante è predefinita di dimensioni fisse.Le maglie di dimensione fissa sono più efficienti in termini di memoria, ma non puoi cambiare il numero di vertici, facce o attributi.Solo i valori degli attributi di vertex e delle posizioni possono essere modificati.


local AssetService = game:GetService("AssetService")
-- Crea EditableMesh senza predefinito di dimensione fissa
local editableMeshFromAsset = nil
local success, errorMessage = pcall(function()
editableMeshFromAsset = AssetService:CreateEditableMeshAsync(Content.fromAssetId(ASSET_ID), {FixedSize = false})
end)

ID del vertice/viso stabile

Molti EditableMesh prendono vertex , normale , UV , colore e viso ID.Sono rappresentati come interi in Luau ma richiedono una gestione speciale.La principale differenza è che gli ID sono stabili e rimangono gli stessi anche se altre parti della mesh cambiano.Ad esempio, se un EditableMesh ha cinque vertici {1, 2, 3, 4, 5} e rimuovi il vertice 4 , i nuovi vertici saranno {1, 2, 3, 5} .

Nota che gli ID non sono garantiti di essere in ordine e ci possono essere buchi nella numerazione, quindi quando si itera attraverso i vertici o le facce, dovresti iterare attraverso la tabella restituita da GetVertices() o GetFaces() .

Attributi del vertice diviso

Un vertice è un angolo di un volto e si connette topologicamente i volti insieme.I vertici possono avere diversi attributi: posizione, normale, coordinate UV, colore e trasparenza.

A volte è utile per tutti i volti che toccano un vertice utilizzare gli stessi valori di attributo, ma a volte vorrai che i volti diversi utilizzino diversi valori di attributo sullo stesso vertice.Ad esempio, su una sfera liscia, ogni vertice avrà solo un normale singolo.In contrasto, all'angolo di un cubo, il vertice avrà 3 normali diverse (uno per ogni faccia adiacente).Puoi anche avere cuciture nelle coordinate UV o cambiamenti improvvisi nei colori del vertice.

Durante la creazione di facce, ogni vertice predefinito avrà uno di ogni attributo: uno normale, una coordinata UV e un colore/trasparenza.Se vuoi creare una cucitura, dovresti creare nuovi attributi e impostarli sul viso.Ad esempio, questo codice creerà un cubo acuto:


local AssetService = game:GetService("AssetService")
-- Dati 4 ID di vertice, aggiunge un nuovo normale e 2 triangoli, creando un quadrato acuto
local function addSharpQuad(editableMesh, vid0, vid1, vid2, vid3)
local nid = editableMesh:AddNormal() -- Questo crea un ID normale che viene calcolato automaticamente
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
-- Crea un cubo con bordi incavati tra i 6 lati
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) -- Davanti
addSharpQuad(editableMesh, v1, v3, v4, v2) -- Indietro
addSharpQuad(editableMesh, v1, v5, v7, v3) -- Sinistra
addSharpQuad(editableMesh, v2, v4, v8, v6) -- Destra
addSharpQuad(editableMesh, v1, v2, v6, v5) -- In basso
addSharpQuad(editableMesh, v3, v7, v8, v4) -- Superiore
editableMesh:RemoveUnused()
return editableMesh
end

Avvolgimento

Le facce mesh hanno un lato frontale e un lato posteriore.Durante il disegno delle maglie, solo la parte anteriore dei volti viene disegnata per impostazione predefinita, anche se puoi cambiare questo impostando la proprietà mesh' DoubleSided a true.

L'ordine dei vertici attorno al viso determina se stai guardando davanti o dietro.La parte anteriore del viso è visibile quando i vertici vanno antiorario intorno ad essa.

Order of the vertices around the face

Posizioni FACS

Le teste animabili utilizzano il Sistema di codifica delle azioni facciali (FACS).Vedi la referenza alle posizioni FACS per informazioni utili quando si usano GetFacsPoses() e metodi simili.

Ogni posa FACS viene specificata da un valore Enum.FacsActionUnit .Per la posa FACS, le ossa virtuali possono ciascuna avere un CFrame che trasforma l'osso iniziale CFrame nella posa di legame della mesh in quella del CFrame per la posa dell'azione dell'unità FACS.Tutti gli osso CFrames sono nello spazio locale della mesh.

Queste pose FACS vengono mescolate insieme durante l'animazione.A volte, il mescolamento delle posizioni di base produce risultati scadenti.In questi casi, puoi annullare la fusione di combinazioni specifiche di pose di base con una posa correttiva che è più piacevole.Una posa correttiva è specificata da 2 o 3 valori Enum.FacsActionUnit correttivi.Come una posa FACS di base, per una posa correttiva, le ossa virtuali possono ciascuna avere un CFrame che trasforma l'iniziale CFrame delle ossa nella posa di legame della mesh nel CFrame per quel FACS correttivo.

Limitazioni

EditableMesh attualmente ha un limite di 60.000 vertici e 20.000 triangoli. Tentare di aggiungere troppi vertici o triangoli causerà un errore.

Sommario

Proprietà

  • Sola Lettura
    Non Replicato
    Sicurezza Roblox
    Lettura Parallela

    Restituisce true se una mesh è di dimensione fissa.

Metodi

Proprietà

FixedSize

Sola Lettura
Non Replicato
Sicurezza Roblox
Lettura Parallela

Le maglie di dimensioni fisse consentono di modificare i valori degli attributi di vertice, ma non consentono di aggiungere o eliminare i vertici e i triangoli.

Metodi

AddColor

Aggiunge un nuovo colore alla geometria e restituisce un ID colore stabile.

Parametri

color: Color3

Il nuovo colore.

Valore predefinito: ""
alpha: number

Il colore alpha (trasparenza).

Valore predefinito: ""

Restituzioni

ID colore stabile del nuovo colore.

AddNormal

Aggiunge un nuovo normale alla geometria e restituisce un ID normale stabile. Se il valore normale non viene specificato, il normale verrà calcolato automaticamente.

Parametri

normal: Vector3

Il vector normale. Se il valore normale non è specificato, il normale verrà calcolato automaticamente.

Valore predefinito: ""

Restituzioni

ID normale stabile del nuovo normale.

AddTriangle

Aggiunge un nuovo triangolo alla mesh e restituisce un ID del viso stabile.

Parametri

vertexId0: number

ID del primo vertice del triangolo.

Valore predefinito: ""
vertexId1: number

ID del secondo vertice del triangolo.

Valore predefinito: ""
vertexId2: number

ID del terzo vertice del triangolo.

Valore predefinito: ""

Restituzioni

ID faccia stabile del nuovo volto.

AddUV

Aggiunge un nuovo UV alla geometria e restituisce un ID UV stabile.

Parametri

La nuova coordinata UV.

Valore predefinito: ""

Restituzioni

ID UV stabile del nuovo UV.

AddVertex

Aggiunge un nuovo vertice alla geometria e restituisce un ID vertice stabile.

Parametri

Posizione nello spazio oggetti locale della mesh.

Valore predefinito: ""

Restituzioni

ID vertice stabile del nuovo vertice.

Destroy

()

Distrugge il contenuto della mesh, recuperando immediatamente la memoria utilizzata.


Restituzioni

()

FindClosestPointOnSurface

Trova il punto più vicino sulla superficie della mesh.Restituisce l'ID del viso, punta sulla mesh nello spazio oggetto locale e le coordinate baryentriche della posizione all'interno del viso.Vedi RaycastLocal() per ulteriori informazioni sulle coordinate baryentriche.

Parametri

point: Vector3

Posizione punto nell'area oggetto locale della mesh.

Valore predefinito: ""

Restituzioni

Triplo dell'ID del volto, punto sulla mesh nello spazio oggetto locale e la coordinata barycentrica della posizione all'interno del volto.

FindClosestVertex

Trova il vertice più vicino a un punto specifico nello spazio e restituisce un ID di vertice stabile.

Parametri

toThisPoint: Vector3

Posizione punto nell'area oggetto locale della mesh.

Valore predefinito: ""

Restituzioni

ID del vertice stabile più vicino al punto specificato nello spazio.

FindVerticesWithinSphere

Trova tutti i vertici all'interno di una sfera specifica e restituisce un elenco di ID di vertici stabili.

Parametri

center: Vector3

Centro della sfera nello spazio locale dell'oggetto della mesh.

Valore predefinito: ""
radius: number

Raggio della sfera.

Valore predefinito: ""

Restituzioni

Elenco di ID di vertice stabili all'interno della sfera richiesta.

GetAdjacentFaces

Dato un ID volto stabile, restituisce una lista di facce adiacenti.

Adjacent faces indicated around requested face

Parametri

faceId: number
Valore predefinito: ""

Restituzioni

Elenco di ID del viso adiacente al viso dato.

GetAdjacentVertices

Dato un ID vertex stabile, restituisce una lista di vertici adiacenti.

Adjacent vertices indicated around requested vertex

Parametri

vertexId: number

ID del verto su cui ottenere i vertici adiacenti.

Valore predefinito: ""

Restituzioni

Lista degli ID delle vertici adiacenti attorno all'ID del vertice dato.

GetCenter


Restituzioni

Centro della scatola di confezione del EditableMesh .

GetColor

Restituisce il colore per l'ID del colore specificato.

Parametri

colorId: number

ID colore per cui ottenere il colore.

Valore predefinito: ""

Restituzioni

Colore per l'ID del colore stabile richiesto.

GetColorAlpha

Restituisce il colore alpha (trasparenza) all'ID stabile dato.

Parametri

colorId: number

ID colore per cui ottenere l'alfa.

Valore predefinito: ""

Restituzioni

Alfa colore alla richiesta ID colore stabile.

GetColors

Restituisce tutti i colori della mesh come una lista di ID colori stabili.


Restituzioni

Elenco di ID colori stabili.

GetFaceColors

Restituisce gli ID del colore del viso per i vertici sul viso.

Parametri

faceId: number

ID del volto per cui ottenere gli ID del colore.

Valore predefinito: ""

Restituzioni

Elenco di ID di colore utilizzati per i vertici sul lato dato.

GetFaceNormals

Restituisce gli ID normali del viso per i vertici sul viso.

Parametri

faceId: number

ID del volto per cui ottenere gli ID normali.

Valore predefinito: ""

Restituzioni

Elenco di ID normali utilizzati per i vertici sul lato dato.

GetFaceUVs

Restituisce gli ID UV del viso per i vertici sul viso.

Parametri

faceId: number

ID del volto per cui ottenere gli ID UV.

Valore predefinito: ""

Restituzioni

Elenco di ID UV utilizzati per i vertici sul lato dato.

GetFaceVertices

Restituisce gli ID del vertice del viso.

Parametri

faceId: number
Valore predefinito: ""

Restituzioni

Lista degli ID di vertice intorno alla faccia data.

GetFaces

Restituisce tutti i volti della mesh come una lista di ID volti stabili.


Restituzioni

Elenco di ID faccia stabili.

GetNormal

Restituisce il normale vector per l'ID normale fornito.

Parametri

normalId: number

ID normale per cui ottenere il normale vector.

Valore predefinito: ""

Restituzioni

Vettore normale all'ID normale richiesto.

GetNormals

Restituisce tutti i normali della mesh come una lista di ID normali stabili.


Restituzioni

Elenco di ID normali stabili.

GetPosition

Ottiene la posizione di un vertice nello spazio oggetti locale della mesh.

Parametri

vertexId: number

ID vertice stabile per il quale ottenere la posizione.

Valore predefinito: ""

Restituzioni

Posizione di un vertice nello spazio oggetti locale della mesh.

GetSize


Restituzioni

Dimensione del EditableMesh .

GetUV

Restituisce le coordinate UV all'ID UV specificato.

Parametri

uvId: number

ID UV per cui ottenere le coordinate UV.

Valore predefinito: ""

Restituzioni

Coordinate UV alla richiesta dell'ID UV.

GetUVs

Restituisce tutti gli UV della mesh come una lista di ID UV stabili.


Restituzioni

Elenco di ID UV stabili.

GetVertices

Restituisce tutti i vertici come una lista di ID di vertici stabili.


Restituzioni

Elenco di ID di vertice stabili.

IdDebugString

Restituisce una stringa che descrive un ID stabile, utile per scopi di debug, come f17 o v12 , che contiene il tipo, il numero dell'ID e la versione.

Parametri

id: number

ID per il quale restituire una stringa di informazioni di debugging.

Valore predefinito: ""

Restituzioni

Stringa che descrive l'ID in formato leggibile dall'uomo.

MergeVertices

Map

Unisce i vertici che si toccano, per utilizzare un singolo ID di vertice ma mantenere gli altri ID di attributo originali.

Parametri

mergeTolerance: number

La distanza in cui i vertici sono considerati per toccarsi l'un l'altro.

Valore predefinito: ""

Restituzioni

Map

Una mappatura dell'ID vecchio vertice a nuovo vertice ID per i vertici che sono stati fusi.

RaycastLocal

Lancia un raggio e restituisce un punto di intersezione, l'ID del volto e le coordinate baryentriche.Gli input e gli output di questo metodo sono nello spazio oggetti locale della mesh.

Un coordinata barycentrica è un modo per specificare un punto all'interno di un volto come una combinazione pesata dei 3 vertici del volto.Questo è utile come modo generale di mescolare gli attributi dei vertici.Vedi l'esempio di codice di questo metodo come illustrazione.

Parametri

origin: Vector3

Origine del raggio nello spazio oggetti locale della mesh.

Valore predefinito: ""
direction: Vector3

Direzione del raggio.

Valore predefinito: ""

Restituzioni

Triplo del punto di intersezione, dell'ID del viso e delle coordinate baryentriche.

Campioni di codice

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

()

Rimuove un volto utilizzando il suo ID volto stabile.

Parametri

faceId: number
Valore predefinito: ""

Restituzioni

()

RemoveUnused

Rimuove tutti i vertici, le normali, gli UV e i colori che non vengono utilizzati in alcun volto e restituisce gli ID rimossi.


Restituzioni

Tutti gli ID stabili rimossi.

ResetNormal

()

Ripristina questo ID normale per essere calcolato automaticamente in base alla forma della mesh, invece di essere impostato manualmente.

Parametri

normalId: number

ID normale stabile da ripristinare.

Valore predefinito: ""

Restituzioni

()

SetColor

()

Imposta il colore per un ID colore.

Parametri

colorId: number

ID colore stabile per il quale impostare il colore.

Valore predefinito: ""
color: Color3

Colore da impostare.

Valore predefinito: ""

Restituzioni

()

SetColorAlpha

()

Imposta il colore alpha (trasparenza) per un ID colore.

Parametri

colorId: number

ID colore stabile per il quale impostare l'alfa del colore.

Valore predefinito: ""
alpha: number

Alpha da impostare.

Valore predefinito: ""

Restituzioni

()

SetFaceColors

()

Imposta i colori del vertice del viso su nuovi ID di colore.

Parametri

faceId: number

ID del volto per cui aggiornare i colori del vertice.

Valore predefinito: ""
ids: Array

Elenco di nuovi ID di colore stabile da utilizzare per i vertici del volto dato.

Valore predefinito: ""

Restituzioni

()

SetFaceNormals

()

Imposta i normali del vertice del viso a nuovi ID normali.

Parametri

faceId: number

ID del viso per cui aggiornare i normali del vertice.

Valore predefinito: ""
ids: Array

Elenco di nuovi ID normali stabili da utilizzare per i vertici del volto dato.

Valore predefinito: ""

Restituzioni

()

SetFaceUVs

()

Imposta gli UV del vertice del viso a nuovi ID UV.

Parametri

faceId: number

ID del viso per cui aggiornare gli UV del vertice.

Valore predefinito: ""
ids: Array

Elenco di nuovi ID UV stabili da utilizzare per i vertici del volto dato.

Valore predefinito: ""

Restituzioni

()

SetFaceVertices

()

Imposta i vertici del viso su nuovi ID vertici.

Parametri

faceId: number

ID del volto per cui aggiornare i vertici.

Valore predefinito: ""
ids: Array

Elenco di nuovi ID di vertice stabile da utilizzare per il volto dato.

Valore predefinito: ""

Restituzioni

()

SetNormal

()

Imposta il normale per un ID normale. Questo cambierà il valore normale per ogni vertice facciale che utilizza l'ID normale.

Parametri

normalId: number

ID normale stabile per il quale impostare il normale veicolo.

Valore predefinito: ""
normal: Vector3

Vettore normale da impostare.

Valore predefinito: ""

Restituzioni

()

SetPosition

()

Imposta una posizione del vertice nello spazio oggetti locale della mesh.

Parametri

vertexId: number

ID vertice stabile del vertice da posizionare.

Valore predefinito: ""

Posizione nello spazio oggetti locale della mesh.

Valore predefinito: ""

Restituzioni

()

SetUV

()

Imposta le coordinate UV per un ID UV.

Parametri

uvId: number

ID UV per il quale impostare le coordinate UV.

Valore predefinito: ""

Coordinate UV.

Valore predefinito: ""

Restituzioni

()

Triangulate

()

Dividi tutti i volti sulla mesh ad essere triangoli.Al momento non fa nulla poiché possono essere creati solo triangoli, ma se il tuo codice si basa su triangoli, è consigliato chiamare questo metodo dopo aver chiamato AssetService:CreateEditableMeshAsync() .


Restituzioni

()

Eventi