【问题标题】:How to apply a shader on multiple sprites' rendering in Unity3D?如何在 Unity3D 中对多个精灵的渲染应用着色器?
【发布时间】:2020-04-26 04:56:59
【问题描述】:

在 Unity3d 中,我尝试使用多个模糊圆形的精灵制作简单的元球效果,这些精灵随机移动。 因此,我希望着色器从所有精灵的渲染中执行像素颜色更改,而不是一个一个地进行。

这是一个例子:

左图显示了四个精灵,精灵模糊;右图是shader的结果。

我不知道该怎么做。

【问题讨论】:

    标签: unity3d shader


    【解决方案1】:

    如果我正确理解你的问题,你可以做的是

    1. 创建一个新的RenderTexture
    2. 将这些精灵移出屏幕,离开主摄像机的视野。
    3. 将新的正交摄影机指向您已移出屏幕的所有精灵,并将该摄影机的目标纹理字段(在 Inspector 视图中)设置为渲染纹理。这会将相机看到的任何内容保存到该纹理。
    4. 您可以从这里将该纹理渲染到另一个游戏对象(可能是 Quad?)的表面上
    5. 将自定义着色器材质附加到将渲染纹理作为输入的四边形。
    6. 在此着色器中执行您希望渲染纹理的任何操作
    7. 将此四边形对象放置在您的主摄像头前面,以便将最终结果渲染到屏幕上

    这有意义吗?

    【讨论】:

    • 这绝对是我想要的。非常感谢你的帮助 !效果很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-03
    • 1970-01-01
    相关资源
    最近更新 更多