Instanz-Streaming

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

In-Experience Instanz-Streaming ermöglicht es der Roblox-Engine, 3D-Inhalte und verwandte Instanzen dynamisch in Regionen der Welt zu laden und zu entladen.Dies kann die Gesamterfahrung des Spielers auf mehrere Weisen verbessern, zum Beispiel:

  • Schnellere Beitrittszeiten — Spieler können in einem Teil der Welt spielen, während mehr der Welt im Hintergrund geladen wird.
  • Speichereffizienz — Erlebnisse können auf Geräten mit weniger Speicher gespielt werden, da Inhalte dynamisch eingegeben und ausgegeben werden.Mehr immersive und detaillierte Welten können auf einer breiteren Palette von Geräten gespielt werden.
  • Verbesserte Leistung — Bessere Rahmenraten und Erfüllung, da der Server weniger Zeit und Bandbreite damit verbringen kann, Änderungen zwischen der Welt und den Spielern darin zu synchronisieren.Kunden verbringen weniger Zeit damit, Instanzen zu aktualisieren, die dem Spieler:inderzeit nicht relevant sind.
  • Detaillierungsgrad — Entfernte Modelle und Gelände bleiben auch sichtbar, wenn sie nicht an Clients gestreamt werden, und die Erfahrung optimiert bleibt, ohne Hintergrundvisuals vollständig aufzugeben.

Streaming aktivieren

Instance-Streaming wird durch die StreamingEnabled Eigenschaft des Arbeitsbereichs Objekts in Studio aktiviert.Diese Eigenschaft kann in einem Skript, das. PL: die Skriptsnicht festgelegt werden.Streaming ist standardmäßig für neue Orte aktiviert, die im Studio erstellt wurden.

The Properties window with the StreamingEnabled property enabled.

Sobald aktiviert, wird empfohlen, sich an die folgenden Praktiken zu halten:

  • Da Clients nicht typischerweise die gesamte Workspace Verfügbarkeit lokal haben, verwende das entsprechende Werkzeug/API, um sicherzustellen, dass Instanzen existieren, bevor du versuchst, auf sie in einer LocalScript zuzugreifen.Verwenden Sie zum Beispiel Streaming-Steuerelemente pro Modell , erkennen von Instanzstreaming oder verwenden Sie auf Objekten, die möglicherweise nicht existieren.
  • Vermeiden Sie die Platzierung von 3D-Inhalten außerhalb von Workspace.Inhalte in Containern wie ReplicatedStorage oder ReplicatedFirst sind für das Streaming nicht elegibel und können die Verbindungszeit und den Speicherverbrauch negativ beeinflussen.
  • Wenn du den Charakter eines Spieler:inverschiebst, indem du seine CFrame festlegst, tue dies von einer serverseitigen Script aus und verwende Streaminganfragen, um Daten um den neuen Standort des Charakters schneller zu laden.
  • Stelle die ReplicationFocus des Spieler:inmanuell nur in einzigartigen Situationen ein, wie in Erlebnissen, die kein Player.Character verwenden.In diesen Fällen stelle sicher, dass der Fokus in der Nähe der Objekte ist (en), die der Spieler steuert, um sicherzustellen, dass der Inhalt weiterhin rund um den Interaktionspunkt des Spieler:ingestreamt wird.

Technisches Verhalten

Stream ein

Standardmäßig, wenn ein Spieler einer Erfahrung mit aktiviertem Instanzstreaming beitritt, werden Instanzen in der Workspace repliziert auf den Client, ausgenommen die gefolgte Profile:

Dann kann der Server während des Gameplaynotwendige Instanzen zum Client streamen, solange sie benötigt werden.

Diagram showing when various instances and their descendants in the Workspace stream in.
1 Das Terrain wird einzigartig behandelt, in dem die Instanz zum Client repliziert wird, wenn die Erfahrung geladen wird, aber die Terrainregionen nur dann streamen, wenn sie benötigt werden

Modellverhalten

Modelle werden auf nicht standardmäßiges Verhalten wie Atomisches Stream in unter speziellen Regeln festgelegt, wie in Per-Modell-Streamingsteuere beschrieben.Standardmäßige (nicht atomare) Modelle werden jedoch unterschiedlich gesendet, basierend darauf, ob ModelStreamingBehavior auf Standard ( Legacy ) oder Verbessert eingestellt ist.

