VisualInstance3D
Наследует: Node3D < Node < Object
Наследуется от: Decal, FogVolume, GeometryInstance3D, GPUParticlesAttractor3D, GPUParticlesCollision3D, Light3D, LightmapGI, OccluderInstance3D, OpenXRVisibilityMask, ReflectionProbe, RootMotionView, VisibleOnScreenNotifier3D, VoxelGI
Родительский элемент всех визуальных 3D-узлов.
Описание
VisualInstance3D используется для подключения ресурса к визуальному представлению. Все визуальные 3D-узлы наследуются от VisualInstance3D. В общем случае не следует обращаться к свойствам VisualInstance3D напрямую, поскольку к ним обращаются и управляют узлы, наследующие от VisualInstance3D. VisualInstance3D — это представление узла экземпляра RenderingServer.
Свойства
|
||
|
||
Методы
_get_aabb() virtual const |
|
get_aabb() const |
|
get_base() const |
|
get_instance() const |
|
get_layer_mask_value(layer_number: int) const |
|
void |
|
void |
set_layer_mask_value(layer_number: int, value: bool) |
Описания свойств
Слои рендеринга, на которых нарисован этот VisualInstance3D.
Этот объект будет виден только для Camera3D, чья маска отбраковки включает любой из слоев рендеринга, на который установлен этот VisualInstance3D.
Для Light3D это можно использовать для управления тем, на какие VisualInstance3D влияет определенный свет. Для GPUParticles3D это можно использовать для управления тем, на какие частицы влияет определенный аттрактор. Для Decal это можно использовать для управления тем, на какие VisualInstance3D влияет определенный декаль.
Чтобы упростить настройку layers с помощью скрипта, используйте get_layer_mask_value() и set_layer_mask_value().
Примечание: VoxelGI, SDFGI и LightmapGI всегда будут учитывать все слои, чтобы определить, что влияет на глобальное освещение. Если это проблема, установите GeometryInstance3D.gi_mode на GeometryInstance3D.GI_MODE_DISABLED для сеток и Light3D.light_bake_mode на Light3D.BAKE_DISABLED для источников света, чтобы исключить их из глобального освещения.
Величина, на которую будет скорректирована глубина этого VisualInstance3D при сортировке по глубине. Использует те же единицы, что и движок (обычно это метры). Если настроить его на большее значение, VisualInstance3D будет надежно рисовать поверх других VisualInstance3D, которые в противном случае расположены в том же месте. Чтобы гарантировать, что он всегда рисует поверх других объектов вокруг него (не расположенных в том же месте), установите значение больше расстояния между этим VisualInstance3D и другими близлежащими VisualInstance3D.
bool sorting_use_aabb_center 🔗
Если true, объект сортируется на основе центра AABB. В противном случае объект будет сортироваться на основе глобальной позиции.
Сортировка на основе центра AABB обычно более точна для 3D-моделей. Сортировка на основе позиции вместо этого позволяет лучше контролировать порядок рисования при работе с GPUParticles3D и CPUParticles3D.
Описания метода
AABB _get_aabb() virtual const 🔗
There is currently no description for this method. Please help us by contributing one!
Возвращает AABB (также известный как ограничивающий прямоугольник) для этого VisualInstance3D.
Возвращает RID ресурса, связанного с этим VisualInstance3D. Например, если Node — это MeshInstance3D, это вернет RID связанного Mesh.
Возвращает RID этого экземпляра. Этот RID совпадает с RID, возвращаемым RenderingServer.instance_create(). Этот RID необходим, если вы хотите вызывать функции RenderingServer непосредственно на этом VisualInstance3D.
bool get_layer_mask_value(layer_number: int) const 🔗
Возвращает, включен ли указанный слой из layers, учитывая layer_number от 1 до 20.
Устанавливает ресурс, который инстанцируется этим VisualInstance3D, что изменяет то, как движок обрабатывает VisualInstance3D под капотом. Эквивалентно RenderingServer.instance_set_base().
void set_layer_mask_value(layer_number: int, value: bool) 🔗
На основе value включает или отключает указанный слой в layers при заданном layer_number от 1 до 20.