访Crytek大中华区客户支持经理,谈其技术研发之路(3)
来源:火星时代 作者:墨非 发布时间:2010-11-08 13:55:48 网友评论 0 条
关于技术工具的研发(举例说明)
在Autodesk的几年我主要负责从3ds Max 3到3ds Max 8的全国推广和支持工作,其中很多都是游戏公司,05年加入研发部门后,负责3ds Max 9到3ds Max 2009的开发工作。07年加入EA主要完成的是孢子的主机平台项目,我的工具也被后来的一些项目所使用。
开始我主要利用maxscript来制作这些工具,maxscript是一个效率非常高的max脚本语言,后来我写了一些hlsl的shader来预览游戏效果,中期我又使用了C++来编写一些max插件以完成动画导出和一些工具的优化,比如利用CUDA烘焙AO,其实这些也都可以用max脚本来完成,只是执行效率会有几十倍的差异,而且可以让你快速实现你的想法。另外,我还使用C#来写游戏编辑器的功能,比如可以显示Streaming Volume等。其实没有什么是技术做不到的,只要你肯花费时间。游戏开发最大的问题在游戏策划,策划的变更将会导致一些工作的浪费。
我在Autodesk中国期间主要就是拜访各个主要的3ds Max用户,为他们解决一些工具中的问题和介绍一些新的工具功能来提高他们的制作效率。由于我本身是学计算机的,对程序比较了解,同时又对3ds Max这样的内容工具非常了解,所以制作美术工具对我来说也比较得心应手。下面具体举例说明:
举例一:过场摄影机调整
需求分析:动画师先在3D软件中制作摄影机动画,并在编辑器中调整,编译在主机上观察结果。如果遇到问题要反复,效率极低,一周只能完成1-2个镜头。
挑战:游戏角色动画在编辑器中不能预览,所以无法预览摄影机;编译一次,并且要执行到过场动画点,浪费大量时间。
解决方案:利用C#编写一个库,可以让max传递的摄影机位置和游戏机进行双向匹配。然后利用maxscript编写一个前端控制面板,让动画师方便进行控制。
最终结果:(1)动画师首先输出一个粗略摄影机动画;(2)在游戏中进入过场,并降低播放速率;(3)发现镜头问题,点击暂停,在max中按创建同步摄影机;(4)ax中调整摄影机,并且同步新摄影机位置,直到满意;(5)继续播放这个过场,并重复第4步,一直到整个序列完毕;(6)将原先导出的摄影机按照新的摄影机位置和角度进行参考调整;(7)将最后调整过的摄影机输出,得到一个理想的摄影机动画。
总结:(1)从动画师角度出发,争取一次播放解决整个问题;(2)从技术角度出发,利用现有接口,减少开发时间;(3)利用程序资源,比如让程序添加游戏速度控制功能,在游戏端添加摄影机接口。
- 2011-06-09
- 2011-06-09
- 2011-05-18
- 2011-05-18
- 2011-05-18
- 2011-04-25
- 2011-04-25
- 2011-04-12
- 2011-04-08
- 2011-04-08
- 2011-04-07
- 2011-03-26
- 2011-03-26
- 2011-03-19
- 2011-03-19
关于我们 | 联系方式 | 广告服务 | 免责条款 | 内容合作 | 图书投稿 | 招聘职位 | About CG Time
Copyright © 2008 CGTime.org Inc. All Rights Reserved. CG时代 版权所有