Unity Shader图形顶点位移不适用于运行时创建的网格

时间:2019-06-29 18:00:32

标签: c# unity3d shader

我正在尝试使用着色器图形处理低聚水着色器。 我面临一个奇怪的问题,我可以使着色器在平面上工作,但是不能在四边形或运行时生成的平面上使用。

Here is a picture of what both geometry look.

And here is my shader graph code.

最后,这是我在运行时用于生成网格的代码:

<span th:if="${results} and ${results.size()}">
    <h3>Result(s)</h3>
</span>

<table  class="job-listing" th:each="job : ${results}">
    <tr th:each="row : ${job}">
        <td th:text="${row.key}"></td>
        <td th:text="${row.value}"></td>
    </tr>
</table>

非常感谢您的任何建议:)

[编辑]

Here is the result with a quad from unity (it works)

3 个答案:

答案 0 :(得分:0)

由于您在xz平面上创建平面网格,而法线是正向的,看来法线向量是错误的?我猜应该是上升还是下降?

答案 1 :(得分:0)

我发现了! 看来我必须对网格物体具有 uvs 。我不太了解它与顶点位置的关系,但为什么不呢?

答案 2 :(得分:0)

我遇到了同样的问题。为了进行调查,我在场景中使用相同的着色器放置了一个标准3D对象,并且该着色器按预期工作。网格过滤器显示UV是与我的脚本创建的网格的唯一区别。添加UV后,一切正常。