Zu Beginn einer Szene habe ich GameObject namens "Blatt" über einem "Ball" GameObject positioniert. Das Blatt enthält eine interaktive Stoffkomponente und einen Stoffrenderer. Das Netz für die interaktive Stoffkomponente ist eine Ebene mit einer hohen Anzahl von Scheitelpunkten. Zur Laufzeit fällt das Blatt über den Ball und erzeugt die gewünschte Form. Wenn ich die Interactive Cloth-Komponente zu diesem Zeitpunkt deaktiviere, bleibt das Blattnetz genau so, wie ich es möchte, aber ich kann es nicht als Fertighaus herausziehen.
Kennt jemand einen Weg, um eine Kopie dieser Form zu bekommen?
Zum Beispiel, indem Sie das Netz zur Laufzeit vom interaktiven Stoff lesen und dann verwenden, um das Netz ohne die interaktive Stoffkomponente wieder so zu ändern, wie ich es möchte.
Jede Hilfe wäre sehr dankbar.
Antworten:
Ein einfaches Verhalten und ein benutzerdefinierter Inspektor helfen dabei. Fügen Sie dies Ihren Skripten hinzu:
Fügen Sie dann in der Szene das SaveMeshBehaviour zu Ihrem Stoff hinzu. Der benutzerdefinierte Inspektor sorgt dafür, dass die neue Komponente über eine Schaltfläche Speichern verfügt. Wenn Sie Ihre Szene abspielen, klicken Sie auf die Schaltfläche Speichern. Dadurch wird ein Netz gespeichert, das eine Kopie der Ebene ist.
Hoffe das hilft!
quelle
copy.vertices = cloth.vertices
erstellen Sie anschließend wie oben beschrieben ein Asset aus der Kopie. Ich bin mir nicht sicher, ob es funktionieren wird, aber es könnte sein.