The Properties window with the ModelStreamingBehavior property set to Default.

Wenn Modellstreamingverhalten auf Standard / Legacy gesetzt ist, replizieren sich der Model -Container und seine nicht-räumlichen Nachkommen wie Scripts dem Client, wenn der Spieler beitritt.Dann, wenn berechtigt, fließen die Nachkommen des Modells BasePart ein.

Diagram showing default model stream in behavior.

Ausstrahlen

Während des Gameplaykann ein Client ausstrahlen (von den Regionen des Spieler:inWorkspace entfernen) und die darin enthaltenen BaseParts auf Basis des von StreamOutBehavior festgelegten Verhaltens.Der Prozess beginnt mit Regionen, die am weitesten vom Charakter des Spieler:inentfernt sind (oder ReplicationFocus ), und bewegt sich im Bedarfsfall näher.Regionen innerhalb des StreamingMinRadius Bereichs werden nie gestreamt.

Wenn eine Instanz ausgeht, wird sie zu nil übernommen, so dass jeder vorhandene Luau-Zustand wieder verbunden wird, wenn die Instanz zurückfließt.Als Ergebnis werden Signale wie ChildRemoved oder DescendantRemoving Feuer auf seine Eltern oder Vorfahren abgefeuert, aber die Instanz selbst wird nicht im selben Sinne zerstört wie ein Instance:Destroy() Anruf.

Um die Streamausgabe weiter vorherzusagen, untersuchen Sie diese Szenarien:

SzenarioBeispielStreaming-Verhalten
Ein Teil wird erstellt lokal durch Instance.new() in einem LocalScript erstellt.In einem "Markierungeinfangen"-Spiel erstellst du und fügst blaue Helmteile allen Spielern im blauen Team durch eine LocalScript hinzu.Das Teil wird nicht auf den Server repliziert, und es ist von der Ausstrahlung ausgenommen es sei denn , du machst es zu einem Nachkommen eines Teils, das auf dem Server existiert, wie ein Teil innerhalb des Modelleines Spieler:in.
Ein Teil wird geklont lokal von ReplicatedStorage durch Instance:Clone() in einem LocalScript geklont.Ein Zaubercharakter wirft einen Zauber aus, indem er einen aktiviert, auf dem ein Objekt mit mehreren Spezialeffekten geklont wird, von der Position des Zaubers in den Arbeitsbereich übernommen wird.Das Teil wird nicht auf den Server repliziert, und es ist von der Ausstrahlung ausgenommen es sei denn , du machst es zu einem Nachkommen einer auf dem Server existierenden Teil.
Ein Teil wird repariert von ReplicatedStorage an den Arbeitsbereich über einen LocalScript übertragen.Ein "Zaubererhut" wird in ReplicatedStorage gespeichert.Wenn ein Spieler sich dazu entscheidet, im Team des Zauberers zu spielen, wird der Hut über einen LocalScript in sein Charaktermodell verschoben.Der Teil bleibt für das Streaming berechtigt, da er vom Server kam und in ReplicatedStorage repliziert wurde.Vermeiden Sie dieses Muster, da es zu einer Desynchronisierung zwischen dem Client und dem Server führt, und der Teil möglicherweise ausgestreamt wird; stattdessen klonen Sie den Teil.

Modellverhalten

Wenn Sie Modellstreamingverhalten auf Verbessert einstellen, kann die Engine Standardmodelle ( nichtatomar ) ausstrahlen, wenn sie berechtigt sind, ausgestrahnt zu werden, und reduziert möglicherweise die Instanzen, die Eigenschaftsaktualisierungen benötigen.

The Properties window with the ModelStreamingBehavior property set to Improved.

Unter Verbessertes Modell-Streaming-Verhalten, Streamen aus Standard ( Nonatomic ) Modellen basiert darauf, ob das Modell räumlich (enthält BasePart Nachkommen) oder nicht räumlich (enthält keine BasePart ) ist.

  • Ein räumliches Modell wird nur komplett ausgestreamt, wenn sein letzter verbleibender BasePart Nachkomme ausgestreamt wird, da einige der räumlichen Teile des Modells in der Nähe des Spielers/Replikationsfokus und einige weit entfernt sein können.
  • Ein nicht-räumliches Modell wird nur dann ausgestreamt, wenn ein Vorfahrt ausgestreamt wird, gleich wie das veraltete Streaming-Verhalten.

