【问题标题】:How to know if a particular part of a mesh has a bump in Unity?如何知道网格的特定部分是否在 Unity 中有凹凸?
【发布时间】:2021-11-06 05:04:47
【问题描述】:

我想用边界值(如网格上的正方形)扫描我进行光线投射的网格的一部分。我需要知道我正在投射的那个特定部分是否有凹凸。谁能告诉这在 Unity 中是否可行?

【问题讨论】:

    标签: c# unity3d mesh raycasting


    【解决方案1】:

    第一种情况,如果要查找拉伸网格区域。

    我不知道检测拉伸网格的特定算法。但我很确定它有可能

    大多数网格算法只需要顶点、法线和切线。因此,无论您选择哪种算法,下面的函数列表都足以满足您的需求。

    Mesh-vertices Unity Document

    Mesh-normals Unity Document

    Mesh-tangents Unity Document

    第二种情况,如果你说的凹凸是指法线贴图

    使用下面的函数获取Mesh中光线投射点的UV。

    而且,您必须通过 MeshRenderer 拾取具有法线贴图的特定材质。

    RaycastHit-textureCoord Unity Document

    Finding material of Renderer

    【讨论】:

    • 谢谢@ggzerosum!!我所说的凹凸是网格而不是法线贴图。我正在处理的要求是,我将向网格投射一个指针,并且指针周围会有一个正方形或矩形。在方形/矩形区域内,我如何知道是否有凹凸?请帮忙。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-22
    • 2019-11-21
    • 2013-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多