Godot Shader特效:自定义Shader实现3D描边(o

2019-08-11  本文已影响0人  吃烧烤的老王

上篇笔记《Godot Shader特效:3D描边(outline)效果 原理篇》介绍了Godot实现3D描边的原理,该文中是用Godot自带的SpatialShader通过调整参数实现的,由于这个效果在3D游戏中还是很常用的,所以干脆自己写了一个专用Shader,非常简单。把它添加到材质上并作为一个Next Pass,就可以实现描边了。

shader_type spatial;
render_mode cull_front,unshaded;
uniform vec4 color : hint_color = vec4(1.0,0.0,0.0,1.0);
uniform float grow = 0.05;

void vertex() {
    VERTEX+=NORMAL*grow;
}

void fragment() {
    ALBEDO = color.rgb;
}
效果图
自定义Shader实现3D描边效果
上一篇 下一篇

猜你喜欢

热点阅读