Versammlungen und Mechanismen

Wenn mindestens ein Teil einer Montagemaschine zum Streamen berechtigt ist, werden auch alle Teile der Montagemaschine gestreamt.Eine Montagemaschine sendet jedoch nicht aus , bis alle ihrer Teile für den Streaming-Ausgang berechtigt sind.Während des Streamings werden alle Constraints und Attachments von unten absteigend von BaseParts und atomar oder persistent Models gestreamt, was dazu beiträgt, sicherzustellen, dass physikalische Updates auf Clients konsistent sind.

Beachten Sie, dass Versammlungen mit verankerten Teilen leicht anders behandelt werden als Versammlungen mit nur unverankerten Teilen:

AnsammlungskompositionStreaming-Verhalten
Nur unverankerte TeileDie gesamte Montagemaschine wird als atomare Einheit gesendet.
Verankerte WurzelteilNur die Teile, Anhänge und Einschränkungen, die zum Verknüpfen der gestreamten Teile mit dem verwurzelten Teil benötigt werden, werden zusammen gestreamt.

Zeitverzögerung

Es kann eine leichte Verzögerung von ~10 Millisekunden zwischen der Erstellung einer Teil auf dem Server und der Replikation an Clients geben.In jedem der folgenden Szenarien müssen Sie möglicherweise WaitForChild() und andere Techniken verwenden, anstatt zu vermuten, dass Ereignisse und Eigenschaftsaktualisierungen immer zur gleichen Zeit wie Teilstreaming auftreten.

SzenarioBeispielStreaming-Verhalten
Ein LocalScript macht einen RemoteFunction Anruf beim Server, um ein Teil zu erstellen.Ein Spieler aktiviert eine Tool lokal, um ein Teil auf dem Server zu spawnen, mit dem alle Spieler interagieren können.Wenn die Remotefunktion zum Client zurückkehrt, existiert das Teil möglicherweise noch nicht, obwohl das Teil dem Kundenfokus nahe ist und sich innerhalb eines gestreamten Bereichs befindet.
Ein Teil wird auf ein Charaktermodell auf dem Server durch ein Script und ein RemoteEvent auf einen Client abgefeuert.Wenn ein Spieler dem Teambeitritt, wird ein "Polizeiabzeichen"-Teil, das in ServerStorage gespeichert ist, geklont und dem Modelldes Spieler:inangehängt.Ein RemoteEvent wird vom Client eines Spieler:inabgefeuert und empfangen, um ein lokales UI-Element zu aktualisieren.Obwohl der Client das Ereignissignal empfängt, gibt es keine Garantie, dass das Teil bereits an diesen Client gestreamt wurde.
Ein Teil kollidiert mit einer unsichtbaren Region auf dem Server und löst eine RemoteEvent auf dem Client aus.Ein Spieler schießt einen Fußball in ein Tor, was ein "Tor erzielt"-Ereignis auslöst.Andere Spieler, die dem Ziel nahe sind, können das Ereignis "Ziel erzielt" sehen, bevor der Ball an sie gestreamt wurde.

Streaming-Eigenschaften

Die folgenden Eigenschaften steuern, wie sich Instanzstreaming auf deine Erlebnisauswirkt.Alle diese Eigenschaften sind nicht skriptbar und müssen auf dem Arbeitsbereich -Objekt in Studio festgelegt werden.

The Properties window with the ModelStreamingBehavior, StreamingIntegrityMode, StreamingMidRadius, StreamingTargetRadius, and StreamOutBehavior property highlighted.

Modellstreamingverhalten

Steuert, ob Standard ( Nichtatomar ) Modelle repliziert werden, wenn ein Spieler beitritt, oder nur dann gesendet werden, wenn sie benötigt werden.Wenn diese Eigenschaft auf Verbessert gesetzt ist, werden Modelle in Workspace nur dann an Clients gesendet, wenn sie benötigt werden, was die Verbindungszeiten möglicherweise beschleunigt.Siehe Technisches Verhalten für weitere Details.

StreamingIntegritätModus

Deine Erfahrung kann sich auf unerwartete Weise verhalten, wenn ein Spieler in eine Region der Welt eintritt, die nicht gestreamt wurde.Die Streaming-Integrität Funktion bietet eine Möglichkeit, diese möglicherweise problematischen Situationen zu vermeiden.Bitte siehe die Enum.StreamingIntegrityMode.

