VisualRender¶
派生: DecalActor, FogVolume, GeometryRender, ParticleAspiratorGPUBase, ParticleColliderGPUBase, Light, Lightmass, OcclusionRender, OpenXRVisibilityMask, ReflectionProbe, RootMotionView, OnScreenVisibleSignal, VoxelGI
所有可视3D节点的父节点。
描述¶
VisualRender用于将资源连接到可视化表示。所有可视化3D节点都继承自VisualRender。通常,您不应该直接访问VisualRender属性,因为它们由继承自VisualRender的节点访问和管理。VisualRender是RenderingServer实例的节点表示。
属性¶
方法¶
属性说明¶
绘制此VisualRender的渲染层。
此对象仅对Camera可见,其剔除蒙版包括此VisualRender设置为的任何渲染层。
对于Lights,这可用于控制哪些VisualRenders受到特定光线的影响。对于ParticlesGPU,这可用于控制哪些粒子受到特定吸引子的影响。对于DecalActors,这可用于控制哪些VisualRenders受到特定贴花的影响。
要使用脚本更容易地调整layers,请使用get_layer_mask_value()和set_layer_mask_value()。
注意:VoxelGI、SDFGI和Lightmass将始终考虑所有图层以确定有助于全局照明的因素。如果这是一个问题,请将网格的GeometryRender.gi_mode设置为GeometryRender.GI_MODE_DISABLED,将光源的Light.light_bake_mode设置为Light.BAKE_DISABLED以将它们排除在全局照明之外。
按深度排序时,此VisualRender的深度调整量。使用与引擎相同的单位(通常是米)。将其调整到更高的值将使VisualRender可靠地绘制其他位于同一位置的VisualRender。为确保它始终绘制周围的其他对象(不位于同一位置),请将值设置为大于此VisualRender与附近的其他VisualRender之间的距离。
bool sorting_use_aabb_center 🔗
如果true,则对象根据AABB中心排序。否则将根据全局位置对对象进行排序。
基于AABB中心的排序通常对于3D模型更准确。相反,基于位置的排序允许在使用ParticlesGPU和ParticlesCPU时更好地控制绘图顺序。
方法说明¶
AABB _get_aabb() virtual const 🔗
返回此VisualRender的AABB(也称为边界框)。
返回与此VisualRender关联的资源的RID。例如,如果节点是MeshRender,这将返回关联的Mesh的RID。
返回此实例的RID。此RID与RenderingServer.instance_create()返回的RID相同。如果您想直接在此VisualRender上调用RenderingServer函数,则需要此RID。
bool get_layer_mask_value(layer_number: int) const 🔗
返回layers的指定层是否启用,给定一个介于1和20之间的layer_number。
设置由此VisualRender实例化的资源,这会更改引擎在后台处理VisualRender的方式。相当于RenderingServer.instance_set_base()。
void set_layer_mask_value(layer_number: int, value: bool) 🔗
基于value,启用或禁用layers中的指定层,给定1到20之间的layer_number。