|
|
2008年9月6日
摘要: 简单的水就是一个大平面, 上面是水的纹理动画, 如果这样直接放到场景里面的话, 水看上去不真实, 因为在水深和水浅的地方看上去都是一个效果, 而且在水和地形的交接处会很难看, 要有深度感其实很简单, 利用顶点颜色的Alpha值, 水越深的地方Alpha值越高, 越浅的地方Alpha值越低, 这样看上去水就比较自然一些. 更好的效果是找出水与地形相交的区域然后增加水花的粒子特效, 就像魔兽3里面水的效果.
阅读全文
摘要: ETM里面直接可以生成很精细的小地图, 代码很简单, 不过效果确实不错, 这点省去了我不少时间. 不过地形上的物体就只有自己动手了, 其实也很简单, 利用渲染到纹理(RenderTexture)可以实现很好的效果, 把场景里面所有的物体都单独提取出来以平顶视图的模式来渲染到纹理上, 渲染时候的摄像机的距离需要根据小地图的比例调节, 然后根据物体在场景里面的位置计算出在小地图上的位置, 把纹理数据拷贝上去就可以了.
阅读全文
摘要: 整个场景的阴影我都是保存在一张大的光照图里面, 就是天龙八部里面的lightmap. 地形阴影ETM可以直接生成, 效果不错. 物体的阴影使用光线跟踪的方法, 从地形上发出一条朝向光源位置的射线, 有交点就记录到光照图里面, 这个过程我是用OpCode来实现的, 最后把生成好的光照图再整个平滑过滤一下, 效果还行. :)
阅读全文
2008年8月5日
摘要: 以前都是直接把控制台集成在游戏里面的, 这样的话一旦打开控制台窗口满屏的文字不但影响视觉效果而且也会影响一点游戏的效率. 现在把这个窗口独立出来做成标准的console窗口就好很多了. 要做得比较漂亮好用就麻烦一些了, 首先要做的就是把窗口分成几个区域, 标题栏, 信息滚动区域, 命令输入区域以及状态栏. 然后是彩色文本以及文本的格式化, 最后在游戏里面加个线程把这个窗口挂上去就ok了.
代码下载:
阅读全文
2008年7月30日
摘要: 为了快速的生成地形, 只依靠刷子来升高/降低地形太慢, 直接编辑高度图数据就可以快速的生成地形, 只需要美工提供笔刷就可以了, 笔刷都必须是灰度图片. 实现也不难, 主要就是饱和/衰减运算, 还需要的就是高度图数据和生成的地形互相对应, 比如在编辑了实际的地形(用刷子升高或降低地形), 这个时侯高度图数据也是需要自动调整的. 最后还需要加入undo/redo的功能, 这样编辑起来才更省力.
用制作好的高度图生成地形后, 再用地形刷子做细节的调整以及平滑地形就可以了. 阅读全文
2008年4月19日
摘要: 去年年底我暂停了Bamboo引擎的开发, 转而使用OGRE引擎更快速的开发, 所以场景编辑器重新制作了, 花了一个多月的时间重新开发了这个基于OGRE的场景编辑器, 地形使用的是ETM插件, 这个插件的代码我做了一些修改. 游戏的资源现在全部使用天龙的, GUI暂时使用CEGUI, 脚本也转为Lua了.
......
阅读全文
2007年12月5日
摘要: 有很多朋友在问我要天龙八部的资源, 于是抽空写了个.
...... 阅读全文
2007年11月21日
2007年11月2日
2007年10月29日
摘要: 游戏里的物品种类很多, 如果都纯手工填表的话, 工作量很大, 而且如果以后要增加或删除某个属性的话,会很麻烦, 要修改很多数据, 而且容易出错, 所以有个工具的话会方便很多.
物品的属性可能一下子定不全, 可能会不断的做调整, 那程序会不段的做修改, 很烦, 所以有必要想一个一劳永逸的法子, 随便怎么修改属性也不用修改程序和工具. 我想的是有一个属性表, 这个表只能增加不能删除(物品会有多少属性呢, 怎么也不会超过1000个吧:)), 而一个物品包含有这个属性表里面的很多属性, 然后为每一个属性写一个处理函数(也可以用脚本来实现, 更方便). 这样工具写好后, 可以随意的增加属性而不要修改工具, 只是需要当初设计的时候把框架写好就可以了.
...... 阅读全文
摘要: 以前没有写过任务系统, 不过大多数游戏的任务系统都是以脚本来完成的, 我的这个任务系统也是基于lua脚本来实现的, 任务种类不算多, 大多数都是打怪, 收集物品为主. 目前除了护送任务我还没有测试以外, 其他类型的任务基本上都可以实现了, 写了一个编辑器方便编辑任务,以及可以简单的测试一下任务.
......
阅读全文
2007年10月13日
2007年10月4日
2007年9月4日
2007年7月20日
2007年7月18日
摘要: WoWModelViewer的源代码还真是难读啊, 费了我很大的功夫才可以正常编译和调试他的代码, 现在我的代码也比较乱, 下一步就是整理代码, 之后开始做技能和大厅, 还剩2个多月的时间了, 希望到时候可以有比较高的完成度.
简单说一下编译的问题(代码版本是0.48b, 编译器是VC2003):
1. 代码里面有很多是使用的绝对路径, 比如"#include "C:\Projects\glew\include\GL\glew.h", 这些都需要改成当前工程的路径.
......
阅读全文
2007年6月25日
摘要: 以前总是把要做的事情都记录在纸上,一条一条的列出来,然后做完一项就划掉一项,久而久之就很凌乱了,而且记录的纸也很容易丢失或损坏,个人不太喜欢用Word和Excel,所以后来就自己写了一个专门用来管理这些琐碎事情的小工具,用了很长一段时间感觉还可以,比以前方便多了,^_^.
...... 阅读全文
2007年6月17日
|