GeometryInstance3D в Godot
В Godot Engine, GeometryInstance3D
— это базовый класс для всех 3D-объектов, которые могут быть визуализированы в трехмерном пространстве. Он предоставляет общие свойства и функциональность для работы с геометрией, материалами, видимостью и другими аспектами рендеринга.
Основные особенности GeometryInstance3D
:
-
Материалы:
Вы можете назначать материалы для рендеринга объекта, используя свойстваmaterial_override
илиmaterial_overlay
. -
Видимость:
Класс предоставляет возможность управлять видимостью объекта через свойстваvisible
иlayers
(слои видимости). -
Тени:
Вы можете контролировать, отбрасывает ли объект тени, используя свойствоcast_shadow
. -
Уровень детализации (LOD):
Поддерживается настройка уровня детализации для оптимизации рендеринга. -
Наследование:
GeometryInstance3D
является родительским классом для многих других классов, таких какMeshInstance3D
,CSGShape3D
,Particles3D
и других, которые представляют конкретные типы геометрии.
Пример использования:
Если вы создаете, например, MeshInstance3D
(который наследуется от GeometryInstance3D
), вы можете настроить его материал, видимость и другие параметры:
var mesh_instance = MeshInstance3D.new()
mesh_instance.mesh = preload("res://my_mesh.obj")
mesh_instance.material_override = preload("res://my_material.tres")
mesh_instance.cast_shadow = GeometryInstance3D.SHADOW_CASTING_SETTING_ON
mesh_instance.visible = true
Когда использовать:
GeometryInstance3D
полезен, когда вам нужно работать с общими свойствами рендеринга для 3D-объектов. Однако в большинстве случаев вы будете использовать его дочерние классы, такие как MeshInstance3D
, CSGShape3D
или Particles3D
, которые предоставляют более специфичную функциональность.
Если вы хотите создать собственный 3D-объект с уникальным поведением, вы можете наследоваться от GeometryInstance3D
и реализовать свою логику.