unity-game-engine - Unity 交叉口蒙版

标签 unity-game-engine geometry mask intersection plane

有没有办法检测具有一定数量顶点的物体是否撞击平面?如果是这样,我想将它以二进制(黑/白)绘制到平面上或用它创建纹理。

而且我也不关心这是否只能通过光线转换或一些棘手的物理操作/着色器/等来创建。我只是想知道什么数学算法可以创建它。

这是我想要实现的目标的示例: Here is an example of what im trying to achieve

干杯,迈克尔

最佳答案

大多数游戏都会通过专门的着色​​器来实现这一点:

  1. 第一遍渲染场景中不透明对象的深度图
  2. 第二遍对透明对象使用交集着色器

相交着色器会查找深度等于(或接近等于)第一遍深度的片段,然后对这些片段进行不同的着色。

A question on the Game Development Stack Exchange更详细的内容,包括屏幕截图和 WebGL 演示。

就您而言,这可能看起来像:

  1. 将平面渲染为不透明几何体
  2. 使用交集着色器渲染其他对象
    • 绘制与平面相交的片段
    • 不与平面相交的碎片将被丢弃

无论您是对整个场景执行此操作,还是只是为了生成可应用于其他对象的纹理,着色器原理都保持相同。

关于unity-game-engine - Unity 交叉口蒙版,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42278279/

相关文章:

android - Unity Facebook SDK : post screenshot to wall not working

c# - 从名为 'apple' 的脚本调用名为 'money' 的游戏对象脚本数组

javascript - HTML/CSS 在 css 掩码中绘制方形窗口

ios - 如何使用蒙版为圆形图像添加边框

c# - Awake() 用于没有实例化的预制件

object - 使用 Mathf.Clamp() 限制对象旋转时出现问题

algorithm - 协助创建围绕圆弧创建框的算法

javascript - 计算圆度

algorithm - 圆圈碰撞问题

ios - 如何以透明方式遮盖另一个 uiimage 上方或下方的 uiimage?