EditableMesh

Veraltete anzeigen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Nicht erstellbar

EditableMesh ändert die angewendete visuelle Mesh, wenn es mit einem MeshPart verbunden wird, und ermöglicht die Anfrage und Änderung der Mesh sowohl in Studio als auch im Erlebnis.

Aktivieren für veröffentlichte Erlebnisse

Zum Sicherheitszweck scheitert die Verwendung von EditableMesh für veröffentlichte Erlebnisse standardmäßig.Um die Nutzung zu aktivieren, musst du verifiziert sein 13+ Alter und ID verifiziert.Nachdem du verifiziert wurdest, öffne Studio's Spieleinstellungen, wähle Sicherheit aus und aktiviere den Allow Mesh / Image APIs Schalter.

Berechtigungen

Um Missbrauch zu verhindern, erlaubt AssetService:CreateEditableMeshAsync() nur das Laden und Bearbeiten von Mesh-Assets:

  • Diese gehören dem Ersteller des Erlebnisses (wenn das Erlebnis von einer Person besessen wird).
  • Diese gehören einer Gruppe (wenn das Erlebnis der Gruppe gehört).
  • Diese gehören dem angemeldeten Studio-Benutzer (wenn die Platzdatei noch nicht auf Roblox gespeichert oder veröffentlicht wurde).

Speichergrenzen

Bearbeitbare Assets sind derzeit teuer für die Speicherverwendung.Um seine Auswirkungen auf die Client-Leistung zu minimieren, hat EditableMesh strenge Client-Speicherbudgets, obwohl der Server, Studio und Plugins mit unbegrenztem Speicher arbeiten.Die Verwendung von FixedSize kann Ihnen helfen, innerhalb des Speicherbudgets zu bleiben, und in einigen Szenarien kann das Verknüpfen einer EditableMesh mit mehreren MeshParts (Multi-Referenz) bei der Speicheroptimierung helfen.

Erstellung und Anzeige

Ein EditableMesh kann aus einem vorhandenen Content eines MeshPart oder einer Mesh-ID mit AssetService:CreateEditableMeshAsync() erstellt werden, oder ein leeres EditableMesh kann mit AssetService:CreateEditableMesh() erstellt werden.Es kann dann angezeigt, modifiziert und sein Kollisionsmodell aktualisiert werden.Nicht alle Schritte sind notwendig; zum Beispiel möchten Sie vielleicht ein EditableMesh erstellen, um es nur zu raycasten, ohne es jemals anzuzeigen.


local AssetService = game:GetService("AssetService")
-- Leeres bearbeitbares Netz erstellen
local editableMesh = AssetService:CreateEditableMesh()
-- Erstellen von bearbeitbarem Netz aus Asset-ID
local editableMeshFromAsset = nil
local success, errorMessage = pcall(function()
editableMeshFromAsset = AssetService:CreateEditableMeshAsync(Content.fromAssetId(ASSET_ID))
end)
-- Erstellen von bearbeitbarem Netz aus einem anderen bearbeitbaren Netz
local editableMeshFromAnother = nil
local success, errorMessage = pcall(function()
editableMeshFromAnother = AssetService:CreateEditableMeshAsync(Content.fromObject(OTHER_EDITABLE_MESH))
end)
-- Erstellen von bearbeitbaren Meshes aus MeshPart
local editableMeshFromMeshPart = nil
local success, errorMessage = pcall(function()
editableMeshFromMeshPart = AssetService:CreateEditableMeshAsync(MESH_PART.MeshContent)
end)

Ein EditableMesh wird angezeigt, wenn es mit einem neuen MeshPart verbunden ist, durch AssetService:CreateMeshPartAsync() .Du kannst mehr Instanzen erstellen, die auf dasselbe referenzieren oder auf eine bestehende durch verlinken.


local AssetService = game:GetService("AssetService")
local Workspace = game:GetService("Workspace")
-- Erstellen von bearbeitbarem Netz aus Asset-ID
local editableMeshFromAsset = nil
local success, errorMessage = pcall(function()
editableMeshFromAsset = AssetService:CreateEditableMeshAsync(Content.fromAssetId(ASSET_ID))
end)
-- Erstellen Sie ein neues MeshPart, das mit dem bearbeitbaren Mesh verbunden ist
local newMeshPart = nil
local success, errorMessage = pcall(function()
newMeshPart = AssetService:CreateMeshPartAsync(Content.fromObject(editableMeshFromAsset))
end)
-- Alternativ verknüpfe das neue MeshPart, das oben erstellt wurde, mit einem bestehenden MeshPart
local existingMeshPart = Workspace:FindFirstChild("EXISTING_MESH_PART")
existingMeshPart:ApplyMesh(newMeshPart)

