Tag: 游戏引擎预览模式: 普通 | 列表

Gamebryo系列材质详解:一

前一阵子我贴出了Gamebryo的材质管线的图片,没加解释的贴出的。我想对于明眼人有经验的人一眼就能看出他的思路是什么,高手通常还能分析出他的局限性与弊端。但是还是受到很多很多的回复。最近的很多经历让我觉得有必要详解一下整个这张图片。
我力求做到国内解释的最详细的一篇,或许比官方还详细吧。但是由于我的知识层次结构,或许并不能面面俱到,所以如果你有新的观点也不妨给我指出吧。
首先,我是一个程序,所以里面设计的大部分知识,偏重于图形学基础知识。可编程管线,Shader流水线,坐标变换,甚至微分几何。但是对于美术而言我就欠缺很多,不过好在我得到了很多美术同行的帮助,也会穿插讲一些美术方面的注意事项,以及实际项目过程中使用这套材质系统的经验。而对于后两条实际上,就目前我的菜鸟水平,是很泛泛的也是最需要行家来补充的。当然如果可以,我也将一些在MAX,Maya中如何操作以及一些在项目开发过程中遇到的问题,修改,或者弥补的方式。
几点建议:

1.适合人群:中低层次游戏开发人员,引擎开发人员,有志于从事图形方面研究的起步人员,懂程序的美术,懂美术的程序。高手请绕道吧。

2.也是我最想说的:任何引擎,或者说任何技术都有其所谓的局限性,就是CE3也不是万能的。当然这套材质系统更谈不上十全十美,我经常听到美术抱怨引擎的拙劣,或者程序抱怨美术的滥用。因为在技术日新月异的今天我们时常忘记了游戏画面的本质,我们常常吹嘘自己有了一款怎么怎么样的引擎,我们常常吹嘘自己能实现什么样的技术,但是永远不要忘记,技术只是手段,而不是苛求。一款游戏唯有风格确定了,知道我们要做什么,要实现什么样的画面,才能考虑怎样去做,而这些恰恰与引擎毫无关系。那些长久的,被人们时常拿来称颂的游戏没有一款是仅仅因为引擎而强大的。我想这不仅仅是美术开发的问题,程序又何尝不是,我记得那时候做工具的时候,有一天掌握了Command模式,我高兴的不得了,后来又一天,我发现Boost bind这个东西更是兴奋了半宿没睡。于是开始滥用设计模式,模板,沉迷于语言的技巧中不可自拔,以至于在项目中出现了很多问题,才让我清醒的认识到。简单的才是美的。时间会证明一切,只有那些最简单的最明了的东西才是长远的。扯远了。下面正式开始。
        

查看更多...

Tags: gamebryo 商业引擎 游戏引擎 美术

分类:Tech | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 766

Gamebryo的材质系统

一个模型(有一大堆顶点跟索引数据组成)描画的方式,跟材质有很大的关系。
Gamebryo提供了一个很强大的材质系统。

首先gamebryo使用了一个自定义的Pipeline,这个也是在之前的文章中介绍过的。其实这个Pipeline就是大家最常用的一些Shader。GB帮我们总结出来了,并做成了一个标准的材质。这在GB里叫StandardMaterial。

标准材质跟Pipeline是相对应的。但是标准材质的实现是非常困难的,可以查阅NiStandartMaterial,大约有5000多行代码。GB会首先查找一下Shader文件夹下的那些Shader。
这些Shader的文件名是由一对数字+字母组成的。这些文件都是不重复的,因为GB内部通过Hash码得出这些值。如果在Shader文件夹下没有,那么GB会把当前的渲染方式记录到这个Shader中去,作为缓存。

当然你也可以构建自己的Material系统,比如GB的NiCommonMaterial里也给出了一些构建自己材质系统的例子,不过这是非常复杂,基本思想都是需要维护一个Shader树。

查看更多...

Tags: 图形学 图形引擎 gamebryo 商业引擎 游戏引擎 渲染

分类:Tech | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 2231

开始使用gamebryo

最近的项目公司选择了Gamebryo作为引擎。我之前看过一些gamebryo的东西。这次拿到了source的版本,粗略看了一下,感受不少gamebryo的强大。

首先是工具的强大。引擎在图形方面的渲染其实不是重要的。因为图形现在已经没有什么秘密可言了。开源引擎的效果已经和商业引擎差不多了。但是再好的图形引擎,没有工具的支持做项目还是很困难的,现在公司的一个项目就是Ogre,做特效的时候就遇到很多的麻烦,简单到SoftParticle这样的东西都费劲的要死。

而用GB的话就好多了。GB基本上,在MAX里能搞定的东西都能导出到游戏中,这个程序省去了很多麻烦。也给项目进度加快了很多。

不过无论如何,学习一个商业引擎的成本还是比较高的,时间成本,人力成本,如果没有一个熟悉的人,用商业引擎来做项目的风险还是比较大的,毕竟商业引擎不想开源引擎那样有社区的支撑。

Tags: 游戏引擎 商业引擎 图形学 gamebryo

分类:Tech | 固定链接 | 评论: 12 | 引用: 0 | 查看次数: 7600