随笔-11  评论-26  文章-0  trackbacks-0
  2006年2月25日

最近同事购入一台wii,体积和一个光驱差不多大,另带传说中的双节棍和一张300多米的wii sports。。

高尔夫,网球,保龄球,棒球,拳击……个个就象个疯子一样在电视机前比划来比划去,绝对哼哼哈兮。提醒各位有意向购入wii的同志一定要在宽敞的场地PLAY,健身游戏两不误哈,怪不得那么受MM的欢迎。

目前来看,wii的走势是最好的,任天堂用了9个月就完成了预计12个月要赚的钱。要说性能,wii绝对不是360和ps3的对手。只能说人家有创意,玩得出新花样,毕竟游戏还是以GamePlay为主的嘛。再看看店里那些被搁置的PS3,不得不PF老任这个老江湖。。

刚好拿到SDK,翻阅了一下才知道为什么叫他GameCube2了,不论是硬件架构还是底层接口设计基本上和GC没太大变化,就连TRC也是在GC基础上直接修改的,orz一个。

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

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


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



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

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

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

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

posted @ 2007-01-31 23:07 chaz 阅读(528) | 评论 (4)编辑
     摘要:   阅读全文
posted @ 2006-10-02 13:39 chaz 阅读(781) | 评论 (4)编辑

在MAYA中要获得通道信息,必须先连接到shader node上,也就是编辑环境中的材质球这个概念。
然后通过findPlug这个接口去访问color这个属性,一般这里放的是diffuse map,具体可以参考SDK里的fileFindTextures例子。
但是很奇怪的是,SDK里的例子没有介绍如何访问其他通道的方法,而且一些开源的插件也仅仅导出一层图。

那么,先看一下diffuse map导出的过程:
在访问到color属性后,SDK的例子是通过调用MItDependencyGraph得到对应的MFnDependencyNode,
然后询问ftn属性取得结点所包含的纹理名称。
我们不妨从现有的基础上出发,做一下尝试。

Test1:
用shaderNode作为根结点构造MItDependencyGraph,遍立整个Graph,输出每个结点包含的纹理信息。
Result:
所有被使用的材质信息都可以导出,但是具体是属于哪个通道是无法确定的。

Test2:
还是使用findPlug这个接口,但是需要填入attribute,其他通道的attribute都是些什么呢?
window->General  Editors->Connection Editor...
load之后会显示任何选种物体的可连接对象,所以,我们需要的attribute就全在这里了。
原来bump channel用的是normalCamera,谁会猜得到呢。。
接下来的步骤就和导diffuse map一样了,而且同时还可以知道对应的通道 :)

Maya的文档中缺少FAQ,而且例子代码也很久没更新。使得开发人员在碰到问题时感到束手无策。
这点Max做的还行,Discreet提供了一个专门的BBS,并且在SDK中还有帮助文档。
实在找不到文档的时候,可以试着学习一下工具的使用流程,或许可以从中得到一点启发。

posted @ 2006-08-11 23:59 chaz 阅读(253) | 评论 (0)编辑

抱着一颗好奇的心,参加了PCHOME主办的XBOX360见面会
虽然网络上早已流传不少游戏的截图,但游戏的实际运行效果才比较有说服力
这次展出的3个游戏分别是COD2,PGR3和DOA4
说实话我是觉得有些失望的,当然除了没能亲手体验一把,介绍游戏的都是玩家这两个因素
关键是画面的质量上完全显现不出1080P的威力,可以说目前的顶级配置PC是完全达得到相应的效果的

倒是UBI的开发人员介绍的360开发环境来得更精彩一些
对于拥有3颗IBM POWERPC的360,同时处理多个模块游刃有余
随着AI和PHYSICS的模拟日益成熟,在游戏中所占的比重也日渐增加
单芯片显然已经无法继续承受更多压力,3芯片恰好能完美得并行处理这3大模块
也就是说,如果把360利用到极限,其芯片的处理能相当于一块9G的芯片,显然时下不可能有这样的芯片
同一个游戏可以达到以前的3倍性能?难以想象……
GPU方面,除了SM3.0的一些新特性,免费提供4xAA还是很诱人的

另外,编译器也提供了一些有趣的功能
比如说我们知道,内联函数节省了函数调用的开销,从而提高执行效率
但是一些不恰当的内联函数,函数的展开并不比调用及返回来得开销小
在360的开发环境下,可以让程序执行多次后,自动决定哪些函数使用内联

最后是XNA,自己不是很了解,只是在DX的文档里和它见过几面
回来查了一下,发现这家伙的来头还真不小
自从M$在前两年的GDC上提出XNA的口号时,就引起了不少知名开发商的支持
它的主要目的是作为下一代的开发环境,对所有平台,目前已有的开发环境以及一些新的特性的整合
以帮助开发者在创建更加优秀、快速和跨平台的游戏时能够减少费用
(注:这里指的平台是windows, winCE和Xbox)
也就是说,以后再也不需要做XBOX到PC移植这种“愚蠢”的事了
XNA Studio将发布一个由统一的文件格式驱动的改进了的构建架构,并以此来解决工作流问题
该构建框架由一个集成的工具套装构成,能够为所有团队成员优化游戏生产流程
看来,M$又为广大人民搭好了架子,让大家开始新一轮的开发……
XNA工具将包括DirectX和High-Level Shader Language (HLSL)、XACT、PIX和Xaudio API,以及其他开发工具如Visual Studio 

posted @ 2006-02-25 22:21 chaz 阅读(214) | 评论 (2)编辑