Um die Kollision und Fluidgeometrie nach der Bearbeitung wieder neu zu berechnen, kannst du erneut AssetService:CreateMeshPartAsync() und MeshPart:ApplyMesh() anrufen, um eine vorhandene MeshPart zu aktualisieren.Es wird in der Regel empfohlen, dies am Ende einer konzeptionellen Bearbeitung zu tun, nicht nach einzelnen Anrufen von Methoden, die Geometrie manipulieren.Visuelle Änderungen am Mesh werden immer sofort von der Engine reflektiert, ohne dass AssetService:CreateMeshPartAsync() aufgerufen werden muss.

Fixierte Größenmeshes

Wenn ein EditableMesh aus einem bestehenden Mesh-Asset erstellt wird (via AssetService:CreateEditableMeshAsync() ), wird das daraus resultierende bearbeitbare Mesh standardmäßig mit einer festen Größe fixiert.Fixierte Netze sind in Bezug auf Speicher effizienter, aber Sie können nicht die Anzahl von Vektoren, Gesichtern oder Attributen ändern.Nur die Werte der vertex-Attribute und Positionen können bearbeitet werden.


local AssetService = game:GetService("AssetService")
-- Erstellen von bearbeitbarem Netz ohne feste Größe Standard
local editableMeshFromAsset = nil
local success, errorMessage = pcall(function()
editableMeshFromAsset = AssetService:CreateEditableMeshAsync(Content.fromAssetId(ASSET_ID), {FixedSize = false})
end)

Stabile Vexel/Gesicht-IDs

Viele EditableMesh -Methoden nehmen vertex , normal , UV , Farbe und Gesicht IDs.Diese werden als Ganzzahlen in Luau dargestellt, aber sie erfordern eine spezielle Handhabung.Der Hauptunterschied besteht darin, dass IDs stabil sind und sie gleich bleiben, auch wenn sich andere Teile des Meshes ändern.Wenn zum Beispiel ein EditableMesh fünf Verteile hat {1, 2, 3, 4, 5} und Sie den Verteiler 4 entfernen, werden die neuen Verteile {1, 2, 3, 5} sein.

Beachten Sie, dass die IDs nicht garantiert in Ordnung sind und es möglicherweise Lücken in der Nummerierung gibt, so dass Sie beim Durchlaufen von Knoten oder Gesichtern durch die Tabelle, die von GetVertices() oder GetFaces() zurückgegeben wird, durchlaufen sollten.

Vertex-Attributte aufteilen

Ein Vertex ist ein Eck eines Gesichts und verbindet Gesichter topologisch miteinander.Vertices können mehrere Attribute haben: Position, Normal, UV-Koordinate, Farbe und Transparenz.

Manchmal ist es für alle Gesichter, die einen Vektor berühren, nützlich, die gleichen Attributswerte zu verwenden, aber manchmal möchten Sie, dass verschiedene Gesichter verschiedene Attributswerte auf demselben Vektor verwenden.Zum Beispiel auf einer glatten Kugel wird jeder Vektor nur eine einzige Norm haben.Im Gegensatz dazu wird an der Ecke eines Würfels der Vektor 3 verschiedene Normale haben (eins für jedes angrenzende Gesicht).Du kannst auch Nähte in den UV-Koordinaten oder scharfe Änderungen in den Vektorfarben haben.

Wenn Gesichter erstellt werden, wird jederVertex standardmäßig eines jedes Attributes haben: ein normales, eine UV-Koordinate und eine Farbe/Transparenz.Wenn du eine Naht erstellen möchtest, solltest du neue Attribute erstellen und sie auf dem Gesicht setzen.Zum Beispiel erstellt dieser Code einen scharfen Würfel:


local AssetService = game:GetService("AssetService")
-- Angesichts von 4 Gipfel-IDs fügt es ein neues Normal und 2 Dreieck hinzu, um einen scharfen Quad zu bilden
local function addSharpQuad(editableMesh, vid0, vid1, vid2, vid3)
local nid = editableMesh:AddNormal() -- Dies erstellt eine normale ID, die automatisch berechnet wird
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
-- Erstellt einen Würfel mit abgeflachten Kanten zwischen den 6 Seiten
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) -- Vordere
addSharpQuad(editableMesh, v1, v3, v4, v2) -- Zurück
addSharpQuad(editableMesh, v1, v5, v7, v3) -- Linker
addSharpQuad(editableMesh, v2, v4, v8, v6) -- Rechts
addSharpQuad(editableMesh, v1, v2, v6, v5) -- Unten
addSharpQuad(editableMesh, v3, v7, v8, v4) -- Oben
editableMesh:RemoveUnused()
return editableMesh
end

Wickeln

Mesh-Gesichter haben eine Vorderseite und eine Rückseite.Wenn Meshes gezeichnet werden, werden nur die Vorderseiten der Gesichter standardmäßig gezeichnet, obwohl Sie dies ändern können, indem Sie die Eigenschaft des Meshes auf festlegen.

Die Reihenfolge der Vertikale um das Gesicht bestimmt, ob du auf die Vorderseite oder die Rückseite schaust.Die Vorderseite des Gesichts ist sichtbar, wenn die Gipfel im Uhrzeigersinn um sie herum gehen.

Order of the vertices around the face

FACS-Positionen

Animierbare Köpfe verwenden das Facial Action Coding System (FACS).Siehe die FACS-Posenreferenz für hilfreiche Informationen bei der Verwendung von GetFacsPoses() und ähnlichen Methoden.

Jede FACS-Position wird durch einen Enum.FacsActionUnit Wert angegeben.Für die FACS-Pose können virtuelle Knochen jedes ein CFrame haben, das die ursprünglichen Knochen CFrame in der Bind-Pose des Meshes in die CFrame für die Pose der FACS-Aktionseinheit umwandelt.Alle Knochen CFrames sind im lokalen Raum des Meshes.

Diese FACS-Posen werden während der Animation zusammen gemischt.Manchmal produziert das Mischen der Basisposen schlechte Ergebnisse.In diesen Fällen kannst du die Mischung bestimmter Kombinationen von Grundstellungen mit einer korrigierenden Korrekturpose, die angenehmer ist, überschreiben.Eine korrigierende Pose wird durch 2 oder 3 Enum.FacsActionUnit Werte angegeben.Wie eine Basis-FACS-Pose, für eine korrigierende Pose können virtuelle Knochen jedes ein CFrame haben, das die ursprüngliche CFrame der Knochen in der Bind-Pose des Netzes in die CFrame für diese FACS-Korrektur verwandelt.

Beschränkungen

EditableMesh hat derzeit ein Limit von 60.000 Kanten und 20.000 Dreieck. Wenn du zu viele Kanten oder Dreieck hinzufügst, wird ein Fehler auftreten.

Zusammenfassung

Eigenschaften

  • Schreibgeschützt
    Nicht repliziert
    Roblox-Sicherheit
    Parallel lesen

    Gibt true zurück, wenn ein Mesh eine feste Größe hat.

Methoden

Eigenschaften

FixedSize

Schreibgeschützt
Nicht repliziert
Roblox-Sicherheit
Parallel lesen

Fixierte Meshes ermöglichen es, die Werte von vertex-Attributen zu ändern, erlauben aber nicht, dass vertex und Dreieck hinzugefügt oder gelöscht werden.

Methoden

AddColor

Fügt einer Geometrie eine neue Farbe hinzu und gibt eine stabile Farb-ID zurück.

Parameter

color: Color3

Die neue Farbe.

Standardwert: ""
alpha: number

Die Farbe alpha (Transparenz).

Standardwert: ""

Rückgaben

Stabile Farb-ID der neuen Farbe.

AddNormal

Fügt ein neues Normal zur Geometrie hinzu und gibt eine stabile normale ID zurück. Wenn der normale Wert nicht angegeben wird, wird der Normale automatisch berechnet.

Parameter

normal: Vector3

Der normale Vektor. Wenn der normale Wert nicht angegeben wird, wird der normale automatisch berechnet.

Standardwert: ""

Rückgaben

Stabile normale ID des neuen Normalen.

AddTriangle

Fügt einem Netz ein neues Dreieck hinzu und gibt eine stabile Gesichts-ID zurück.

Parameter

