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 екземпляр.

Властивості

int

layers

1

float

sorting_offset

0.0

bool

sorting_use_aabb_center

Методи

AABB

_get_aabb() virtual const

AABB

get_aabb() const

RID

get_base() const

RID

get_instance() const

bool

get_layer_mask_value(layer_number: int) const

void

set_base(base: RID)

void

set_layer_mask_value(layer_number: int, value: bool)


Описи властивостей

int layers = 1 🔗

  • void set_layer_mask(value: int)

  • int get_layer_mask()

Шар(и) рендерингу, на яких намальовано цей 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 для джерел світла, щоб виключити їх з глобального освітлення.


float sorting_offset = 0.0 🔗

  • void set_sorting_offset(value: float)

  • float get_sorting_offset()

Сума, за якою буде регулювання глибини цього VisualInstance3D при сортування глибини. Використовує такі ж одиниці, як двигун (як правило, лічильники). Налаштуйте його на вищу вартість, виконайте VisualInstance3D надійно малюйте зверху інші VisualInstance3D, які інакше позиціонуються в одному місці. Для того, щоб забезпечити його завжди малюємо поверх інших об'єктів, розташованих на одному місці, встановіть значення, щоб бути більшою, ніж відстань між цими VisualInstance3D та іншими поруч VisualInstance3D.


bool sorting_use_aabb_center 🔗

  • void set_sorting_use_aabb_center(value: bool)

  • bool is_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 get_aabb() const 🔗

Повертаємо AABB (також відомий як обмежена коробка) для цього VisualInstance3D.


RID get_base() const 🔗

Повернення ресурсу, пов'язаного з цим VisualInstance3D. Наприклад, якщо Node є MeshInstance3D, це поверне RID асоційованої Mesh.


RID get_instance() const 🔗

Повернення RID цього екземпляра. Цей RID є таким же, як RID, повернуто RenderingServer.instance_create(). Цей RID необхідний, якщо ви хочете викликати функції RenderingServer безпосередньо на цьому VisualInstance3D.


bool get_layer_mask_value(layer_number: int) const 🔗

Повертає, чи увімкнено вказаний шар з layers, залежно від значення layer_number від 1 до 20.


void set_base(base: RID) 🔗

Встановлює ресурс, який миттєво опрацьовується цим VisualInstance3D, який змінює, як працює двигун VisualInstance3D під кришкою. Equivalent RenderingServer.instance_set_base().


void set_layer_mask_value(layer_number: int, value: bool) 🔗

На основі value, вмикає або вимикає вказаний шар у layers, враховуючи layer_number від 1 до 20.