摘要: 游戏中的粒子系统常用来被创建各种炫丽多姿的特效,例如魔法效果,闪电,火焰,火舌,光环,雨雪,落叶等等,其重要程度不言自明。但很多初学者对粒子系统的使用仍是一头茫然,这大多也都是因为多数书籍上只是介绍了粒子系统的原理和简单的效果实现,例如最简单的礼花效果等等,很多同学看过了以后并不觉得粒子系统能有什么过人之处,或是觉得即使粒子能制作高质量的特效,但也不知如何实现。当然在真正的游戏开发中,粒子系统不大可能是像教程上写得那样用硬编码的形式实现,必须有一个成型的粒子系统,这个系统常常和游戏引擎结合,或是被游戏引擎实现,然后提供各种制图工具的导出插件,例如3dmax和maya等等,将其制作的粒子特效导出 阅读全文
posted @ 2012-08-26 21:58 重甲土拨鼠 阅读(6054) 评论(1) 推荐(1) 编辑
摘要: 从3Dmax导出动画文件在3Dmax里我们可以利用一些现成的.bip文件来驱动我们的模型,通过OgreMax这个插件可以将这些东西到出为ogre支持的文件格式从而,导出到ogre中使用。第一,安装ogremax插件这个没什么可说的,你在网上下载一个安装上就行了。安装后,看以看到在主菜单栏中有:第二,导出设置选中你的模型,ogremax->object setting...弹出如下对话框,在“mesh”一栏,输入mesh name,和skeleton name在mesh animation一栏中单击,左下角的那个add..在弹出的对话框中输入动作名,调节好你的动画的开始帧和结束帧ok之后, 阅读全文
posted @ 2012-08-18 22:54 重甲土拨鼠 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 未能创建.NET Frameworks PropertyGrid组件2009/10/26 15:38http://blog.163.com/zhang-jh04/blog/static/974871722009731233124/Failed to create .NET Frameworks PropertyGrid component.Please verify that the common language runtime and .NET frameworks are properly installed.直接的解决方案:------------------------------- 阅读全文
posted @ 2012-05-12 19:02 重甲土拨鼠 阅读(1071) 评论(0) 推荐(0) 编辑
摘要: 主要代码如下:1 顶点结构struct CUSTOMVERTEX{FLOAT x, y, z;DWORD color;};#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_DIFFUSE) //顶点格式2 顶点buf创建,填充CUSTOMVERTEX vertices[] ={{ 1.0f, 3.0f, 0.0f, 0xffff0000, },{ 2.0f, 1.0f, 0.0f, 0xff00ff00, }, { 1.5f, 0.2f, 0.0f, 0xff0000ff, },};//创建顶点缓冲区if( FAILED( g_pd3dDevice- 阅读全文
posted @ 2012-03-06 01:54 重甲土拨鼠 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 一、从文件加载光标图标HCURSOR hcur=::LoadCursorFromFile("AniCur.ani"); //加载光标 ::SetClassLong(GetSafeHwnd(),GCL_HCURSOR,(LONG)hcur);二、加载系统光标SetCursor(LoadCursor(NULL,IDC_HAND));三、从资源加载光标SetCursor(LoadCursor(NULL,MAKEINTRESOURCE(IDI_MY_CURSOR)));此外,还有SetSystemCursor函数,可以设置系统光标。 阅读全文
posted @ 2012-02-23 22:35 重甲土拨鼠 阅读(3160) 评论(0) 推荐(0) 编辑
摘要: 函数代码如下:template < class T>void PrintDebug(LPCSTR mes,const T& debug){std::string str = "";std::ostringstream oss;oss<<"输出调试信息:"<<mes<<"------>"<<debug<<std::endl;str = oss.str();oss.clear();OutputDebugString((LPCSTR)str.data()) 阅读全文
posted @ 2012-02-08 13:54 重甲土拨鼠 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 用标准c++进行string与各种内置数据类型的转换要实现这个目标,非 stringstream 类莫属。这个类在<sstream>头文件中定义, <sstream>库定义了三种类:istringstream、ostringstream和stringstream,分别用来进行流的输入、输出和输入输出操作。另外,每个类都有一个对应的宽字符集版本。简单起见,我主要以stringstream为中心,因为每个转换都要涉及到输入和输出操作。示例1示范怎样使用一个stringstream对象进行从string到int类型的转换 注意,<sstream>使用string对 阅读全文
posted @ 2012-02-08 09:59 重甲土拨鼠 阅读(770) 评论(0) 推荐(0) 编辑
摘要: 龙书中介绍了平面阴影,并且用模板防止双倍混合。说白了就是防止阴影部分重复渲染引发阴影更黑。但使用了下段代码后,阴影完全不见了。Device->SetRenderState(D3DRS_STENCILENABLE, true); Device->SetRenderState(D3DRS_STENCILFUNC, D3DCMP_EQUAL); Device->SetRenderState(D3DRS_STENCILREF, 0x0); Device->SetRenderState(D3DRS_STENCILMASK, 0xffffffff); Device->SetR 阅读全文
posted @ 2012-02-05 06:48 重甲土拨鼠 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 平面基本概念:n*p + d = 0;D3DXPLANE包含了a,b,c,d三个变量a,b,c构成平面的法向量n,d=-n*p;1.平面的方程式:ax+by+cz=d;先说一下高中的向量知识:问:在一个平面上已经知道平面的法向量n(a,b,c),和平面上的任意点P(x,y,z),以及一个已经点R(x0,y0,z0)求平面方程?解法:RP = (x-x0, y-y0, z-z0);RP*n = 0;(垂直定理)a(x-x0)+b(y-y0)+c(z-z0)=0;化简:ax+by+cz+d=0;由以上得只要知道向量和平面上任意直线就可以得到平面的方程,所以得到n*p+d=0;//给定一个平面和一个 阅读全文
posted @ 2012-01-31 15:08 重甲土拨鼠 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 3DMAX中建立一个大面积模型,比如地形。上面铺上草地材质位图。如果正常附材质的话,即使设置uv偏移,导出x文件后也会出现纹理发虚,图像出现马赛克的情况,这是因为导出x文件的插件不支持材质球的uv偏移。解决办法是给模型加一个uvw贴图修改器。在u/v/w向平铺 栏中填入要平铺的次数,可以实现反复平铺的效果。上图: 阅读全文
posted @ 2012-01-31 00:45 重甲土拨鼠 阅读(362) 评论(0) 推荐(0) 编辑