StreamingMinRadius

Die Eigenschaft StreamingMinRadius gibt den Radius um den Charakter des Spieler:inan (oder ReplicationFocus), in dem Instanzen mit höchster Priorität gestreamt werden.Beim Erhöhen des Standardwerts muss Vorsicht walten, da dies mehr Speicher und mehr Serverbandbreite auf Kosten anderer Komponenten erfordern wird.

StreamingZielradius

Die Eigenschaft StreamingTargetRadius steuert die maximale Entfernung vom Charakter des Spieler:in(oder ReplicationFocus ) in der Instanz, in der gestreamt wird.Beachten Sie, dass die Engine es erlaubt ist, zuvor geladene Instanzen außerhalb des Zielradius beizubehalten, sofern das Gedächtnis es zulässt.

Ein kleinerer StreamingTargetRadius reduziert die Serverbelastung, da der Server nicht in zusätzlichen Instanzen außerhalb des festgelegten Werts gestreamt wird.Der Zielradius ist jedoch auch die maximale Entfernung, in der Spieler das volle Detail deiner Erlebnissehen können, also solltest du einen Wert wählen, der ein schönes Gleichgewicht zwischen diesen schafft.

StreamOutVerhalten

Die Eigenschaft StreamOutBehavior legt das Streaming-Verhalten entsprechend einem der folgenden Werte fest:

EinstellungStreaming-Verhalten
Standardmäßig Standardverhalten, derzeit das gleiche wie LowMemory .
Geringe Speichergröße Der Client streamt nur Teile in einer niedrigen Speicher Situation und kann 3D-Inhalte entfernen, bis nur der minimale Radius vorhanden ist.
Chancenreich Regionen jenseits von StreamingTargetRadius können vom Client entfernt werden, auch wenn es keinen Speicherdruck gibt.In diesem Modus entfernt der Client niemals Instanzen, die näher als der Zielradius sind, außer in Situationen mit geringem Speicher.

Steuerungpro Modell

Globale, lässt die Eigenschaft ModelStreamingBehavior Sie die Art und Weise steuern, wie Modelle beim Beitritt gestreamt werden.Zusätzlich, um Probleme mit dem Streaming auf der Grundlage eines jeden Modells zu vermeiden und die Verwendung von und ihren Nachkommen durch ihre Eigenschaft zu minimieren, kannst du anpassen, wie und ihre Nachkommen durch ihre Eigenschaftenstreamen.

The Properties window with the ModelStreamingMode property set to Default. The property is also highlighted.

Standard / nicht-atomar

Wenn ein Model auf Standard oder Nichtatomar eingestellt ist, unterscheidet sich das Streamingverhalten je nachdem, ob ModelStreamingBehavior auf Standard ( Legacy ) oder Verbessert eingestellt ist.

ModellstreamingverhaltenTechnisches Verhalten
Standard ( Legacy )Das Modell wird repliziert, wenn ein Spieler beitritt.Dies kann zu mehr Instanzen führen, die während der Laufzeit gesendet werden, zu mehr Instanzen, die im Speicher gespeichert sind, und zusätzlicher Komplexität für Skripte, die auf die Nachkommen des Modells zugreifen möchten.Zum Beispiel muss ein separates LocalScript verwenden WaitForChild() auf einem Nachkommen BasePart innerhalb des Modells.
Verbessert Das Modell wird nur dann gesendet, wenn es nötig ist, was die Verbindungszeiten möglicherweise beschleunigt.

Siehe technisches Verhalten für weitere Details.

Atomär

Wenn ein Model in Atomar geändert wird, werden alle seine Nachkommen zusammen gestreamt, wenn ein Nachkomme BasePart berechtigt ist.Als Ergebnis müsste ein separates LocalScript, das auf Instanzen im Modell zugreifen muss, auf das Modell selbst WaitForChild() zugreifen, aber nicht auf einen Nachkommen MeshPart oder Part, da sie neben dem Modell gesendet werden.

Ein atomares Modell wird nur dann gestreamt, wenn alle seine abstehenden Teile zum Streamen berechtigt sind, und an dieser Stelle wird das gesamte Modell zusammen gestreamt.Wenn nur einige Teile eines atomaren Modells typischerweise gestreamt werden, bleibt das gesamte Modell und seine Nachkommen auf dem Client.

A diagram showing Atomic model streaming along with children.
Lokales Skript

