VisualInstance3D
派生: Decal, FogVolume, GeometryInstance3D, GPUParticlesAttractor3D, GPUParticlesCollision3D, Light3D, LightmapGI, OccluderInstance3D, 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 中心点排序。否则会根据其全局位置排序。
对 3D 模型而言,根据 AABB 的中心点排序一般更为精确。使用 GPUParticles3D 和 CPUParticles3D 时,根据位置排序能够更好地控制绘制顺序。
方法说明
AABB _get_aabb() virtual const 🔗
该方法目前没有描述,请帮我们贡献一个吧!
返回此 VisualInstance3D 的 AABB(也叫边界框)。
返回与此 VisualInstance3D 相关联的资源的 RID。例如,如果该节点是 MeshInstance3D,则会返回相关联的 Mesh 的 RID。
返回这个实例的 RID。这个 RID 与 RenderingServer.instance_create 返回的 RID 相同。如果你想为这个 VisualInstance3D 直接调用 RenderingServer 函数,就需要这个 RID。
bool get_layer_mask_value(layer_number: int) const 🔗
返回是否启用了 layers 的指定层,该层由一个介于 1 和 20 之间的 layer_number
指定。
设置由该 VisualInstance3D 实例化的资源,这将改变引擎在底层对该 VisualInstance3D 的处理方式。相当于 RenderingServer.instance_set_base。
void set_layer_mask_value(layer_number: int, value: bool) 🔗
基于 value
,启用或禁用 layers 中的指定层,该层由一个介于 1 和 20 之间的给定 layer_number
指定。