Depuis la version 5 (?), Unity a un nouveau type de composant BillboardRenderer
. Malheureusement, la documentation est assez pauvre.
Il peut être ajouté dans l'inspecteur en cliquant sur "Ajouter un composant -> Misceallaneous -> Billboard Renderer" mais apparemment, il nécessite un Billboard Asset
pour faire quoi que ce soit. Il ne semble pas y avoir de moyen d'en créer un à partir de l'interface Unity.
L'une des rares phrases de la documentation tout aussi pauvre de BillboardAsset se lit comme suit:
imageCount Nombre d'images précuites pouvant être commutées lorsque le panneau d'affichage est vu sous différents angles.
Mon nouveau projet aura des graphiques de mélange sprite / polygone, donc un composant qui rend un panneau d'affichage avec un sprite différent en fonction de l'angle de vue est quelque chose que je pourrais vraiment utiliser. Mais il ne semble pas y avoir de méthode pour ajouter de telles images.
Je me suis donc demandé si vous pouviez poster un exemple sur la façon dont ce composant est utilisé.
Réponses:
MISE À JOUR (2018): Il y a plus de propriétés exposées depuis que j'ai écrit cette réponse. Peut-être que nous pouvons le créer maintenant, peut-être pas. Je dois faire des recherches.
Vous ne pouvez pas l'utiliser.
Voici le
BillboardAsset
code décompilé :Il n'y a littéralement aucun moyen de définir des images, même par réflexion. On peut penser: «d'accord, vous ne pouvez pas le faire directement, mais peut-être y a-t-il une sorte d'usine fournie?». J'appuie sur Find Usages dans le décompilateur et j'obtiens:
BillboardAssetInspector
etBillboardRenderer
.Voici
BillboardRenderer
:Wow, cette classe est encore plus bête. C'est juste un détenteur de données sans logique. De toute évidence, tout le travail est effectué par
Renderer
. Plus précisément, par une ou deux[WraplessIcall]
méthodes en elle. Je ne mettrai pas son code ici car c'est une liste longue et inutile de[WraplessIcall]
-membres.Contrairement au contenu UnityEngine.dll ,
BillboardAssetInspector
(qui réside dans UnityEditor.dll ) contient du vrai code. Encore une fois, je ne mettrai pas son code ici, car il ressort clairement de son nom que ce n'est rien de plus qu'Inspector , de toute façon.Même situation avec
BillboardAssetInspector
.Je l'ai, c'est pour un usage interne; mais où est-il utilisé exactement?
Dans le système SpeedTree (regardez la dernière image en particulier).
Pourquoi la documentation explique-t-elle des choses inutiles au lieu d'avertir de ne pas l'utiliser immédiatement?
Probablement, il suffit de copier-coller tout de la documentation de développement interne, des pièces améliorées qui sont importantes pour les nouveaux arrivants et en général; était alors trop occupé à participer au battage médiatique VR pour prendre la peine de polir ces coins sombres de la documentation.
Que pouvons-nous y faire?
Dites-leur qu'ils ont ignoré ce «coin sombre» dans la documentation, par exemple: dans l'éditeur Unity, ouvrez
Help → Report a bug...
,What is problem related to
choisissezdocumentation
, etc.Que peut-on utiliser à la place?
Les options possibles incluent:
la source
Pour utiliser BillboardRenderer, vous avez besoin de Billboard Asset, vous pouvez construire Billboard Asset avec le script C #. Vérifiez ce post .
Le Billboard Asset a un contenu comme celui-ci: Billboard.asset
Voici le code C # utilisé pour générer le fichier ci-dessus
pour plus de détails, veuillez consulter le post que j'ai donné au début de la réponse.
la source