local Workspace = game:GetService("Workspace")
-- Atommodell existiert zur Ladezeit nicht; verwende WaitForChild()
local model = Workspace:WaitForChild("Model")
-- Absteckende Teile fließen mit dem Modell ein und sind sofort zugänglich
local meshPart = model.MeshPart
local part = model.Part

Beständig

Beständige Modelle unterliegen nicht der normalen Streaming-Ein- oder -Ausgabe.Sie werden als vollständige atomare Einheit kurz nachdem der Spieler beitritt und vor dem Workspace.PersistentLoaded Ereignis abgefeuert.Beständige Modelle und ihre Nachkommen werden nie gestreamt, aber um das Streaming innerhalb einer separaten LocalScript sicher zu handhaben, solltest du auf dem Elternmodell WaitForChild() verwenden oder auf das Ereignis PersistentLoaded warten, bis es initiierenwird.

A diagram showing Persistent model streaming along with children.
Lokales Skript

local Workspace = game:GetService("Workspace")
-- Dauerhaftes Modell existiert zur Ladezeit nicht; verwende WaitForChild()
local model = Workspace:WaitForChild("Model")
-- Absteckende Teile fließen mit dem Modell ein und sind sofort zugänglich
local meshPart = model.MeshPart
local part = model.Part

PersistentPerSpieler

Modelle, die auf PersistentPerPlayer eingestellt sind, verhalten sich gleich wie Persistent für Spieler, die mit Model:AddPersistentPlayer() hinzugefügt wurden.Für andere Spieler ist das Verhalten das gleiche wie Atomar.Du kannst ein Modell von der Beständigkeit des Spielers über Model:RemovePersistentPlayer() rückgängig machen.

Anfordern von Bereichsstreaming

Wenn du den CFrame eines Spielerkennzeichnens auf eine Region einstellst, die derzeit nicht geladen ist, tritt eine Streaming-Pause ein, wenn aktiviert.Wenn du weißt, dass der Charakter in einen bestimmten Bereich bewegt wird, kannst du Player:RequestStreamAroundAsync() anrufen, um zu verlangen, dass der Server Regionen rund um diesen Standort an den Client sendet.

Die folgenden Skripte zeigen, wie ein Client-zu-Server-Remote-Ereignis abgefeuert wird, um einen Spieler innerhalb eines Ortes zu teleportieren, der bei der Streaming-Anfrage erbracht wird, bevor der Charakter in eine neue CFrame verschoben wird.

Skript - Spielercharakter teleportieren

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local teleportEvent = ReplicatedStorage:WaitForChild("TeleportEvent")
local function teleportPlayer(player, teleportTarget)
-- Anfordern von Streaming rund um den Zielstandort
player:RequestStreamAroundAsync(teleportTarget)
-- Teleportierungszeichen
local character = player.Character
if character and character.Parent then
local currentPivot = character:GetPivot()
character:PivotTo(currentPivot * CFrame.new(teleportTarget))
end
end
-- Rufe die Teleportationsfunktion auf, wenn der Client das Remote-Ereignis feuert
teleportEvent.OnServerEvent:Connect(teleportPlayer)
LocalScript - Feuere remotes Ereignis

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local teleportEvent = ReplicatedStorage:WaitForChild("TeleportEvent")
local teleportTarget = Vector3.new(50, 2, 120)
-- Feuere das Remote-Ereignis ab
teleportEvent:FireServer(teleportTarget)

Instanzstreaming erkennen

In einigen Fällen ist es notwendig, zu erkennen, wann ein Objekt ein- oder ausgeht und auf dieses Ereignis zu reagieren.Ein nützliches Muster für die Streamerkennung ist wie folgt:

  1. Verwenden Sie den Tags-Abschnitt der Eigenschaften einer Instanz oder den Tag-Editor von Studio, um allen betroffenen Objekten ein logisches CollectionService zuzuweisen.

  2. Von einem einzelnen LocalScript , erkennen, wenn ein mit einem Tag versehenes Objekt durch GetInstanceAddedSignal() und GetInstanceRemovedSignal() in oder ausgestreamt wird, und das Objekt dann entsprechend handhaben.Zum Beispiel fügt der folgende Code markierte Light -Objekte in eine "Flimmer"-Schleife ein, wenn sie eingestreamt werden, und entfernt sie, wenn sie ausgegeben werden.

    LocalScript - CollectionService Streaming-Erkennung

    local CollectionService = game:GetService("CollectionService")
    local tagName = "FlickerLightSource"
    local random = Random.new()
    local flickerSources = {}
    -- Erkennen Sie derzeit und neue mit Tags versehene Teile, die eingestreamt oder ausgegeben werden
    for _, light in CollectionService:GetTagged(tagName) do
    flickerSources[light] = true
    end
    CollectionService:GetInstanceAddedSignal(tagName):Connect(function(light)
    flickerSources[light] = true
    end)
    CollectionService:GetInstanceRemovedSignal(tagName):Connect(function(light)
    flickerSources[light] = nil
    end)
    -- Flimmerlichtschleife
    while true do
    for light in flickerSources do
    light.Brightness = 8 + random:NextNumber(-0.4, 0.4)
    end
    task.wait(0.05)
    end

