没有比较好的,适合XNA游戏的场景公式编辑器器

您是访问本站的第位客人
&XNA Game Engine系列教程12:设计编辑器
XNA Game Engine系列教程12:设计编辑器
在我讲解游戏编辑器的实现代码前,我想先写一些关于它如何工作的内容。我这样做既是为了保持较短的实际教程(因为实际教程将会非常非常非常长),而且也是为了当编写代码时,帮助您更好地理解我们正在做的事情。
编辑器的使用与Visual Studio类似。素材,引用,组件和代码由Visual
Studio编译,然后将重新编译整个项目。如果这种情况发生,编辑器会检测更新并与新的项目同步。这让我们可以使用相同IDE并因此得益,而无需自己编译素材和代码。
在编辑器的主窗体(窗口)是一个可视化面板,这个面板有几个标签,分别是:Project,Scene,Toolbox和Properties。之前我已经实现了这些东西,我将首先谈谈编辑器如何工作。基本上,编辑器“链接”到一个游戏项目,该项目仅仅是一个标准的Visual
Studio的.csproj项目文件。这里是TestEnvironment.csproj,我们前面已经在使用它了。现在,我说的“链接”,不是指我们要修改游戏的项目或其他东西。当我们“链接”到项目,我们只是浏览项目,设置项目中的一些目录使编辑器正常工作。
让我们先从以“Project”选项卡开始。此标签包含一个有着三个主要部分的树目录:Scenes,Content和Reference。这些东西就是我们在游戏中用到的全部。从一个文件对话框选择项目可以链接到游戏,我们首先浏览.csproj文件,并解压缩所使用的引用项目。这些引用与你在Visual
Studio中修改的引用是一样的。我们加载每一个引用并遍历它包含的每个类型。如果类型从Component继承,我们会标记为含有组件并创建一个包含组件的类型的集合。然后,我们添加目录树中“References”的引用。请注意,我们只能在编辑器中查看引用而不能修改或添加引用,因为这个项目需要进行修改才能增加新的引用。这不好,因为如果项目一直变动,Visual
Studio和编辑器将没法同步。
在遍历引用前,任何包含组件的配置将被添加到Toolbox树目录,有组件的节点会包含子节点。现在我们已经有了可用组件的集合,我们可以通过在Toolbox上双击创建一个新的集合。这样会切换到“Scene”标签,它包含另一个树目录。这个树目录有GameScreens及其拥有的组件。这让我们可以可视化场景,也使我们能够从场景中移除组件或改变所处的screen。当从“Scen”标签双击一个组件时,“Properties”选项卡会打开,它有一个PropertyGrid控件(这个控件就是你在Visual
Studio的“属性”选项卡中看到的那个)可以设置选中的组件。这样,我们就可以在编辑器中修改组件的属性,而不是通过代码。后面,我们将添加修改器使我们能够改变继承自Component2D和Component3D的组件的属性,如运动,旋转和缩放等,这种修改器你在很多3D建模程序中也能看到。
让我们现在回溯到链接游戏时。在我们找到组件的引用后,我们遍历已经被编译的素材。我们不能在这里添加素材,这必须通过Visual
Studio实现,同样道理也不能添加引用,而且因为Visual
Studio可以为我们编译素材和引用,自己实现素材编译器是浪费时间。所有素材被添加到项目树目录的“Content”节点中。我们在properties标签中也使用这个,对应property
grid有一个自定义下拉菜单,使我们能够选择在bin/x86/Debug/Content目录中的素材,它们的属性是素材类型,如Model,Texture2D等。
最后我们要做的就是遍历在bin/x86/Debug/Scenes目录中的场景。如果此目录不存在,我们会创建它。如果找到场景,我们将其添加到项目树目录的“Scene”节点。双击一个场景我们会打开它并进行编辑。应当指出的是,一个场景是关于引擎状态的XML导出文件,这一步我们是在上一个教程中实现的。为了保存场景,我们只需使用Engine类中的相应方法,加载一个场景的方法类似。没有Visual
Studio我们也可以完成这个操作,因为场景文件不会包含在项目文件中,因此它不需要重新编译。
最后一点:我们能够在视界内使用鼠标和键盘移动或旋转相机。按住“S”键和鼠标左键,然后移动鼠标将旋转场景。而按住“S”键和鼠标右键将旋转相机。最后,鼠标中键和“S”键,通过移动鼠标向上和向下我们可以使镜头拉近和推远,移动鼠标向左和向右让相机绕Z轴旋转。如果你曾经使用过XSI的模型工具,会很熟悉这种操作方式。当然,你也可以用不同的操作方式,但因为我大部分时间使用XSI建模,所以我想保持相同的相机控制方式,编辑起来更容易。
这种编辑器的设计对我们来说是有好处的。这意味着我们可以用Visual
Studio处理大部分编写代码的工作和项目管理,我们只需关心如何绘制场景并修改,添加和删除场景中的组件。在第一篇编辑器教程中我们不会涵盖所有的内容,并可能第二篇或第三篇教程中也不会。因此,接下来的几个教程将基于编辑器。
最后提示,一些组件需要做一些修改才能在编辑器和串行化引擎中正常工作。我将做出修改并发布新版本,可能需要修改以前教程中的某些内容。
另外,在我离开前,我很想知道你在使用怎样的电脑?我很好奇……我本人正在使用的电脑大约是在一年半以前买的。它有两个8800GT NVIDIA显卡,英特尔Core
2 Duo E主频,4GB的RAM(品牌是什么我记不清了),500GB硬盘(其品牌我也忘记了)。我现在使用Windows 7
Beta版,但我也安装了Vista和XP。请在留言中让我知道你的电脑配置!
发布时间: 9:57:49&nbsp&nbsp 阅读次数:3627
Copyright &
上海市第八中学,推荐分辨率以上,推荐浏览器IE9.0及以上Direct 3D和XNA游戏开发基础(C#语言版) _正版电子书在线阅读_百度阅读
Direct 3D和XNA游戏开发基础(C#语言版)
支持以下平台(点击下载客户端)
畅销飙升榜
Direct 3D和XNA游戏开发基础(C#语言版)
亚马逊评分:
您也可能感兴趣
《Direct 3D和XNA游戏开发基础(C#语言版)》可以编写基于DirectX和微软最新游戏开发平台XNA(仅支持C#语言)的3D图形和3D游戏程序,其运行速度已接近于C++代码的运行速度,一些商业游戏已经使用C#语言创建。用C#语言编写3D图形和3D游戏程序可以降低学习和开发难度,提高开发效率,使开发人员能写出更安全的代码。《Direct 3D和XNA游戏开发基础(C#语言版)》目的是使具有C语言基础的读者通过《Direct 3D和XNA游戏开发基础》学习,掌握用C#语言开发基于DirectX和XNA的3D图形和3D游戏程序。《Direct 3D和XNA游戏开发基础(C#语言版)》采用实例驱动的方式进行讲解,在例子中尽量避免罗列不相关的知识点和无关代码,使例子代码短小精悍,容易理解,书中全部例程均给出了详细设计步骤,并对每一步代码给出详细解释,读者可按照书中步骤完成例子。
《Direct 3D和XNA游戏开发基础(C#语言版)》可作为学习用C#语言开发3D图形和3D游戏程序的入门书,也可作为高校计算机及游戏等相关专业教师、研究生、本专科学生的教材或参考书,对使用C#语言开发3D图形和3D游戏程序的程序员也有很好的参考价值。XNA+C#新一代游戏开发利器,采用实例教学法,在讲清基本知识点的基础上,借助于丰富的实例加以说明,涵盖关键知识点,提供短小精悍的范例代码,并辅之以详细设计步骤和解释。随着游戏产业的迅猛发展,快速、高效地开发出精彩的3D游戏已经成为众多游戏开发企业的终极梦想。从DirectX到XNA,借助于C#的优势,具体的实现细节被封装,游戏开发变得不再神秘,所以不管是游戏开发新手,还是具有C/C++基础的高级程序员,都能轻松开发出优秀的游戏软件。
耿肇英,教授,1948年1月出生。1983年毕业于北方交通大学电信系,获工学硕士学位。2000年晋升为教授。现任河北师范大学数学与信息科学学院计算机科学系主任。耿肇英教授目前主要从事智能仪器与虚拟仪器的研究工作。在《计算机科学》等国内外学术刊物上发表学术论文20余篇。1993年《动态智能心电监护仪》获河北省人民政府生产办公室河北新产品奖,1998年《智能远程心电监控装置》获国家专利,《SDA―1型微机实验系统》获全国普通高等工业学校CAI协作组优秀CAI软件三等奖。目前承担着三项横向研究课题。
第1章 Managed DirectX和XNA1.1 DirectX1.2 Managed DirectX1.3 XNA简介1.4 .NET Framework1.5 事件驱动1.6 Windows应用程序框架1.7 可视化程序设计1.8 解决方案和项目1.9 键盘事件1.10 事件处理函数参数1.11 鼠标事件1.12 窗体的Paint事件1.13 常用结构第2章 3D图形的数学基础2.1 3D坐标系统和坐标2.2 向量2.3 矩阵和Matrix结构2.4 仿射矩阵2.5 Matrix结构表示3D变换矩阵第3章 Direct 3D程序框架3.1 图形卡和GPU3.2 Device类3.3 3D程序基小框架3.4 从基小框架创建项目3.5 Transformed Colored结构3.6 绘制静止三角形3.7 绘制点、线和三角形3.8 VertexBuffer类3.9 绘制静止立方体3.10 背面剔除3.11 在基本框架中使用控件第4章 Direct 3D图形原理4.1 世界、观察和投影变换4.2 Position Colored结构4.3 显示三角形4.4 使三角形旋转4.5 三角形连续旋转4.6 显示立方体4.7 从不同位置观察立方体4.8 使用顶点索引绘制立方体4.9 模拟地板和墙壁4.10 旋转的卒心圆柱4.11 复杂的变换关系第5章 灯光和材质5.1 灯光5.2 材质和Material结构5.3 PostionNormal结构和法线5.4 定向光源照亮三角形5.5 定向光源照亮立方体5.6 定向光源照亮卒心圆柱5.7 点光源5.8 聚光灯光源5.9 各种光源照射到地板上5.10 镜面高光5.11 材质属性Emissivre第6章 纹理6.1 纹理图案和坐标6.2 包含纹理坐标的顶点结构6.3 为墙壁增加纹理6.4 纹理寻址模式6.5 光照三角形增加纹理6.6 为立方体增加纹理6.7 为空心圆柱增加纹理6.8 添加背景6.9 纹理滤波器6.10 多层纹理6.11 多级渐进纹理滤波第7章 Mesh类7.1 Mesh类预定义的几何体7.2 显示茶壶7.3 改变观察点和旋转茶壶7.4 增加多个茶壶7.5 克隆mesh实现纹理7.6 3D字体7.7 显示.x文件中的3D图形7.8 地形图7.9 Mesh的优化7.10 Mesh的简化7.11 Progressive Mesh类7.12 将3ds MaX文件转换为.x文件第8章 透明效果和雾化8.1 深度测试8.2 透明物体的绘制原理8.3 顶点颜色透明8.4 材质颜色透明8.5 纹理透明8.6 有纹理的透明立方休8.7 多个透明体8.8 雾化8.9 顶点雾化8.10 像素雾化8.11 基于范围的雾化第9章 其他特殊效果9.1 倒影9.2 使用TextureFactor来设置顶点颜色9.3 阴影9.4 后视镜9.5 广告牌技术9.6 模板测试第10章 可编程流水线入门10.1 可编程流水线的基本概念10.2 HLSL基础10.3 fx文件10.4 Effect类10.5 使用HLSL程序基本框架10.6 简单HLSL渲染10.7 HLSL光照模型10.8 HLSL表示环境光10.9 HLSL定向光源漫反射光10.10 HLSL表示镜面高光10.11 纹理渲染10.12 effect编辑器的使用第11章 移植到XNA游戏框架11.1 XNA暴本框架11.2 Basic Effect类11.3 键盘11.4 用顶点索引绘制图形11.5 灯光11.6 纹理11.7 .x和.fbx文件11.8 HLSL11.9 SpriteBatch类11.10 输出字符串11.11 鼠标及按钮实现第12章 XNA透明效果和雾化12.1 深度测试12.2 将顶点颜色设置为透明12.3 将材质颜色设置为透明12.4 纹理透明12.5 像素雾化第13章 XNA特殊效果13.1 倒影13.2 阴影13.3 广告牌技术13.4 模板测试13.5 后视镜13.6 声音第14章 用XNA实现粒子系统14.1 Point Sprite14.2 描述粒子的结构14.3 粒子系统原理14.4 粒子系统类14.5 模拟曳光弹14.6 模拟爆炸14.7 模拟雪景14.8 HLSL粒子系统14.9 SpriteBatch粒子系统第15章 XNA实现阶层动画15.1 常用的动画技术15.2 阶层关系15.3 .x文件格式分析15.4 显示有阶层关系的.x文件15.5 逼真的坦克15.6 蒙皮骨骼动画第16章 XNA游戏实例16.1 显示一辆汽车16.2 汽车停在公路上16.3 汽车在公路上行驶16.4 汽车左右移动16.5 在公路上增加障碍物16.6 汽车是否碰到障碍物16.7 完成游戏附录 C#语言入门
运行于Windows操作系统的大部分3D游戏和图形程序都是基于微软公司DirectX开发的,以往开发DirectX程序主要使用C++语言。由于DirectX函数库的使用十分复杂,所涉及的概念众多,而且多都不容易理解,又加上C++语言学习难度较大,以及同内适合初学者的有关DirectX程序设计书籍较少等原因,使用DirectX设汁3D游戏和图形程序工作一商未能得到很好的普及。2002年微软推出Managed DirectX(托管DirectX),支持C#语言丌发DirectX程序。2006午8月微软发布XNA Game Studio ExpreSS,是微软专门用于开发游戏的最新集成开发环境,是微软人力发展的游戏开发平台。Managed DirectX和XNA用类重新封装了DirectX函数库,比直接使用DirectX函数库要容易得多。两者都使用C#语言开发,减少了学习编程语言的难度。使用C#语言编写基于Managed Directx和XNA的3D游戏和图形程序可以降低学习和开发难度,提高开发效率,使开发人员能写更史安全的代码。基于ManagedDirectX和XNA的3D游戏和图形程序的运行速度已很接近C++程序,一些商业游戏已经使用Managed DirectX和xNA来创建。XNA编写的3D游戏程序还呵运行于微软游戏机XBox 360。Managed DirectX和XNA的推出必将促进3D游戏和图形程序设计的普及。本书介绍使用C#语言开发基于Managed DirectX和XNA的3D游戏和图形程序技术,目的是使具有C语言基础的读者通过本书学习,掌握使用C#语言开发3D图形程序的基础,并能开发简单的3D游戏程序。
第1章 Managed DirectX和XNA本章首先介绍DirectX、Managed DirectX和XNA有关知识,然后详细解释用C#语言设计3D程序时所用到但一般教科书又很少讲到的重要概念,最后列出C#语言3D程序设计中用到的一些结构。本书认为读者已经掌握了C#语言基本语法,并能够使用微软VisualC#2005速成版(简称VS 2005)编写Windows应用程序。如果读者不具备这方面的技能,请先阅读附录,掌握最基本的C#语言语法,然后再学习本章,学习事件驱动有关概念和用VS 2005编写Windows应用程序的最基本步骤,为学习用C#语言编写Direct 3D和XNA程序提供必要的基础。当然,仅靠这些内容就完全掌握C#语言是不可能的,如需进一步学习C#语言,还需要阅读C#语言的专著。如果读者对这方面的内容比较熟悉,也可跳过本章1.4节以后的内容,直接阅读第2章。
亚马逊评分
(11人评价)
帮助平台入驻XNA高级编程-第12章创建场景和赛道_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
18页免费17页免费14页免费74页免费9页免费 12页免费10页免费40页1下载券4页免费2页免费
喜欢此文档的还喜欢21页1下载券30页1下载券32页1下载券24页1下载券40页1下载券
XNA高级编程-第12章创建场景和赛道|X​N​A​高​级​编​程​ ​W​R​O​X​经​典​著​作
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢

我要回帖

更多关于 公式编辑器 的文章

 

随机推荐