随笔分类 -  XNA

关于XNA开发的系列文章
[翻译]XNA 3.0 Game Programming Recipes之twenty-five
摘要:PS:自己翻译的,转载请著明出处格 4-18 使用Pre-三角形检查,检测射线模式的碰撞问题 你想检测3D射线是否与模型碰撞。这是必须的,如果你想执行一个碰撞检测在最好的详细程度。它可以被用来作为4-11节的一个扩展去检测在高级别的细节中,是否有一颗子弹已经击中了一个物体。如下一节所显示的那样,这是可能的,例如,同样可以用来检查指针是否是在当前的模型上。 更多的,它可以被用来作为极细小的检查为模型... 阅读全文

posted @ 2009-08-02 14:21 一盘散沙 阅读(331) 评论(0) 推荐(1)

[翻译]XNA 3.0 Game Programming Recipes之twenty-four
摘要:PS:自己翻译的,转载请著明出处格 4-17 根据地形下的正确倾斜模型问题 当在一个地形上移动一个汽车模型时,使用4-2节你可以调节汽车的高度,使用5-9节你可以找到在地形下的汽车的高度。但是,如果你不倾斜这车来响应车下面的斜面,结果看起来很糟糕在丘陵地图上。 正确定位和倾斜你的车,使它在地形上放置合适。解决方案 这个问题可以分解为四个部分: 1。你想找到模型的四个轮子中最低的顶点。 2。其次,要... 阅读全文

posted @ 2009-08-01 17:31 一盘散沙 阅读(302) 评论(0) 推荐(1)

[翻译]XNA 3.0 Game Programming Recipes之twenty-three
摘要:PS:自己翻译的,转载请著明出处格 4-11 使用光线跟踪的碰撞检测 小/快速物体问题 大部分碰撞的定义了一个方法,就是检测碰撞仅仅是如果两个对象在物理上接触碰撞。但是,如果你有一个小物体非常迅速通过一个对象,没准您的程序更新速度不够快不能检测出碰撞。 作为一个详细的例子,考虑子弹射击一瓶子。子弹会以5000公里每小时的速度朝着瓶子飞去,瓶子只有15公分宽(将已经是一个1.5 L 瓶子) 。您的X... 阅读全文

posted @ 2009-08-01 11:05 一盘散沙 阅读(378) 评论(0) 推荐(1)

[翻译]XNA 3.0 Game Programming Recipes之twenty-two
摘要:PS:自己翻译的,转载请著明出处格 4-10 使用BoundingSpheres的基本模式:碰撞检测问题 要检查两个模型是否碰撞了。如果您有许多模型在你的场景中,你不能再进行详细,每三角检查。要启动一个快速的方法来检查可能的碰撞和检查后精细的运行。解决方案 在进行碰撞检查,你会发现自己总是作出在速度和准确性之间的权衡。在大多数情况下,你需要解决的综合检查。在第一次执行中,您要扫描所有的物体的可能的... 阅读全文

posted @ 2009-07-31 17:02 一盘散沙 阅读(317) 评论(0) 推荐(1)

[翻译]XNA 3.0 Game Programming Recipes之twenty-one
摘要:PS:自己翻译的,转载请著明出处格 4-4 使用加速控制速度问题 您想使您的模型很好的加速,而不是将从停止到立即全速,反之亦然。图4-9显示了你想要的这种增加速度。解决方案 加入加速速,您可以定义您的模型以多快的速度增加。这是一个数量值的速度你想把它添加到当前模型的每一祯的速度中。它是如何工作的 您将需要掌握你的模型旋转和它的位置 ,因为您需要知道哪个方向是前进方向。在这个例子中,你让模型只围绕U... 阅读全文

posted @ 2009-07-31 11:21 一盘散沙 阅读(260) 评论(0) 推荐(0)

[翻译]XNA 3.0 Game Programming Recipes之twenty
摘要:PS:自己翻译的,转载请著明出处格 3-13.创建一个镜像:投影纹理问题 您想要建立镜像在你的场景,例如中,建立一个倒车镜在赛车游戏中。您也可以使用这种技术建立一个倒影的图。解决方案 首先,您绘制场景,因为它被一面镜子看到,成为一个纹理。接下来,您可以绘制现场被相机看到(包括空镜子) ,最后你把纹理放到镜子里。 为绘制被镜子看见的场景,你会要确定第二个摄像头,称为镜子相机。您可以找到此镜相机的位置... 阅读全文

posted @ 2009-07-30 11:53 一盘散沙 阅读(300) 评论(0) 推荐(1)

