Windows8 游戏开发教程-二、关于资源和工具(转)
2011-11-16 14:47
399 查看
http://www.cnblogs.com/crazylights/archive/2011/10/17/2215742.html
游戏主循环,帧、帧动画这些东西的理解非常重要。
常用的设计模式和编码调试技巧也非常重要。
但有点难以言传的意思,语言和文字并不能在以上两点帮助你,自己努力练习和理解吧。
就讲讲资源和工具。
很多人总是搞不清楚游戏要怎么制作,这有一个简单的方法让你清楚,游戏和应用绝无任何区别。
只不过图形的要求稍微搞了那么一点点,所以经常需要基于帧刷新的图形系统来开发各种各样的功能。
仅此而已,基础不牢靠的话,可能会稍微有点迷茫。
其他的方向,我相信会写应用就会了。
由于metro app 是按包发布的,所以资源文件要包括在项目中,build action 选择 content。
![](http://images.cnblogs.com/cnblogs_com/crazylights/201110/201110171901019257.jpg)
如图,这个教程只提供了从包内加载的方式。
也可以考虑下载之类的。
今天主要讨论一下图形。
首先windows8 里面我觉得传统UI可以用于游戏UI,你看现在不是流行flashUI嘛?所以我们也可以利用xaml来制作UI,这部分资源都可以直接编辑,先按下不表。
在D2D D3D的部分、需要以下几种资源 d2dbitmap d3dtexture d3dmesh shader
这里就更不适合做教程了,资源系统的设计其实没有一条固定的路径要怎么做。
我只能介绍一下我怎么做,和我这么做的用意。
首先d2dbitmap 和 d3dtexture 都是贴图,我这里先支持texture2d,cubemap和texture1d就先不管它。
这个示例项目中我准备用极坐标替代cubemap,texture1d在任何场合都可以被texture2d代替。
那么d2dbitmap和d3dtexture最好是同源的,而且最好支持多一些格式。
![](http://images.cnblogs.com/cnblogs_com/crazylights/201110/201110171901016192.jpg)
所以就这么设计接口了,先从文件中加载一个Bitmap,再用这个对象创建d3d贴图或者d2d位图。
然后是模型和shader
模型我自己定了个简单的格式,写了个工具从fbx导出数据,利用xna4 vs2010开发,用不了多少代码。
使用fbx是一个比较好的选择,主流的3d开发工具均可导出fbx。
![](http://images.cnblogs.com/cnblogs_com/crazylights/201110/201110171901024697.png)
shader嘛,dx11 支持加载bytecode,提前用fxc 编译成bytecode当作资源文件即可。
为了调试方便,我们采用一个即使编译的办法
![](http://images.cnblogs.com/cnblogs_com/crazylights/201110/201110171901027173.jpg)
首先得把这个文件当作资源包进文件包,实时编译需要他。
然后把fx文件也当资源,从中读出字符串编译。
![](http://images.cnblogs.com/cnblogs_com/crazylights/201110/201110171901033519.jpg)
工具:
3dmax 或者其他模型编辑工具
phoneshop或者其他图像处理工具
fbx转换工具,上面那个。
https://crazylights.googlecode.com/svn/CLReach/win8/fbxconv
游戏主循环,帧、帧动画这些东西的理解非常重要。
常用的设计模式和编码调试技巧也非常重要。
但有点难以言传的意思,语言和文字并不能在以上两点帮助你,自己努力练习和理解吧。
就讲讲资源和工具。
很多人总是搞不清楚游戏要怎么制作,这有一个简单的方法让你清楚,游戏和应用绝无任何区别。
只不过图形的要求稍微搞了那么一点点,所以经常需要基于帧刷新的图形系统来开发各种各样的功能。
仅此而已,基础不牢靠的话,可能会稍微有点迷茫。
其他的方向,我相信会写应用就会了。
由于metro app 是按包发布的,所以资源文件要包括在项目中,build action 选择 content。
![](http://images.cnblogs.com/cnblogs_com/crazylights/201110/201110171901019257.jpg)
如图,这个教程只提供了从包内加载的方式。
也可以考虑下载之类的。
今天主要讨论一下图形。
首先windows8 里面我觉得传统UI可以用于游戏UI,你看现在不是流行flashUI嘛?所以我们也可以利用xaml来制作UI,这部分资源都可以直接编辑,先按下不表。
在D2D D3D的部分、需要以下几种资源 d2dbitmap d3dtexture d3dmesh shader
这里就更不适合做教程了,资源系统的设计其实没有一条固定的路径要怎么做。
我只能介绍一下我怎么做,和我这么做的用意。
首先d2dbitmap 和 d3dtexture 都是贴图,我这里先支持texture2d,cubemap和texture1d就先不管它。
这个示例项目中我准备用极坐标替代cubemap,texture1d在任何场合都可以被texture2d代替。
那么d2dbitmap和d3dtexture最好是同源的,而且最好支持多一些格式。
![](http://images.cnblogs.com/cnblogs_com/crazylights/201110/201110171901016192.jpg)
所以就这么设计接口了,先从文件中加载一个Bitmap,再用这个对象创建d3d贴图或者d2d位图。
然后是模型和shader
模型我自己定了个简单的格式,写了个工具从fbx导出数据,利用xna4 vs2010开发,用不了多少代码。
使用fbx是一个比较好的选择,主流的3d开发工具均可导出fbx。
![](http://images.cnblogs.com/cnblogs_com/crazylights/201110/201110171901024697.png)
shader嘛,dx11 支持加载bytecode,提前用fxc 编译成bytecode当作资源文件即可。
为了调试方便,我们采用一个即使编译的办法
![](http://images.cnblogs.com/cnblogs_com/crazylights/201110/201110171901027173.jpg)
首先得把这个文件当作资源包进文件包,实时编译需要他。
然后把fx文件也当资源,从中读出字符串编译。
![](http://images.cnblogs.com/cnblogs_com/crazylights/201110/201110171901033519.jpg)
工具:
3dmax 或者其他模型编辑工具
phoneshop或者其他图像处理工具
fbx转换工具,上面那个。
https://crazylights.googlecode.com/svn/CLReach/win8/fbxconv
相关文章推荐
- [教程] Windows8 游戏开发教程-二、关于资源和工具
- Windows8 游戏开发教程-二、关于资源和工具
- 转载 Windows8 游戏开发教程-开篇 主要是知识点和工具的列举和对比
- win8开发教程二--关于资源和工具
- Unity3D系列教程--使用免费工具在Unity3D中开发2D游戏 第一节
- Cocos2d—X游戏开发之(socket)Mac下网络抓包工具(Cocoa Packet Analyzer使用教程)
- 分享:IOS应用or游戏开发资源教程、示例等归档搜索测试
- C++ DirectX 游戏开发初级视频教程 19 资源下载链接
- 关于IE8开发人员工具教程
- Unity2D游戏开发基础教程1.2 项目、资源和场景
- Unity2D游戏开发基础教程1.2项目、资源和场景
- Unity2D游戏开发基础教程1.2项目、资源和场景
- 关于web性能的思考与分享[10]-fis3构建工具-语法教程(2)之定位资源
- Unity3D系列教程--使用免费工具在Unity3D中开发2D游戏 第一节
- Android游戏开发11:Android SDK自带draw9patch工具详细教程
- C++ DirectX 游戏开发中级视频教程 03 资源下载链接
- 【Cocos2d游戏开发之二】Cocos2D 游戏开发资源贴(教程以及源码)
- Windows8 游戏开发教程-开篇(转)
- cocos2d游戏开发教程资源
- 【Cocos2d游戏开发之二】Cocos2D 游戏开发资源贴(教程以及源码)