Pausenbildschirm anpassen

Die Eigenschaft Player.GameplayPaused zeigt den aktuellen Pausenstatus des Spieler:inan.Diese Eigenschaft kann mit einer GetPropertyChangedSignal() Verbindung verwendet werden, um eine benutzerdefinierte grafische Benutzeroberflächeanzuzeigen oder auszublenden.

Lokales Skript

local Players = game:GetService("Players")
local GuiService = game:GetService("GuiService")
local player = Players.LocalPlayer
-- Standard-Pausenmodus deaktivieren
GuiService:SetGameplayPausedNotificationEnabled(false)
local function onPauseStateChanged()
if player.GameplayPaused then
-- grafische Benutzeroberflächeanzeigen anpassen
else
-- grafische Benutzeroberflächeverbergen
end
end
player:GetPropertyChangedSignal("GameplayPaused"):Connect(onPauseStateChanged)

Modellierungsgrad der Details

Wenn Streaming aktiviert ist, wird Models außerhalb des derzeit gestreamten Bereichs standardmäßig nicht sichtbar sein.Sie können jedoch die Engine anweisen, niedrigere Auflösung "Imposter"-Meshes für Modelle zu rendern, die nicht auf Clients vorhanden sind, durch die EigenschaftenLevelOfDetail des Modells für jedes Modell.

LevelOfDetail property indicated for Model instance
A globe model displays in its actual level of detail.

Tatsächliches Modell
>

The same globe model displays as a low resolution imposter mesh with rough edges that obscure the globe's details.

Niedrige Auflösung "imposter"-Mesh
>

Modell-EinstellungStreaming-Verhalten
StreamingMesh Aktiviert die asynchrone Generierung eines Betrügernetzes, um es anzuzeigen, wenn das Modell nicht auf den Clients vorhanden ist.
Deaktiviert / Automatisch Das Modell verschwindet, wenn es außerhalb des Streamingradius ist.

Wenn du Betrüger- Meshes verwendest, beachte gefolgte Profile:

  • Betrüger- Meshes sind so konzipiert, dass sie bei 1024 Klötzen von der Kamera entfernt oder weiter gesehen werden.Wenn du StreamingTargetRadius auf einen viel kleineren Wert wie 256 reduziert hast, können Betrüger-Meshes für das Modell, das sie ersetzen, nicht visuell akzeptabel sein.
  • Wenn ein Modell und seine untergeordneten Modelle alle auf StreamingMesh eingestellt sind, wird nur das oberste Vorfahrenmodell als Betrüger-Netz gerendert, das alle Geometrien unter dem Vorfahren und seine untergeordneten Modelle einwickelt.Für eine bessere Erfüllungwird empfohlen, Deaktiviert für abstehende Modelle zu verwenden.
  • Texturen werden nicht unterstützt; Betrüger-Meshes werden als glatte Meshes gerendert.
  • Während ein Model nicht vollständig gestreamt wird, wird das Eindringling-Mesh anstelle einzelner Teile des Modells gerendert.Sobald alle einzelnen Teile gestreamt wurden, werden sie gerendert und die Betrüger-Mesh wird ignoriert.
  • Betrüger-Meshes haben keine physische Bedeutung und agieren als nicht existent in Bezug auf Raycasting, Kollisionserkennung und Physiksimulation.
  • Das Bearbeiten eines Modells in Studio, wie das Hinzufügen/Löschen/Verschieben von Kindern oder das Zurücksetzen von Farben, aktualisiert automatisch das repräsentative Mesh.