Position (Depth)
菜单路径:Operator > Sampling > Position (Depth)
Position (Depth) 运算符采样摄像机的深度缓冲区并检索世界空间中的位置。您可以使用此深度信息将粒子投射到场景中。
运算符设置
设置 | 类型 | 描述 |
---|---|---|
Camera | Enum | 指定要对其深度进行采样的摄像机。选项: • Main:使用场景中的第一个具有 MainCamera 标签的摄像机。 • Custom:使用您在 Camera 端口中指定的摄像机。 |
Mode | Enum | 指定此运算符用于对深度缓冲区进行采样的方法。选项: • Random:使用 0 到 1 之间的随机 UV 值对深度缓冲区进行采样。 • Sequential:根据 ParticleID 属性和 Grid Step 属性的值选择 UV。这将对每个位置依次采样 Grid Step 像素数。 • Custom:允许您使用 UV Spawn 属性指定 UV。 |
Cull Mode | Enum | 指定要应用于采样位置的过滤器。如果使用过滤器,输出属性 isAlive 描述采样位置是否有效。选项: • None:不使用过滤器。 • Far Plane:如果采样位置在远平面上,则此选项将 isAlive 设置为“false”。 • Range:允许您指定一个 Depth Range,它确定采样位置是否有效。如果采样位置在 Depth Range 之外,则此选项将 isAlive 设置为“false”。 |
Inherit Scene Color | bool | (检查器)指定此运算符除了深度缓冲位置之外,是否还输出摄像机的场景颜色信息/。 |
运算符属性
属性 | 类型 | 描述 |
---|---|---|
Camera | Camera | 要使用的摄像机。 此属性仅在将 Camera 设置为 Custom 时显示。 |
Z Multiplier | float | 偏移采样深度位置的乘数。您可以使用它来避免在将粒子投影到场景中时发生的深度冲突/重叠的问题。 |
Grid Step | uint | 此运算符用于对深度缓冲区进行采样的网格大小(以像素为单位)。基于粒子 particleID,此运算符对每个像素条带按顺序对位置进行采样。 此属性仅在将 Mode 设置为 Sequential 时显示。 |
UV Spawn | Vector2 | 此运算符用于手动对深度缓冲区进行采样的 UV。 此属性仅在将 Mode 设置为 Custom 时显示。 |
Depth Range | Vector2 | 采样位置的有效深度范围。如果采样位置在此范围内,则 isAlive 属性为“true”,否则为“false”。这允许您滤除采样位置。 此属性仅在将 Cull Mode 设置为 Range 时显示。 |
输出属性
属性 | 类型 | 描述 |
---|---|---|
Position | Position | 摄像机深度缓冲区样本的世界空间位置。 |
color | Color | 摄像机场景颜色缓冲区样本的颜色。 此属性仅在您启用 Inherit Scene Color 时显示。 |
isAlive | bool | 指定采样位置根据 Cull Mode 设置是否有效。 • Far Plane:当采样位置在远平面上时,值为“false”,否则为“true”。 • Range:当采样位置在有效 Depth Range 之外时,值为“false”,否则为“true”。 此属性仅在将 Cull Mode 设置为 Far Plane 或 Range 时显示。 |
限制
目前,深度缓冲区采样仅在高清渲染管线中可用,在通用渲染管线中不起作用。