[翻译]XNA 3.0 Game Programming Recipes之nineteen
摘要:PS:自己翻译的,转载请著明出处 3-12创建一个三维爆炸效应/简单粒子系统问题 你想在你的3D世界里创建一个漂亮的爆炸效果。解决方案 您可以创建一个爆炸效应相加融合了很多小火球图像(称为粒子)超过对方。你可以看到这样一个火球粒子在图3-22。请注意,一个单一的粒子是非常模糊的。但是,如果您添加了许多粒子彼此紧挨着对方,你会得到一个非常令人信服的爆炸。 爆炸开始时发生,所有这些粒子是在初始的地方爆... 阅读全文

posted @ 2009-07-28 12:14 一盘散沙 阅读(368) 评论(0) 推荐(1)

[翻译]XNA 3.0 Game Programming Recipes之eighteen
摘要:PS:自己翻译的,转载请著明出处 3-11 让您的场景更令人印象深刻的 Billboarding :绘制二维图像的三维世界 因此,他们总是面相机问题 寻找令人印象深刻的,一个三维世界需要包含大量的对象,尤其是在处理户外场景。例如,您将需要几百人,如果不是数以千计的树木,否则您的森林不看真实的。然而,正是出于对这一问题,您将会使绘制联合100 树木的3D模型,因为这将使你的程序变的很慢。 您也可以... 阅读全文

posted @ 2009-07-27 13:33 一盘散沙 阅读(626) 评论(0) 推荐(1)

[翻译]XNA系列教程2D碰撞教程3:转换物体的碰撞检测
摘要:这篇文章转自__Vincent Zhang__,文中本人略做修改,转载请注明出处这篇文章讲述了如何对线性变换的物体,如物体的旋转和大小变换,使用基于像素的碰撞检测。Note 注意 这个教程的代码是建立在之前教程的基础上的,请确保学习过前面的教程之后再开始本教程的学习。 绪论 在前面的教程当中,你已经为你的躲避落体游戏添加了可以使游戏中的碰撞更精确的基于像素级别的碰撞检测。而在教程2中所讲述的像素碰... 阅读全文

posted @ 2009-07-26 21:53 一盘散沙 阅读(1192) 评论(0) 推荐(1)

[翻译]XNA 3.0 Game Programming Recipes之seventeen
摘要:PS:自己翻译的,转载请著明出处 3-7。创建一个纹理,定义每个象素的颜色,保存纹理到一个文件里问题 要创建一个新的纹理从无到有,手动定义的颜色每个像素的纹理。这可能是很有用的当您想要让用户创建一个图像或产生人工图像如深的地图或混乱的地图。 您想保存这个或另一个纹理到一个文件,例如,产生你程序的屏幕截图或者用于调试目的。解决方案 设置图像的内容颜色是直接被XNA框架支持,这是你选择一种格式来保存... 阅读全文

posted @ 2009-07-26 15:24 一盘散沙 阅读(364) 评论(0) 推荐(1)

[翻译]XNA 3.0 Game Programming Recipes之sixteen
摘要:PS:自己翻译的,转载请著明出处 3-6 创建一个2D菜单界面问题 你想建立一个2D菜单界面,允许你很容易添加新的菜单和指定他们的项目。菜单应该允许用户翻阅不同的项目和菜单使用控制器/键盘来控制。当用户从一个菜单浏览到另一个时,您希望有一个很好的过度效果:解决方案 您将创建一个新的类,MenuWindow,这将跟踪一切与菜单有关的事物,如当前的菜单状态,在菜单中的项目,背景图像,以及更多。这个类... 阅读全文

posted @ 2009-07-25 22:56 一盘散沙 阅读(332) 评论(0) 推荐(1)

[翻译]XNA 3.0 Game Programming Recipes之fifteen
摘要:PS:自己翻译的,转载请著明出处 3-5 显示文本文字问题 你想显示一写文字,例如,想显示一些信息或者当前分数。解决方案 SpriteBatch类,在这章的前四节第一次被说明,它也有渲染文本的能力。它和纹理一样用几乎相同方式被渲染。而不是导入一个texture2D,应该导入一个SpriteFont,它包含了你想使用的字体的类型和字体大小。下一步,你能可以使用SpriteBatch.DrawStri... 阅读全文

posted @ 2009-07-25 15:53 一盘散沙 阅读(299) 评论(0) 推荐(1)

[翻译]XNA 3.0 Game Programming Recipes之fourteen
摘要:PS:自己翻译的,转载请著明出处 3-4 使用SpriteBatch类时考虑性能问题 当错误的使用SpriteBatch类时,如果您要提供大量的图像您的应用程序将运行极其缓慢。解决方案 如前所述在3-1节,在开始或结束之间或每一祯都创建一个新的SpriteBatch类,你绘制的每一个图象将会杀死你的性能。但是你应该知道也有更微妙的方面。它是如何工作的性能优化:精灵存储模式 SpriteBatch类... 阅读全文

posted @ 2009-07-25 12:00 一盘散沙 阅读(290) 评论(0) 推荐(0)

