gpt4 book ai didi

godot - Godot 中的 HUD 后处理

转载 作者:行者123 更新时间:2023-12-05 05:40:28 25 4
gpt4 key购买 nike

我在 Godot 中有一个项目可以在敌人上方渲染广告牌四边形。四边形(网格实例)是敌人节点的子节点。我只想将四边形渲染到视口(viewport)以进行后处理,但四边形需要在屏幕上具有与敌人相同的位置(如目标十字线)。如何将着色器效果仅应用于广告牌而不应用于场景的其余部分?

最佳答案

Camera 有一个 cull_mask 属性,可以让您过滤它将看到的图层。而 VisualInstance(例如 MeshInstance)有一个 layers 属性,可以让你指定它们属于哪个层(默认情况下它们都属于第一层)。

您可以在项目设置 -> 常规 -> 图层名称 -> 3d 渲染中配置图层名称。 不要将它们与 3d 物理混淆。

因此,您可以为您想要的那些四边形 MeshInstance 提供不同的层,然后使用新的 Camera 设置一个新的 Viewport 作为子层(确保它是 current),带有一个 cull_mask,它只会渲染该层。这样只有那些 MeshInstance 才会在那个 Viewport 上呈现。

您可能希望保持 Camera 的属性与主 Viewport 上的 Camera 同步(不仅是它的global_transform,还有 fov 或您可能更改的任何其他属性)。您可以通过将其属性复制到附加到新 Viewport 内的 Camera 的脚本的 _process 上来存档。/p>

关于godot - Godot 中的 HUD 后处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72416570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com