摘要:
今天物理学已成为了游戏的一个重要组成部分,但你也看到它不是很容易将一个现成的物理引擎在XNA中实现。但是,你仍然可以通过自己的方式实现物理引擎,并可运行于Xbox 360上,而Xbox 360上是不允许非托管代码的。 物理学有许多议题,可以肯定全部都自己实现是不容易的,即使有一个良好的物理引擎你还必须做大量的调整和测试。然而,如果与你竞争的另一个游戏有大量的物理效果又不破坏游戏的乐趣,那么相对你...
阅读全文
posted @ 2010-10-16 23:58
AlexCheng
阅读(223)
推荐(0)
摘要:
如果前一章你觉得容易,现在将有点难。你的任务是查看CarPhysics类并弄懂如何相同的物理代码和碰撞检测是如何将车保持在赛道上,以及如何处理与护栏(不是一条直线)的碰撞。 要完成此项任务,最好是写一个单元测试,它绘制赛路,并让你以在TestCarPhysicsOnPlaneWithGuardRails单元测试中同样的方式控制汽车,以同样的方式处理游戏本身。但是,你也可以在CarPhysics类的...
阅读全文
posted @ 2010-10-16 23:57
AlexCheng
阅读(231)
推荐(0)
摘要:
车辆碰撞检测 借助于前面的代码,我们已经知道如何检测汽车与护栏的碰撞。只需创建两个碰撞平面,每个护栏一个,然后检查四个轮子与这两个平面的碰撞。因为赛车不仅是一个球体,因此无法像小行星那样做简单的处理,四个面都必须检测,但只检测四轮的位置(或至少是赛车的最外层)仍能实现基本碰撞检测(见图13-15)。 Figure 13-15 碰撞检测的代码在CarPhysics类的ApplyGravityAn...
阅读全文
posted @ 2010-10-16 23:56
AlexCheng
阅读(714)
推荐(0)
摘要:
实现物理效果 现在可以深入讨论赛车游戏所需的物理学了。今天你能看到许多强大的物理引擎的一些功能,但因为它们很难被实现而且也没有用.NET编写,所以你将通过自己的方式实现物理引擎。 在本章开始你处理了汽车控制和简单的重力效果。目前缺少的是准确的碰撞检测系统,当撞上一个护栏时你的车应该停止。你还将处理一些比较复杂的情况,比如说通过环形轨道等。环形轨道不难实现。借助于上一章的赛道生成代码,你能很容易地...
阅读全文
posted @ 2010-10-16 23:52
AlexCheng
阅读(531)
推荐(0)
摘要:
物理引擎 有了基本物理学的新知识,现在你可以较容易地比较现有的物理引擎了。实现了基本的东西和确定在系统中已定义了正确的常量并感觉良好之后,你应该考虑一下游戏的需求。物理引擎往往可以做很多不同的东西,许多物理演示和教程看上去很酷,但往往不能用于大多数游戏。第一次看到一堆箱子互相碰撞很有趣,但很少有游戏允许直接控制箱子并推动它们,而且看多了箱子翻倒就会觉得无趣,这就好象再一次回到了幼儿园一样。 但是,...
阅读全文
posted @ 2010-10-09 09:10
AlexCheng
阅读(692)
推荐(0)
摘要:
牛顿运动定律 让我们快速浏览一下运动学的重要定律。图13-2显示了看到这些物理规则: 第一定律——物体总保持静止或匀速直线运动状态,直到有外来迫使它改变这种状态。这很容易,因为所有物体运动都有一个运动向量或速度向量,除非你施加了力让其减速,加速或改变方向,否则不要改变该值。 第二定律——当施加一个外力时,这意味着你可以使物体加速或减速,如果超过一个维...
阅读全文
posted @ 2010-10-09 08:51
AlexCheng
阅读(551)
推荐(0)
摘要:
概览 近些年来在游戏中使用物理学变得越来越流行。老游戏没有任何物理学,但最近许多射击游戏具有复杂的物理系统,这些系统只有通过计算能力的巨大提升和和多核系统才有可能实现。最近还出现了硬件PPU(物理处理单元),类似于GPU处理图形,这些处理器只计算物理系统。 使用物理学最多的游戏是第一人称射击游戏,特别是在那些玩家具有较大的自由度并允许自由走动并和场景发生互动的游戏中。其中最流行的游戏是2004年底...
阅读全文
posted @ 2010-10-09 08:45
AlexCheng
阅读(201)
推荐(0)
摘要:
总结 在这一章中你学到了很多关于渲染复杂3D物体的知识,如场景、赛道和在赛车游戏中创建关卡。希望也可用于其他游戏,当为游戏创建场景时你要记得下列几件事: 总是先判断玩家是如何看场景的。看上去很棒的场景其实没多大意义,这种场景只在近距离看时很棒,这种场景在策略游戏、RPG游戏或赛车游戏中只覆盖了50米2面积。而在这类游戏中你需要面积更大,这意味着你要么重复纹理或有更好的渲染技术...
阅读全文
posted @ 2010-10-08 11:27
AlexCheng
阅读(354)
推荐(0)
摘要:
本章处理了不少复杂的问题,你很可能会觉得难,所以这次我布置了一个简单的任务。进入TrackLine类并为一个简单的赛道添加新的单元测试。你只需要新增一些顶点并测试它们直到赛道看起来足够好。 图12-22显示了一个这种自定义赛道的例子。请注意,这本书中为了看上去更好,我颠倒了截图。你也可以使用一个如第8章中所展示的倒置post-screen shader。 Figure 12-22 如果你还有精...
阅读全文
posted @ 2010-10-08 11:25
AlexCheng
阅读(226)
推荐(0)
摘要:
解决办法如下: 今天,恢复数据库的过程中发现,恢复后的数据库,会出现无法登录的情况。报15023错误。 sql server中的用户分为“登录用户”与“用户”,“登录用户”用于用户身份验证,而“用户”帐户用于数据库访问以及权限验证。”登录用户“通过安全识别符 (SID) 与“用户”关联。恢复原来数据库时,数据库中包含一组用户和权限,但没有和“登录用户”关联。这种情况被称为存在“孤...
阅读全文
posted @ 2010-09-28 09:34
AlexCheng
阅读(388)
推荐(0)