[翻译]XNA 3.0 Game Programming Recipes之thirteen
摘要:PS:自己翻译的,转载请著明出处 3-3 使用图层渲染透明图片问题 在大多数情况下,您会希望在彼此之间上部多绘制些图片。现在的主要问题是,所有的图片都是完整的矩形,所以他们将覆盖早些时候提供的图片。您还需要确认您提供的背景的第一副图片。解决方案 使用XNA,你可以指定层,或者图象即将绘制的深度。当你调用SpriteBatch.Draw方法,XNA可以帮你排列图象,所以图象上最深的就是第一个被绘制。... 阅读全文

posted @ 2009-07-24 10:57 一盘散沙 阅读(517) 评论(0) 推荐(1)

[翻译]XNA 3.0 Game Programming Recipes之twelve
摘要:PS:自己翻译的,转载请著明出处 3-2 图象的旋转,缩放,和反射问题 在绘制到屏幕之前你想要旋转,缩放和反射一个副图片。解决方案 Draw方法的不同超载被SpriteBatch类所提供(见以前的章节)允许你很容易这样做。如何工作 旋转/缩放/反射一副图象 SpriteBatch.Draw方法有许多重载的方法。这里有最复杂的重载,以及可能的参数下一步将讨论: [代码] 头两个参数,以及第四个参数,... 阅读全文

posted @ 2009-07-24 09:35 一盘散沙 阅读(269) 评论(0) 推荐(1)

[翻译]XNA 3.0 Game Programming Recipes之eleven
摘要:PS:自己翻译的,转载请著明出处 3-1二维图像显示:使用SpriteBatch类加载和绘制图象问题 您想使二维图像的屏幕创建一个2D游戏或作为用户界面一个3D游戏。你想要一个简单的界面,以便您可以指定在屏幕上图象应该显示的位置。解决方案 XNA框架提供的功能,绘制图象的能力用一个很好的方式执行,以SpriteBatch类形式。 SpriteBatch类被设计成易用性,这节会显示它的性能。尽管如... 阅读全文

posted @ 2009-07-23 10:40 一盘散沙 阅读(390) 评论(0) 推荐(1)

[翻译]XNA 3.0 Game Programming Recipes之ten
摘要:PS:自己翻译的,转载请著明出处 2-14.自定义内容的输入问题 你想加载一个自定义版本的文件通过内容管道到你的XNA项目中。由于你文件的扩展名和结构与已知的XNA文件格式不同,默认的XNA内容管道不知道该如何加载和处理你的文件使它成为一个有用的游戏对象。解决方案 你要写一个可以输入的自定义内容,能阅读的文件从磁盘和有用的数据格式到一个对象里面,准备被处理器处理。因此,这一节假设你已经知道如何建立... 阅读全文

posted @ 2009-07-22 11:32 一盘散沙 阅读(384) 评论(0) 推荐(1)

[翻译]XNA 3.0 Game Programming Recipes之nine
摘要:PS:自己翻译的,转载请著明出处 2-13.创建一个模糊/发光的Post-Processing效果问题 你想在你最终的图象上添加一个模糊的效果,或者你想添加一个发光的对象在你的屏幕上。解决方案 这两个效果都是post-processing效果。在上一节中学习了怎么设置一个post-processing框架。发光效果的选择,因为它演示了如何融合更多的着色通行的输出。 您可以获取模糊效应计算每个像素的... 阅读全文

posted @ 2009-07-21 11:36 一盘散沙 阅读(323) 评论(0) 推荐(0)

[翻译]XNA 3.0 Game Programming Recipes之eight
摘要:PS:自己翻译的,转载请著明出处 2-12.安装后的处理框架问题 您要添加二维后处理影响到XNA工程的最终图像,如模糊,纹波,震动,镜头变焦,边缘增强,或其他后处理的效果。解决方案 您首先使您的二维或三维场景到屏幕上。在结束Draw阶段,之前的内容回缓冲区提交给屏幕,你准备截取后备缓冲区的内容把它用2D图象保存,如3-8节所解释。 接下来,您将促使本二维图像到屏幕,但您将通过一个自定义象素阴影,它... 阅读全文

posted @ 2009-07-20 10:57 一盘散沙 阅读(406) 评论(0) 推荐(1)

[翻译]XNA 3.0 Game Programming Recipes之seven
摘要:PS:自己翻译的,转载请著明出处 2-11.创建一个实时相机依赖于优化自适应网格(漫游)地形问题 虽然您可以使用一个四叉树的机制中所如2-10节,以确保XNA使得只有那些地形的补丁是相机看不到的,这种做法是并非最佳。远离相机的补丁仍然作出同样的与接近于相机的补丁一样的高详细绘制。在屏幕上一些三角形正被绘制,甚至占用不到单个像素。 因此,你想要使用level-Of-Detail(LOD)方法,地形远... 阅读全文

posted @ 2009-07-19 10:21 一盘散沙 阅读(314) 评论(0) 推荐(1)

导航