Windows8 游戏开发教程二、关于资源和工具

游戏主循环,帧、帧动画这些东西的理解非常重要。

常用的设计模式和编码调试技巧也非常重要。

但有点难以言传的意思,语言和文字并不能在以上两点帮助你,自己努力练习和理解吧。

就讲讲资源和工具。

很多人总是搞不清楚游戏要怎么制作,这有一个简单的方法让你清楚,游戏和应用绝无任何区别。

只不过图形的要求稍微搞了那么一点点,所以经常需要基于帧刷新的图形系统来开发各种各样的功能。

仅此而已,基础不牢靠的话,可能会稍微有点迷茫。

其他的方向,我相信会写应用就会了。

由于metro app 是按包发布的,所以资源文件要包括在项目中,build action 选择 content。

J(FU{D[4[JH3YYA$}OT2ETU

如图,这个教程只提供了从包内加载的方式。

也可以考虑下载之类的。

今天主要讨论一下图形。

首先windows8 里面我觉得传统UI可以用于游戏UI,你看现在不是流行flashUI嘛?所以我们也可以利用xaml来制作UI,这部分资源都可以直接编辑,先按下不表。

在D2D D3D的部分、需要以下几种资源 d2dbitmap d3dtexture d3dmesh shader

这里就更不适合做教程了,资源系统的设计其实没有一条固定的路径要怎么做。

我只能介绍一下我怎么做,和我这么做的用意。

首先d2dbitmap 和 d3dtexture 都是贴图,我这里先支持texture2d,cubemap和texture1d就先不管它。

这个示例项目中我准备用极坐标替代cubemap,texture1d在任何场合都可以被texture2d代替。

那么d2dbitmap和d3dtexture最好是同源的,而且最好支持多一些格式。

(}G3%BX[2$TRYP3GA7}OY9P

所以就这么设计接口了,先从文件中加载一个Bitmap,再用这个对象创建d3d贴图或者d2d位图。

然后是模型和shader

模型我自己定了个简单的格式,写了个工具从fbx导出数据,利用xna4 vs2010开发,用不了多少代码。

使用fbx是一个比较好的选择,主流的3d开发工具均可导出fbx。

image

shader嘛,dx11 支持加载bytecode,提前用fxc 编译成bytecode当作资源文件即可。

为了调试方便,我们采用一个即使编译的办法

XSX(2OL1PW7J}FJT[AEA_VU首先得把这个文件当作资源包进文件包,实时编译需要他。

然后把fx文件也当资源,从中读出字符串编译。

UU0~ZE@18U8X6UE2OXEB0~M

工具:

3dmax 或者其他模型编辑工具

phoneshop或者其他图像处理工具

fbx转换工具,上面那个。

https://crazylights.googlecode.com/svn/CLReach/win8/fbxconv

原文地址:https://www.cnblogs.com/crazylights/p/2215742.html