vertexId0: number

ID des ersten Vektors des Dreieckes.

Standardwert: ""
vertexId1: number

ID des zweiten Vektors des Dreieckes.

Standardwert: ""
vertexId2: number

ID des dritten Vektors des Dreieckes.

Standardwert: ""

Rückgaben

Stabile Gesichts-ID des neuen Gesichts.

AddUV

Fügt eine neue UV zur Geometrie hinzu und gibt eine stabile UV-ID zurück.

Parameter

Die neue UV-Koordinate.

Standardwert: ""

Rückgaben

Stabile UV-ID des neuen UV.

AddVertex

Fügt einen neuen Vektor zur Geometrie hinzu und gibt eine stabile Vektor-ID zurück.

Parameter

Position im lokalen Objektbereich des Meshes.

Standardwert: ""

Rückgaben

Stabile Vektor-ID des neuen Vektors.

Destroy

()

Zerstört den Inhalt des Meshes und holt sofort verwendetes Speicher zurück.


Rückgaben

()

FindClosestPointOnSurface

Findet den nächsten Punkt auf der Oberfläche des Meshes.Gibt die Gesichts-ID zurück, zeigt auf das Mesh im lokalen Objektbereich und die baryzentrische Koordinate der Position innerhalb des Gesichts.Siehe RaycastLocal() für weitere Informationen zu baryzentrischen Koordinaten.

Parameter

point: Vector3

Punktposition im lokalen Objektbereich des Meshes.

Standardwert: ""

Rückgaben

Triple der Gesichts-ID, Punkt auf dem Mesh im lokalen Objekt-Raum und die baryzentrische Koordinate der Position innerhalb des Gesichts.

FindClosestVertex

Findet den nächsten Vektor zu einem bestimmten Punkt im Raum und gibt eine stabile Vektor-ID zurück.

Parameter

toThisPoint: Vector3

Punktposition im lokalen Objektbereich des Meshes.

Standardwert: ""

Rückgaben

Die engste stabile Vektor-ID zum angegebenen Punkt im Raum.

FindVerticesWithinSphere

Findet alle Vektoren innerhalb einer bestimmten Sphäre und gibt eine Liste stabiler Vektor-IDs zurück.

Parameter

center: Vector3

Zentrum der Kugel im lokalen Objektbereich des Meshes.

Standardwert: ""
radius: number

Radius der Kugel.

Standardwert: ""

Rückgaben

Liste stabiler Vektor-IDs innerhalb der angeforderten Sphäre.

GetAdjacentFaces

Angesichts einer stabilen Gesichts-ID gibt er eine Liste der benachbarten Gesichter zurück.

Adjacent faces indicated around requested face

Parameter

faceId: number
Standardwert: ""

Rückgaben

Liste der Gesichts-IDs, die dem angegebenen Gesicht gegenüberliegen.

GetAdjacentVertices

Angesichts einer stabilen vertex-ID gibt es eine Liste von benachbarten vertexen zurück.

Adjacent vertices indicated around requested vertex

Parameter

vertexId: number

Vertex-ID, um adjakente Kanten zu erhalten.

Standardwert: ""

Rückgaben

Liste der IDs der angrenzenden Vervalte um die angegebene Vervalte-ID.

GetCenter


Rückgaben

Zentrum der Bindungsbox des EditableMesh .

GetColor

Gibt die Farbe für die angegebene Farb-ID zurück.

Parameter

colorId: number

Farben-ID, für die die Farbe abgerufen werden soll.

Standardwert: ""

Rückgaben

Farbe für die angeforderte stabile Farb-ID.

GetColorAlpha

Gibt die Farbe alpha (Transparenz) bei der angegebenen stabilen Farb-ID zurück.

Parameter

colorId: number

Farben-ID, für die man die Alpha erhalten soll.

Standardwert: ""

Rückgaben

Farbe alpha bei der Anfrage stabiler Farb-ID.

GetColors

Gibt alle Farben des Meshes als Liste stabiler Farb-IDs zurück.


Rückgaben

Liste der stabilen Farb-IDs.

GetFaceColors

Gibt die Farb-IDs des Gesichts für die Kanten auf dem Gesicht zurück.

Parameter

faceId: number

Gesichts-ID, für die die Farb-IDs erhalten werden sollen.

Standardwert: ""

Rückgaben

