microsoftxiao

记忆 流逝

导航

粒子的

实现一个粒子效果或系统,在Dx里要有如下几个步骤。

1.定义粒子顶点格式

2.定义粒子属性

3.定义发射器

4.实现发射器的渲染函数

5.实现发射器的更新函数

6.使发射器可动态修改

实现了这几个步骤后,再配合一个可视化的编辑器就是基本的粒子编辑器和系统了。这里给出整体步骤,具体细节你大可以分步的学习,相信不同的人学起来会有不同的结果。收获也大不相同,但学了就是会有收获的。

粒子入门的参考书籍等

《BeginningDirectX9》简单入门 - 一个最简单的类似爆炸的粒子效果介绍粒子。

《Introductionto3DGameProgrammingwithDirectX9.0》稍有深入 -

《DirectX9Graphics-The DefinitiveGuidetoDir》简单介绍

《SpecialEffectsgameProgrammingwithDirectX》较详细介绍

甚至是最酷的粒子系统如果你不能配置使用的话,就要自己写粒子编辑器了。

Chindogu和问题为什么做编辑器?

Chindogu是一个日本美术师,form invented by Kenji Kawakami,设计师。 I don't do it justice here in just a few sentences,但是实际上,Chindogu 是富有灵感和精细的设计。

不久经常的,我看到开发者的粒子很好,很成功,但是使用复杂,chunk of software.所以总是为什么我 要编写代码?真的需要吗?那用什么做?

所以为什么制作编辑器?粒子系统编辑器,特定的保存和加载函数,我们将写我们的粒子类,允许我们分离代码的改变。没有这些函数,你将需要核心代码粒子属性,你想直接放到游戏中。这意味者每次你想改变属性,你必须重新编译。如果你是游戏美术过分追求粒子的外观,你也许找到自己花时间来改变核心代码的属性,重新编译发布。这不是玩小。

将这些粒子的属性放到文本文件(游戏读取时,解决问题。现在你的艺术舒可以不重新编译就改变粒子系统属性。不幸的是,它仍然不能非常理想,因为它们必须运行游戏才能看到结果。理想的方式是创建一个所见即所得粒子编辑器。这样,你的美术师改变粒子系统属性和看到不同效果。这最后使美术师很高兴,将让游戏美术更好。

理解窗体函数

现在你决定制作一个粒子编辑器,下一步是你打算花多长时间完成它。你可以狂热些,但是我建议你保持简单-在个窗口上运行使用Win32API来做。仅仅通过大部分基本的函数。焦点是制作工具,而不是做的很酷,也就是说不要把工具做的很漂亮,我们是要用它。当然,它可以很华丽,它也许需要发布给玩家-但是优雅的完成它是关键;它主要使用鼠标。

你将说人们使用你的编辑器(lone wolfs can talk to themselves).询问它们喜欢的特性,让它可以支持添加新特性。我谈论关于软件开发过程,自从许多人写了许多大型书籍的话题,我们just leave it at that-它们告诉你需要开发。

保存和加载粒子属性

设计已经说的够多了-让我们写代码。前进从Ch18p2_ParticleProps例子程序开发。

粒子编辑器的灵魂和心脏是保存和加载粒子系统属性。幸运的,thisi if fairly simple stuff.根据你喜欢的格式输出每个属性。我建议制作人们可理解的,所以甚至如果他们没有你的粒子编辑器,你进入团队后可以使用粒子编辑器。注意。我更喜欢读写一些int文件,但是其他的选择像XML也很好。总之,int the end it comes down to what your requirements are,what you've worked with before,and just in genenral,what you like.

我不打算讨论过多的保存函数,因为你你可以自己去理解。实质的,它调用fprintf写输出一个INI文件。

加载方法更有趣。这个方法可正确的阅读和解析属性文件,根据请求处理文本的操作。实质上,有两步,我们读整个文件到STL map.我们使用属性名字(to the left of the equal sign)和它们的关系值(to the right of the equal sign).一次我们有map,我们查找特定的属性名。我们使用我们找到的值在系统中。我们检查更多的细节。

创建图map

搜索图和设置属性

加载代码Wrap-Up

渲染GUI

创建工具窗口(Really Just a 非模态对象诓)

疯狂的消息处理

初始化最初值到GUI

添加功能-设置通用对话框

GUI简介

编辑器简介

posted on 2006-04-15 15:16  龙巢NET刀  阅读(285)  评论(0)    收藏  举报