Unity3D, autour des bords d'une boîte, cube?
-
02-01-2020 - |
Question
Quelle est la façon habituelle de contourner les bords sur un cube, un objet rectangulaire comme dans les exemples?
Le résultat idéal semblerait à peu près exactement comme ces images.
(Naturellement, vous pouvez littéralement utiliser un maillage qui a soigneusement arrondi des bords et des coins arrondis, mais il faut beaucoup de tris pour y parvenir.)
Note, bien sûr pour une approche
Ajoutez deux petites boîtes plats et faites simplement cette nouvelle normale à mi-chemin normal, c'est-à-dire 45 degrés, entre les deux côtés:
qui serait parfaitement rond ...
GDG ci-dessous a fourni un article dans lequel quelqu'un affirme que c'est bien le meilleur moyen, sinon d'utiliser une approche de shader.
Je me demande vraiment comment faire cela
Remarque - Tutoriel incroyablement détaillé sur l'approche non shader
La solution
Utilisation de l'ombrage différé, vous pouvez accéder à G-tampon pour localiser et arrondir les bords comme celui-ci en
NORMALs moyennes moyennes (1 pixel largeur):
NORMALs moyennes simples (largeur de 2 pixels):
NORMALs moyennes moyennes (3 pixels largeur):
Autres conseils
Je différerais certainement une réponse orientée dans le shader, mais surtout si les shaders nécessaires ne sont pas disponibles sur une plate-forme donnée, je l'accomplirais avec quelques modèles de "niveau de détail" alias LOD.
- Donnez au GAMEObject pour ces mailles d'objet pour une boîte à 6 côtés, une boîte légèrement incurvée et une boîte très courbe très proche.( http://www.wings3d.com/ est mon outil de modélisation simple)
-
Donnez au jeu un script de comportement qui vérifie chaque image pour la distance de la caméra.
-
Activez le maillage approprié en fonction de la distance et désactivez les autres, cela doit être effectué à distance où le changement n'est pas détectable à la résolution la plus haute disponible pour le lecteur.
Cette technique est assez utilisée dans des jeux 3D, un bon moyen de représenter des essaims lointains de choses qui peuvent devenir beaucoup plus détaillées une fois que la caméra se lève près.
Nous avons pu accomplir des cubes biseautés pour notre jeu WorldTobuild.La clé est vraiment que vous pouvez aller de l'avant et faire le modèle biseauté, puis déplacez simplement les sommets en groupes.
Donc en bref, tout ce que je devais faire pour atteindre l'effet était:
- créer un cube biseauté (j'ai utilisé Blender).
- Trouvez quels sommets vous allez vous déplacer dans chaque direction par leur position du centre.
- Calculez les bords biseautés et définissez la taille exacte.
J'ai écrit un article à ce sujet ici.Faites défiler jusqu'au bas de l'article si vous souhaitez simplement connaître le processus:
https://www.linkedin.com/ PULSE / CODING-RESTINABLE-BEVERSED-CUBES-UNITY-RICHARD-CHRISTLEY