3D текст

Вступ

У проекті можуть бути випадки, коли текст потрібно створити як частину 3D-сцени, а не тільки в інтерфейсі. Godot надає для цього два методи. Вузол Label3D (Мітка3D) і меш тексту для вузла MeshInstance.

На цій сторінці не описано, як відобразити графічний інтерфейс сцени в 3D середовищі. Інформацію про те, як це зробити, дивіться в `цьому<https://github.com/godotengine/godot-demo-projects/tree/master/viewport/2d_in_3d>`__ демонстраційному проекті.

Вузол Label3D

../../_images/label_3d.png

Label3D поводиться як вузол мітки, але в 3D-просторі. На відміну від вузла мітки цей не може успадкувати властивості теми графічного інтерфейсу. Однак його зовнішній вигляд залишається настроюваним і використовує ті самі DynamicFont і BitmapFont.

Label3D має мінімальну взаємодію з 3D-середовищем, його можна освітити і затінити джерелами світла, якщо галочка затінення включена, але він не кине тінь навіть при включеній тіні на вузлах GeometryInstance3D. Це пояснюється тим, що вузол являє собою чотириярусний меш (один гліф на квадрат) з прозорими текстурами і має ті самі обмеження, що й Sprite3D. Дивіться цю сторінку для отримання додаткової інформації.

Меш тексту

../../_images/text_mesh.png

Меші тексту мають схожість з Label3D. Вони відображають текст у 3D сцени, і будуть використовувати той же підресурс DynamicFont. Однак текст є 3D і має властивості меша. Меш тексту відкидає тіні на навколишнє середовище і може мати доданий до нього матеріал. Ось приклад текстури і як він наноситься на меш.

../../_images/text_mesh_texture.png ../../_images/text_mesh_textured.png

Існує два обмеження для меша тексту. Він не може використовувати растрові шрифти або шрифти з самоперетином.