Liste der Farb-IDs, die für die Kanten auf dem angegebenen Gesicht verwendet werden.

GetFaceNormals

Gibt die normalen IDs des Gesichts für die Kanten auf dem Gesicht zurück.

Parameter

faceId: number

Gesichts-ID, für die die normalen IDs erhalten werden.

Standardwert: ""

Rückgaben

Liste der normalen IDs, die für die Vertexte auf dem angegebenen Gesicht verwendet werden.

GetFaceUVs

Gibt die UV-IDs des Gesichts für die Kanten auf dem Gesicht zurück.

Parameter

faceId: number

Gesichts-ID, für die UV-IDs erhalten werden sollen.

Standardwert: ""

Rückgaben

Liste der UV-IDs, die für die Vervorlagen auf dem angegebenen Gesicht verwendet werden.

GetFaceVertices

Gibt die vertex-IDs des Gesichts zurück.

Parameter

faceId: number
Standardwert: ""

Rückgaben

Liste der vertex-IDs rund um das angegebene Gesicht.

GetFaces

Gibt alle Gesichter des Meshes als Liste stabiler Gesichts-IDs zurück.


Rückgaben

Liste stabiler Gesichts-IDs.

GetNormal

Gibt den normalen Vektor für die angegebene normale ID zurück.

Parameter

normalId: number

Normale ID, für die der normale Vektor erhalten werden soll.

Standardwert: ""

Rückgaben

Normale Vektor bei der angeforderten normalen ID.

GetNormals

Gibt alle Normals des Meshes als Liste stabiler Normal-IDs zurück.


Rückgaben

Liste von stabilen normalen IDs.

GetPosition

Holt die Position eines Verts im lokalen Objektbereich der Mesh.

Parameter

vertexId: number

StabileVertex-ID, für die die Position bereitgestellt werden soll.

Standardwert: ""

Rückgaben

Position eines Verts im lokalen Objektbereich des Meshes.

GetSize


Rückgaben

Größe des EditableMesh .

GetUV

Gibt UV-Koordinaten bei der angegebenen UV-ID zurück.

Parameter

uvId: number

UV-ID, für die die UV-Koordinate bereitgestellt werden soll.

Standardwert: ""

Rückgaben

UV-Koordinaten bei der angeforderten UV-ID.

GetUVs

Gibt alle UVs des Meshes als Liste stabiler UV-IDs zurück.


Rückgaben

Liste der stabilen UV-IDs.

GetVertices

Gibt alle Kanten als Liste stabiler Kanten-IDs zurück.


Rückgaben

Liste der stabilen vertex-IDs.

IdDebugString

Gibt eine Zeichenkette zurück, die eine stabile ID beschreibt, nützlich für Debugging-Zwecke, wie f17 oder v12, die den Typ, die ID-Nummer und die Version enthält.

Parameter

id: number

ID, für die ein Rückgabestreifen mit Debugging-Informationen zurückgegeben werden soll.

Standardwert: ""

Rückgaben

Schnur, die die ID in einem menschlich lesbaren Format beschreibt.

MergeVertices

Map

Verschmilzt Kanten, die zusammen berühren, um eine einzige Kanten-ID zu verwenden, aber die anderen ursprünglichen Attribut-IDs beizubehalten.

Parameter

mergeTolerance: number

Die Entfernung, in der die Kanten miteinander berührt werden sollen.

Standardwert: ""

Rückgaben

Map

Eine Mapping von altenVertex-ID zu neuenVertex-ID für Vektoren, die zusammengeführt wurden.

RaycastLocal

Wirft einen Strahl und gibt einen Punkt der Intersektion, eine Gesichts-ID und baryzentrische Koordinaten zurück.Die Eingänge und Ausgänge dieser Methode befinden sich im lokalen Objektbereich des Meshes.

Eine baryzentrische Koordinate ist eine Möglichkeit, einen Punkt innerhalb eines Gesichts als eine gewichtete Kombination der 3 Verticke des Gesichts zu spezifizieren.Dies ist nützlich als allgemeine Art,Vertex-Attributen zu mischen.Sehen Sie den Code-Beispiel dieser Methode als Illustration.

Parameter

origin: Vector3

Herkunft des Strahls im lokalen Objektbereich des Meshes.

Standardwert: ""
direction: Vector3

Richtung des Strahls.

Standardwert: ""

Rückgaben

