Seit Version 5 (?) Hat Unity einen neuen Komponententyp BillboardRenderer
. Leider ist die Dokumentation ziemlich schlecht.
Es kann im Inspektor hinzugefügt werden, indem Sie auf "Komponente hinzufügen -> Verschiedenes -> Billboard-Renderer" klicken. Anscheinend ist jedoch eine Aktion erforderlich Billboard Asset
. Es scheint keine Möglichkeit zu geben, eine über die Unity-Oberfläche zu erstellen.
Einer der wenigen Sätze aus der ebenso schlechten Dokumentation von BillboardAsset lautet:
imageCount Anzahl der vorgebackenen Bilder, die umgeschaltet werden können, wenn die Werbetafel aus verschiedenen Blickwinkeln betrachtet wird.
Mein neuestes Projekt wird Sprite / Polygon-Mix-Grafiken haben, daher könnte ich eine Komponente, die je nach Betrachtungswinkel eine Werbetafel mit einem anderen Sprite rendert, wirklich nutzen. Es scheint jedoch keine Methode zu geben, solche Bilder hinzuzufügen.
Ich habe mich gefragt, ob Sie ein Beispiel für die Verwendung dieser Komponente veröffentlichen können.
Antworten:
UPDATE (2018): Seit ich diese Antwort geschrieben habe, sind mehr Eigenschaften verfügbar. Vielleicht können wir es jetzt schaffen, vielleicht auch nicht. Muss recherchieren.
Du kannst es nicht benutzen.
Hier ist dekompilierter
BillboardAsset
Code:Es gibt buchstäblich keine Möglichkeit, Bilder zu setzen, auch nicht durch Reflexion. Man könnte denken: "Okay, Sie können es nicht direkt tun, aber vielleicht gibt es eine Art Fabrik?" Ich drücke Nutzungen finden in Decompiler und bekommen:
BillboardAssetInspector
undBillboardRenderer
.Hier ist
BillboardRenderer
:Wow, diese Klasse ist noch dümmer. Es ist nur ein logischer Datenhalter. Offensichtlich wird alle Arbeit von erledigt
Renderer
. Genauer gesagt durch eine oder[WraplessIcall]
mehrere Methoden darin. Ich werde den Code hier nicht einfügen, da es sich um eine lange und nutzlose Liste von[WraplessIcall]
Mitgliedern handelt.Im Gegensatz zu UnityEngine.dll- Inhalten
BillboardAssetInspector
(die sich in UnityEditor.dll befinden ) enthält sie echten Code. Auch hier werde ich den Code nicht einfügen, da aus dem Namen hervorgeht, dass es sowieso nichts anderes als Inspector ist.Gleiche Situation mit
BillboardAssetInspector
.Verstanden, es ist für den internen Gebrauch; aber wo wird es genau verwendet?
Im SpeedTree-System (siehe insbesondere das letzte Bild).
Warum erklärt die Dokumentation nutzlose Dinge, anstatt davor zu warnen, sie sofort zu verwenden?
Wahrscheinlich haben Sie einfach alles aus der internen Entwicklungsdokumentation kopiert, verbesserte Teile, die für Neulinge wichtig sind und im allgemeinen Gebrauch verwendet werden. war dann zu beschäftigt, am VR-Hype teilzunehmen, um sich die Mühe zu machen, solche dunklen Ecken der Dokumentation zu polieren.
Was können wir dagegen tun?
Sagen Sie ihnen, dass sie diese „dunkle Ecke“ in der Dokumentation übersehen haben, zum Beispiel: Öffnen Sie
Help → Report a bug...
im Unity-Editor,What is problem related to
wählen Siedocumentation
usw.Was kann man stattdessen verwenden?
Mögliche Optionen sind:
quelle
Um BillboardRenderer verwenden zu können, benötigen Sie Billboard Asset. Sie können Billboard Asset mit dem C # -Skript erstellen. Überprüfen Sie diesen Beitrag .
Das Billboard-Asset enthält folgenden Inhalt: Billboard.asset
Hier ist der C # -Code, mit dem die obige Datei generiert wurde
Weitere Informationen finden Sie in dem Beitrag, den ich am Anfang der Antwort gegeben habe.
quelle