Godot Shader特效:自定义Shader实现3D描边(outline)效果

上篇笔记《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描边效果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容