Triple des Punkts der Intersektion, Gesichts-ID und baryzentrischer Koordinaten.

Code-Beispiele

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

()

Entfernt ein Gesicht mit seiner stabilen Gesichts-ID.

Parameter

faceId: number
Standardwert: ""

Rückgaben

()

RemoveUnused

Entfernt alle Kanten, Normale, UVs und Farben, die in keinem Gesicht verwendet werden, und gibt die entfernten IDs zurück.


Rückgaben

Alle entfernten stabilen IDs.

ResetNormal

()

Setze diese normale ID auf eine automatische Berechnung basierend auf der Form des Meshes, anstatt manuell festgelegt.

Parameter

normalId: number

Stabile normale ID zum Zurücksetzen.

Standardwert: ""

Rückgaben

()

SetColor

()

Legt die Farbe für eine Farb-ID fest.

Parameter

colorId: number

Stabile Farb-ID, für die die Farbe festgelegt werden soll.

Standardwert: ""
color: Color3

Farbe zum Festlegen.

Standardwert: ""

Rückgaben

()

SetColorAlpha

()

Legt die Farbe alpha (Transparenz) für eine Farb-ID fest.

Parameter

colorId: number

Stabile Farb-ID, für die die Farbe Alpha festgelegt werden soll.

Standardwert: ""
alpha: number

Alpha zum Festlegen.

Standardwert: ""

Rückgaben

()

SetFaceColors

()

Setzt die Gipfelfarben des Gesichts auf neue Farb-IDs.

Parameter

faceId: number

Gesichts-ID, für die die vertex-Farben aktualisiert werden sollen.

Standardwert: ""
ids: Array

Liste neuer stabiler Farb-IDs, die für die Vervorlagen des angegebenen Gesichts verwendet werden sollen.

Standardwert: ""

Rückgaben

()

SetFaceNormals

()

Setzt die Normalvektoren des Gesichts auf neue normale IDs.

Parameter

faceId: number

Gesichts-ID, um die vertex-Normale zu aktualisieren.

Standardwert: ""
ids: Array

Liste neuer stabiler normaler IDs, die für die Vertikale des angegebenen Gesichts verwendet werden sollen.

Standardwert: ""

Rückgaben

()

SetFaceUVs

()

Setzt die UV-Vektoren des Gesichts auf neue UV-IDs.

Parameter

faceId: number

Gesichts-ID, für die die vertex UVs aktualisiert werden sollen.

Standardwert: ""
ids: Array

Liste neuer stabiler UV-IDs, die für die Vervorlagen des angegebenen Gesichts verwendet werden sollen.

Standardwert: ""

Rückgaben

()

SetFaceVertices

()

Setzt die Gipfel des Gesichts auf neue Gipfel-IDs.

Parameter

faceId: number

Gesichts-ID, für die die vertices aktualisiert werden sollen.

Standardwert: ""
ids: Array

Liste der neuen stabilen vertex-IDs, die für das angegebene Gesicht verwendet werden sollen.

Standardwert: ""

Rückgaben

()

SetNormal

()

Setze das Normale für eine normale ID. Dies ändert den normalen Wert für jeden Gesichtspunkt, der die normale ID verwendet.

Parameter

normalId: number

Stabile normale ID, für die der normale Vektor festgelegt werden soll.

Standardwert: ""
normal: Vector3

Normale Vektor zum Festlegen.

Standardwert: ""

Rückgaben

()

SetPosition

()

Setzt eineVertex-Position im lokalen Objektbereich des Meshes.

Parameter

vertexId: number

StabileVertex-ID des Verts zum Positionieren.

Standardwert: ""

Position im lokalen Objektbereich des Meshes.

Standardwert: ""

Rückgaben

()

SetUV

()

Legt UV-Koordinaten für eine UV-ID fest.

Parameter

uvId: number

UV-ID, für die die UV-Koordinaten festgelegt werden.

Standardwert: ""

UV Koordinaten.

Standardwert: ""

Rückgaben

()

Triangulate

()

Teilt alle Gesichter auf dem Netz in Dreieckform auf.Derzeit tut dies nichts, da nur Dreieck erstellt werden können, aber wenn dein Code auf Dreieck angewiesen ist, wird empfohlen, diese Methode aufzurufen, nachdem du AssetService:CreateEditableMeshAsync() aufgerufen hast.


Rückgaben

()

Ereignisse