zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    POJ 1286 Necklace of Beads(Polya简单应用)
    《Nosql精粹》—— 读后总结
    基于ELK的数据分析实践——满满的干货送给你
    ELK5.0安装教程
    Oozie分布式工作流——EL表达式
    《分布式Java应用与实践》—— 后面两章
    Oozie分布式工作流——从理论和实践分析使用节点间的参数传递
    Oozie分布式工作流——Action节点
    Oozie分布式工作流——流控制
    图文并茂 —— 基于Oozie调度Sqoop
  • 原文地址:https://www.cnblogs.com/crazylights/p/2215742.html
Copyright © 2011-2022 走看看