Meine Frage ist: Gibt es eine Möglichkeit, GameObjects dazu zu bringen, Teile desselben Materials zu teilen, nicht einen Klon, sondern eine Erweiterung von einem? In diesem Fall werden beispielsweise neun Spielobjekte, die dasselbe Material verwenden, vergrößert, um die Größe von neun Objekten zu erreichen:
Und in dem Fall, in dem ich zum Beispiel eines in der Mitte lösche, wird das gleiche Material mit der Leerstelle im Inneren vergrößert:
Zu diesem Zweck habe ich ein Material pro Objekt verwendet, aber ich beabsichtige, nur eine Textur für mehrere Objekte oder beispielsweise mehr von einer Textur in verschiedenen Teilen desselben zu verwenden. (Wie der Malknopf, den wir in den benutzerdefinierten Unity3D-Terrains haben).
unity
3d-meshes
gameobject
JamesB
quelle
quelle
Antworten:
Haben Sie sich mit der Verwendung von Unitys Shadergraph befasst, um Ihren eigenen Shader für das Material zu erstellen? Möglicherweise können Sie das erreichen, was Sie möchten, indem Sie die Weltraumposition für Texturen / UVs verwenden. Ich kann es nicht gut erklären und bin nicht gut in Shadern, aber ich habe ein schnelles Beispiel für Sie als Wasser-Shader verspottet, weil ich gelangweilt war und bereits in meinem Projekt herumgespielt habe, das Experimenten gewidmet war.
Dieses Bild zeigt, dass die überlappenden Ebenen dasselbe Material zu haben scheinen
Dies ist das Beispiel in Shadergraph
Kurze Zusammenfassung der Shader-Knoten aus meinem Beispiel, so wie ich sie verstehe
Wenn jemand der Meinung ist, dass etwas, was ich gesagt oder getan habe, falsch ist oder verbessert werden könnte, können Sie mich gerne korrigieren. Ich lerne noch und ein Anstoß in die richtige Richtung ist immer willkommen. Ich habe die Beispielszene auf Google Drive hochgeladen , damit Sie damit herumspielen können. unsicher, ob eine Zuordnung erforderlich ist, aber das verwendete Wasservermögen ist kostenlos und von gametextures.com
quelle
Sie können einen Sprite-Atlas aus einer Textur erstellen, ein untergeordnetes Objekt für Ihre Ebene oder eine beliebige Form erstellen, erstellte Sprite-Ausschnitte ziehen, das untergeordnete Objekt innerhalb des Flugzeug-Spielobjekts drehen und platzieren, wie Sie möchten, und voila, sehen Sie sich das Bild an unten zu sehen, was ich meine,
Es mag mühsam sein, aber es scheint, dass diese Lösung genau zu Ihnen passt.
quelle
Eine weitere Option ist die Verwendung des Projektorobjekts im Ordner "Unity Standard Assets". Es ist nicht sehr performant, aber sehr einfach einzurichten. In einfachen Fällen kann es also genau das sein, wonach Sie suchen. Aber wie gesagt, es hat einen ziemlich erheblichen Einfluss auf die Leistung, insbesondere wenn Sie größere Texturen projizieren.
quelle