摘要: 之前曾尝试过反汇编的方式来加载Torchlight的特效效果, 但是由于初次接触反汇编和当时的状态不是很好, 所以就草草结束了. 休息了一段时间后, 发觉对Torchlight的特效实现还是很感兴趣, 所以再次尝试反汇编。 经过摸索, 总算是实现出效果来了!(以下选取了战士技能来展示)这次尝试, 耗费的时间还是挺多的, 主要是工作的原因, 每天只能抽2个多小时出来编码, 加上反汇编是项比较枯燥的事情, 有时候写累了,只能歇两三天来调整一下状态, 就这样停停写写, 花了近两个多月, 才弄出效果来. 本来是打算把最后剩下的RibbonTrail Renderer也实现完后再放出的, 但是以自己的可 阅读全文
posted @ 2012-06-01 00:19 vibilin 阅读(792) 评论(1) 推荐(0) 编辑
摘要: 在天龙场景资源中, *.Region文件记录了对应场景的区域数据. 通过对区域数据的处理,可以计算出可行走区域并筛选出障碍区域。然后根据三角化算法生成nav网格.以下是相关的步骤:(峨眉场景Region截图)参考合并算法和Weiler-Atherton裁剪算法, 对区域数据进行处理, 生成可行走区域和障碍区域:采用合并算法对障碍区域进行合并处理, 保证nav网格的正确生成:最后根据三角化算法生成nav网格 阅读全文
posted @ 2011-08-27 20:46 vibilin 阅读(2193) 评论(2) 推荐(1) 编辑
摘要: 火炬之光的特效文件存放在media/particles目录下, 后缀名为layout(打包后为layout.adm). 虽然它的特效是在Particle Universe的基础上实现的, 但是它的改动非常大, 可以说对整个Particle Universe都作了修改. 比如说1. 在Render Type的类型中, 新增了两种BillboardType2. 通过查看汇编可以看出, 它对Billboard, RibbonTrail等渲染方式(Renderer)也作了修改.3. 另外对Affector也作了修改, 比如TextureAnimator, 通过函数列表对比, 可以看到删除了Animat 阅读全文
posted @ 2011-07-16 14:10 vibilin 阅读(903) 评论(0) 推荐(0) 编辑
摘要: 火炬之光的装备信息保存在masterresourceunits.dat文件中, 每种装备根据职业都有相应的一个或多个Mesh和Icon.更换装备只需要根据角色类型, 选取对应的装备信息, 更新角色Mesh的材质.为了方便操作, 我将Lua集成到程序中, 并使用OgreConsole作为Lua控制台.在左脚的外侧, 你会发现有一个小面片. 开始的时候,还以为是自己的问题, 后来对照的游戏里的效果, 发现游戏也是这样的.经过查找, 发现这一面片是属于Face(脸部)SubEntity, 至于为什么弄这么一面片, 让人费解~~ 阅读全文
posted @ 2011-04-17 18:37 vibilin 阅读(1997) 评论(1) 推荐(0) 编辑
摘要: 火炬之光的人物骨骼动画信息并不存储在skeleton文件里, 而是单独的放在animation文件里, 通过它将动画与音效,特效关联起来的. 所以为了不改变游戏中的文件内容, 我采用了读取配置文件的方式来获取数据信息. 通过读取masterresourceunits.dat.ADM文件初始化角色的模型和装备, 而骨骼动画信息则读取相应的animation文件.(以下是我的程序演示效果录像, 在自己机上录出来时还挺清晰的, 上传YOUKU就变模糊了...——!)弓箭手:法师:战士: 阅读全文
posted @ 2011-04-04 16:12 vibilin 阅读(2309) 评论(3) 推荐(0) 编辑
摘要: CEGUI 0.7x版本相比于以前的版本有了很大的改变. 基于它的Formatting Tags和Animation System特性对CEGUI做扩展, 比较方便实现一些常用的字体效果.1.Formatting Tags 本身就支持设定字体颜色, 字体大小,嵌套静态图片等. 详情可浏览 http://www.cegui.org.uk/wiki/index.php/Formatting_Tags_in_CEGUI所以字体下划线, 描边, 阴影等组合效果也可以通过定义自己的标签来指定哪一部分文字出现对应的字体效果.新增两种文字特效Tag:1.) [text-component='...']2.) 阅读全文
posted @ 2011-02-14 22:55 vibilin 阅读(2977) 评论(3) 推荐(1) 编辑
摘要: CEGUI的字体效果(包括阴影, 描边等)其实也可以不修改代码, 只需修改或创建自定义looknfeel就可以简单快捷的实现(我使用的是0.75版本).在这里以修改WindowsLook.looknfeel中的WindowsLook/StaticText作为演示.1.阴影效果阴影的实现方式是将字体画两次, 第一次将字体偏移一定位置,并渲成黑色, 第二次将字体以设定的颜色渲染.(第一个TextComonent的是画阴影, 相对于左上角偏移量为2(左图), 第二个TextComonent是画字体的(右图))没有阴影(图1)和有阴影(图2, 3)的截图效果对比: (1) (2) (3)2. 描边效 阅读全文
posted @ 2011-01-31 23:28 vibilin 阅读(3289) 评论(3) 推荐(1) 编辑
摘要: 本来只想简单的借用一下Torchlight的背包UI资源,不过发现背包的UI是动态打开或关闭的. 就想尝试一下把整个效果弄出来.经过一番折腾, 总算实现了.整个过程主要包含几个技术点:1. To create a render to texture window with CEGUI. This allows us to create a second Viewport which can be rendered directly into a CEGUI widget2. Animation blending using one entity with 2 animations from 2 阅读全文
posted @ 2011-01-20 23:02 vibilin 阅读(2329) 评论(1) 推荐(0) 编辑
摘要: 最近在接触CEGUI, 找了一些资源, 发现Torchlight(火炬之光)的UI资源是开放的, 所以尝试用CEGUI读取其UI. CEGUI的编辑器包括CELayoutEditor和CEImagesetEditor, 我使用的是最新0.7.1版本的. 总体来说过程还是比较顺利的, 主要是有几点要注意:1. 用编译好的CELayoutEditor去直接读取Torchlight里的UI时会报找不到一些资源文件的错, 这是由于Torchlight的scheme, layout, imageset的FileName属性里使用了相对位置, 而编辑器默认没有做这方面的处理, 所以要在EditorFram 阅读全文
posted @ 2010-12-31 21:29 vibilin 阅读(2464) 评论(0) 推荐(0) 编辑
摘要: 最近, 抽时间将天龙场景的水体实现了. 水体的实现不涉及OGRE的改动, 具体可以看天龙的源码, 在这里就不细说了. 截了两张不错的效果图, 以供欣赏~ 阅读全文
posted @ 2010-11-28 13:07 vibilin 阅读(875) 评论(2) 推荐(0) 编辑