我如何在 Enviroment Sky Godot 上使用视觉着色器
How can i use the visual shader on the Enviroment Sky Godot
我如何在环境天空 Godot 3.4 中使用视觉着色器?
我没有别的东西可以放了..
Post-处理中
您可能正在尝试制作一些 post 处理效果。在这种情况下,您有以下选择:
- 使用
ViewportContainer
和Viewport
组合,然后你可以在上面使用Canvas着色器。参见 Custom post-processing。
- 使用覆盖视图的几何体,并在其上使用空间着色器。参见 Advanced post-processing。
- 当然,
Environment
上有一些 post 处理选项可用。参见 Environment and post-processing。
颜色校正
如果将 adjustment_enabled
设置为 true,则可以在 adjustment_color_correction
上设置纹理。这意味着您可以按照最后所述设置 ViewportTexture
。 Godot 期待梯度。
自定义背景
如果你想制作自定义背景或天空。查看“背景”下 Environment
对象中的 属性 background_mode
。只有两种情况对我们有用:
PanoramaSky
:如果您将background_mode
设置为“天空”或“颜色+天空”,您可以设置一个新的PanoramaSky
,它有一个属性 panorama
采用纹理。 Godot 需要 equirectangular 纹理。因此,您可以按照最后所述设置 ViewportTexture
。
Canvas
:如果你将backgroud_mode
设置为Canvas,你可以想象一些Canvas图层在背景中。当然,您可以设置一个 Canvas 层,其中 CanvasItem
具有 Canvas 着色器。 请记住,您可以使用 get_viewport
获取当前 Viewport
,并从中获取当前使用 get_camera
的 3D 相机。因此,您可以使用当前 3D 相机的方向来更新 Canvas 层的内容。
附录:视口纹理
如果你有一个纹理属性你想动态制作,你可以创建一个Viewport
,然后将ViewportTexture
设置为属性,引用Viewport
.
这允许您使用着色器(或任何您想要的)来创建您想要的纹理。因为纹理将是 Viewport
.
中渲染的任何场景
只有一个警告:您不能对独立于场景保存的资源执行此操作。因此,要设置 Environment
的任何纹理,您需要将其保存为场景的一部分(这也意味着不使用默认环境)。所以在场景中添加一个 WorldEnviroment
节点,给它一个 Environment
并确保它的 resource_local_to_scene
设置为 true。
我如何在环境天空 Godot 3.4 中使用视觉着色器?
我没有别的东西可以放了..
Post-处理中
您可能正在尝试制作一些 post 处理效果。在这种情况下,您有以下选择:
- 使用
ViewportContainer
和Viewport
组合,然后你可以在上面使用Canvas着色器。参见 Custom post-processing。 - 使用覆盖视图的几何体,并在其上使用空间着色器。参见 Advanced post-processing。
- 当然,
Environment
上有一些 post 处理选项可用。参见 Environment and post-processing。
颜色校正
如果将 adjustment_enabled
设置为 true,则可以在 adjustment_color_correction
上设置纹理。这意味着您可以按照最后所述设置 ViewportTexture
。 Godot 期待梯度。
自定义背景
如果你想制作自定义背景或天空。查看“背景”下 Environment
对象中的 属性 background_mode
。只有两种情况对我们有用:
PanoramaSky
:如果您将background_mode
设置为“天空”或“颜色+天空”,您可以设置一个新的PanoramaSky
,它有一个属性panorama
采用纹理。 Godot 需要 equirectangular 纹理。因此,您可以按照最后所述设置ViewportTexture
。Canvas
:如果你将backgroud_mode
设置为Canvas,你可以想象一些Canvas图层在背景中。当然,您可以设置一个 Canvas 层,其中CanvasItem
具有 Canvas 着色器。 请记住,您可以使用get_viewport
获取当前Viewport
,并从中获取当前使用get_camera
的 3D 相机。因此,您可以使用当前 3D 相机的方向来更新 Canvas 层的内容。
附录:视口纹理
如果你有一个纹理属性你想动态制作,你可以创建一个Viewport
,然后将ViewportTexture
设置为属性,引用Viewport
.
这允许您使用着色器(或任何您想要的)来创建您想要的纹理。因为纹理将是 Viewport
.
只有一个警告:您不能对独立于场景保存的资源执行此操作。因此,要设置 Environment
的任何纹理,您需要将其保存为场景的一部分(这也意味着不使用默认环境)。所以在场景中添加一个 WorldEnviroment
节点,给它一个 Environment
并确保它的 resource_local_to_scene
设置为 true。