摘要: 从今以后不用再费神设计存取过程。BinaryFormatter是个好东西,只要将类或结构标示为[可序列化],它就能够将该类的实例转换为二进制流,或将二进制流转换为实例。注意前提是[可序列化]。BinaryFormatter是递归操作,它会将实例的所有字段以及所有字段所包含的所有字段等等等等全部序列化以保证转化了一个完整的实例,这意味着需要支持序列化的类不能在其结构中任何一个地方包含不可序列化的数据... 阅读全文
posted @ 2006-08-22 10:45 Cloudage 阅读(276) 评论(2) 推荐(0) 编辑
摘要: 以前由于不知道如何让Sprite进入投影空间,所以做Billboard都是用IndexBuffer,其实这种办法很笨拙,要做Billboard最好还是用Sprite。在Sprite.Begin的参数中选择Billboard,并且在呼叫之前调用SpriteSetWorldViewLH(或者RH)来传入World矩阵和View矩阵。World矩阵由期望的投影空间位置来构造,View矩阵来自摄影机。这样... 阅读全文
posted @ 2006-08-22 09:43 Cloudage 阅读(500) 评论(2) 推荐(0) 编辑
摘要: 在进行.NET下EXE+DLL的开发时,如果DLL项目引用的一些程序集没有被EXE项目引用,则程序有可能在启动时引发这个异常。如:DLL项目引用了Microsoft.DirextX.Direct3D,并且公开了一个Microsoft.DirectX.Direct3D.Device Proc(System.Drawing.Forms.Form)函数,而EXE项目并没有引用Microsoft.Dire... 阅读全文
posted @ 2006-08-22 09:22 Cloudage 阅读(1409) 评论(2) 推荐(0) 编辑
摘要: 这是一个正在开发的FPS游戏的一个编辑器。这个系统的表现角色由若干互相连接的模块组成,每个模块都是一个独立的网格,因此角色可以进行较精确的碰撞检测,精确度可以满足判断出具体受伤部位的要求。下一步就是要它动起来:传入动作矩阵流,然后各个模块相对独立的做世界变换。另一下,这个模型我很不满意,一点也不符合我的审美观 阅读全文
posted @ 2006-07-09 22:21 Cloudage 阅读(321) 评论(1) 推荐(0) 编辑
摘要: 阵由元素和结构组成,玩家修为越高,能在一个阵里使用的结构数就越多。 结构一共有五种,分别为元素、聚集结构、释放结构、分解结构和关联结构。 元素:元素有3种状态,分为集合态、解离态和引导态,集合态描述表象的效果,解离态描述表象的属性,引导态描述表象的行为。一个单一的元素是一个稳定的固结能。 分解结构:形状为倒立等边三角,作用为将图形内部固结能的属性分离出来以供收集。被分离的固结能其强度将会丢失,丢失... 阅读全文
posted @ 2006-05-27 13:07 Cloudage 阅读(316) 评论(1) 推荐(0) 编辑
摘要: 以下皆为最近才了解到的常识问题:1、渲染场景的时候,不应该每个逻辑对象都拥有自己的mesh,而是应该所有相同的对象共用一个mesh。纹理也是如此,应该若干对象共用一个纹理。对于各种对象内部的工具性字段都应该共用。2、递归是绣花枕头。坚决不用递归。3、要用事件来触发,不要用轮询。为了方便扩充和什么什么,要把引擎拆开。内核为由用户启动的Client.EXE,它负责管理工具性字段和一切逻辑对象,但是所有... 阅读全文
posted @ 2006-05-20 18:25 Cloudage 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 本文说明如何让billboard始终面向摄像机,延伸话题是让一个物体面向一个坐标点的方法。首先约定我们使用左手迪卡尔坐标系,那么我们用4个顶点来构造一个平面,这个平面平行于X-Y轴,绘制的时候按照顺时针方向画两个三角扇。其次,我们用旋转矩阵*平移矩阵来描述Billboard的空间状态。我们的目标是让Billboard始终面向摄像机,即控制旋转矩阵在最终世界矩阵中的作用区域。这块区域是世界矩阵左上角... 阅读全文
posted @ 2006-05-09 17:08 Cloudage 阅读(616) 评论(0) 推荐(0) 编辑
摘要: 卡通渲染的任务分两步:第一步,勾边:用黑色描绘轮廓;第二步:离散光照。通常情况下,当光线照在物体上的时候,物体的颜色会依据光照强度的衰减而呈现出平缓的明暗变化。而卡通渲染要求明暗之间有显著的界限:要么就是高光,要么就是亮区,要么就是暗区,决不允许有平缓的渐变。这就是对连续光照的离散化处理,简单的做法就是给光照强度限制范围。勾边涉及到比较难以理解的边缘运算,所以我采用了一个简易的方法:用黑色渲染反面... 阅读全文
posted @ 2006-03-17 15:01 Cloudage 阅读(1695) 评论(0) 推荐(0) 编辑
摘要: 我想讨论的是RTS/RPG/SLG系统。这种系统有如下特点:1、场景角色多,且具有丰富的行为能力;场景也比较复杂,有各种行为机关2、用户操作界面较为复杂,需要用户介入的地方比较多3、要支持多用户(我把AI也视为用户)4、必须流畅,即需要脱离windows消息循环,独自运行。(不同于AVG等更为休闲的形式)由此,我作出如下设计:1、要有一个场景控制器,监视和控制场景和其中的角色活动:为了存放监视结果... 阅读全文
posted @ 2006-02-25 01:02 Cloudage 阅读(653) 评论(0) 推荐(0) 编辑
摘要: 瞬间灵感所得,绝对没有看任何资料。在处理图层的时候,如果总是先画远处的物体,再画近处的物体,那么一定可以得到正确的遮挡关系。举例,在斜角45度的场景中,就要总是从上到下的绘制物体。如何绘制,首先给每个物体指定一个轴点。这个轴点决定物体的远近。如下:红色即表示物体的轴点。当轴点靠下的时候,这个物体后画(它将遮盖轴点靠上的物体一部分或全部);当轴点靠上的时候,它先画(将被轴点靠下的物体遮盖一部分或全部... 阅读全文
posted @ 2005-12-02 14:59 Cloudage 阅读(768) 评论(8) 推荐(0) 编辑