Material Editor

最早接触的材质管理是quake中的shader脚本。引擎可以针对脚本中设置的渲染状态对处理一个指定的pass,类似于现在的FX结构,极大地增加了渲染的灵活性。虽然现在仍有许多引擎沿用着此方法,但随着游戏产业的流水线化的发展,脚本显然跟不上变化的需求。因为我们不可能为每个游戏写上几十个脚本,而且最可怕的是你写出来的效果并不是美工想要的。当然,我们不可能要求美工去学习ASMHLSL。理想的方案是用一个中间层,帮助我们把美工对材质的描述转换为引擎实际使用的shader

下面是我在网上找到的一些材质编辑器的截图


[comment] 这个比较简单,只是编辑每个stage的纹理以及纹理坐标



[comment]把material和mesh editor集成在shader builder中,主要是为了把两者关联起来,虽然在工具层的包含关系上有点奇怪。另外可以发现它允许对多个通道进行编辑。

写过
shader的朋友肯定一眼就能看出其中表达的意思。对于美工来说,这些图示也并不难理解(这正是我们想要的:)。两个编辑器的共通点就是结点化。所有效果全都是通过结点的连接来实现的。对于程序员来说,需要做的就是把shader功能模块化,同时,把常用通道以模板形式开放出来。结点连接的工作就全部交给美工去做了,所以最终的效果是取决于美工。新效果的添加也很方便,只要对应地追加一个shader模块和结点即可。

再贴一张unreal的材质编辑器截图

[comment]这个就比较BT了,它对编辑者基本没有什么限制(只要shader编译能通过),灵活性就没得说了

posted on 2007-01-31 23:07  chaz  阅读(1299)  评论(5编辑  收藏  举报