【问题标题】:'ComputeShader does not contain a definition for SetMatrix''ComputeShader 不包含 SetMatrix 的定义'
【发布时间】:2020-02-26 19:55:51
【问题描述】:

目前我正在尝试关注this tutorial on ray tracing using compute shaders。我正在尝试使用ComputeShader.SetMatrix(string name, Matrix4x4 val) 或在我的情况下特别是RayTracingShader.SetMatrix("_CameraToWorld", _camera.cameraToWorldMatrix); 为计算着色器设置矩阵。

然而,我得到了错误'ComputeShader does not contain a definition for SetMatrix',尽管this Unity page 清楚地表明它应该是可能的。我也无法在 Google 上找到任何有类似问题的人。我刚刚将 Unity 更新到 5.5.4p4 Personal 版本。在此之前它也不起作用。

任何解决此问题的帮助将不胜感激。

【问题讨论】:

    标签: c# unity3d compute-shader


    【解决方案1】:

    Unity 5.5 does not define ComputeShader.SetMatrix.

    您需要更新到存在 ComputeShader.SetMatrix 的 Unity 版本。

    好像是先到2017.3

    【讨论】:

    • 我将如何在最新版本的 Unity 中实现这一点?降级似乎不是最好的解决方案。
    • @Jack 我不明白你的问题。它still exists in the latest non-alpha version, 2019.3
    • @Jack 同样,在问题中,您说您使用的是 5.5.4p4,这是 in August 2017 发布的版本。此答案建议至少更新到 2017.3,这是 in December 2017 发布的版本。你能解释一下“降级”是什么意思吗?
    • 我的工作假设是我已经安装了最新版本,我认为大多数人如果他们刚刚通过“检查更新”功能进行了更新,他们就会预料到这一点。我现在看到它不是最新版本,这真是太愚蠢了 imo
    • @Jack 统一检查更新不会更新主要版本。这是开发软件的标准,有助于避免破坏。例如,Visual Studio 也是如此。 Also, please see here.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多