GPUParticlesCollision3D

继承: VisualInstance3D < Node3D < Node < Object

派生: GPUParticlesCollisionBox3D, GPUParticlesCollisionHeightField3D, GPUParticlesCollisionSDF3D, GPUParticlesCollisionSphere3D

影响 GPUParticles3D 节点的 3D 粒子碰撞形状的抽象基类。

描述

粒子碰撞形状可用于使粒子停止或对其反弹。

粒子碰撞形状是实时工作的,在游戏过程中可以移动、旋转和缩放。与吸引器不同,碰撞形状的非均匀缩放受支持。

粒子碰撞形状可以通过隐藏而暂时禁用。

注意:GPUParticles3D 的处理材质上,ParticleProcessMaterial.collision_mode 必须是 ParticleProcessMaterial.COLLISION_RIGIDParticleProcessMaterial.COLLISION_HIDE_ON_CONTACT,才能使碰撞生效。

注意:粒子碰撞只影响 GPUParticles3D,不影响 CPUParticles3D

注意:由正在移动的碰撞器推动的粒子不会被插值,这可能会导致可见的卡顿。这可以通过将 GPUParticles3D.fixed_fps 设置为 0 或一个符合或超过目标帧速率的值来缓解。

属性

int

cull_mask

4294967295


属性说明

int cull_mask = 4294967295 🔗

  • void set_cull_mask(value: int)

  • int get_cull_mask()

将受碰撞形状影响的粒子渲染层(VisualInstance3D.layers)。默认情况下,所有 ParticleProcessMaterial.collision_mode 设置为 ParticleProcessMaterial.COLLISION_RIGIDParticleProcessMaterial.COLLISION_HIDE_ON_CONTACT 的粒子都将受到碰撞形状的影响。

相应地配置粒子节点后,可以取消选中特定层,以防止某些粒子受到吸引子的影响。例如,如果你将吸引子用作法术效果的一部分但不希望吸引子影响同一位置的不相关天气粒子,则可以使用此选项。

通过在 GPUParticles3D 节点上设置 ParticleProcessMaterial.attractor_interaction_enabled,也可以在每个进程材质的基础上禁用粒子吸引。