下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 virtools汽车游戏示例

virtools汽车游戏示例.doc

virtools汽车游戏示例

55479009
2012-12-29 0人阅读 举报 0 0 暂无简介

简介:本文档为《virtools汽车游戏示例doc》,可适用于IT/计算机领域

实验步骤选择ResourcesOpenDataResource,选择virtools实验VTdemorscrsc这样便可以加载本实验的素材数据库了。场景的建立载入VTdemorscDEntitiesQuadPatch对象调整其位置、方向和大小然后按下SetICForSelected设定其初始值此时LevelManager窗口里的QuadPatch对象的IC处会显示X也就是已经设定其初始值了。同时对象相应的Materials、Textures和Meshes(用于描述对象的表面材质与几何形状)也被载入。为场景加入光源点击左侧工具栏的CreateLight工具创建一个光源命名为MainLight并调整其位置及参数。此时对象QuadPatch是“虚”的如果把带有物理属性的物体放在上面会透过“地面”“掉下去”所以接下来为其加入真实的“地面”效果。在LevelManager的DObjects中右键点击QuadPatch选择CreateScript,创建QuadPatch的脚本QuadPatchScript双击打开向其中加入模块BuildingBlocksPhysicsCreationPhysicalize将其in端与start连接。双击模块为其设置参数其中选中Fixed使QuadPatch对象在运行时是固定的不受重力等影响否则就会在运行时从场景中“掉下去”选中EnableCollision允许其它对象与之碰撞这样就相当于为后面加入的汽车、跳板对象设置了一个地面。将CollisionGroup命名为Floor表示QuadPatch对象所属的碰撞组的名字为Floor属于同一个平碰撞组的对象之间不会发生碰撞。其它参数如摩擦力、弹力、重量等可以使用默认值。接下来向场景中加入一块结冰的地面载入VTdemorscDEntitiesBox对象并为其创建一个脚本BoxScript加入一个Physicalize模块与Start连接。双击设置其参数由于结冰的地面比较滑所以将摩擦力改为其余设置与QuadPatchScript相同。加入汽车模型载入VTdemorscDEntitiescarbody对象以及左前轮VTdemorscDEntitieswheelFL、右前轮VTdemorscDEntitieswheelFR、左后轮VTdemorscDEntitieswheelBL、右后轮VTdemorscDEntitieswheelBR。注意四个轮子和车子主体的三色轴线要分别朝向同一方向轮子的名字可以改变但必须要包括FL、FR、BL、BR四组字母因为后面脚本中要加入的操纵汽车的模块PhysicsCar需要据此来获得车轮对象。接下来选择菜单Editors中的HierarchyManager将四个轮子对象拖至carbody对象这样四个轮子对象便成为车体对象的Children对象与车体对象成为一个整体(注意每次修改HierarchyManager后要右键点击修改的对象选择SetInitialConditionsonHierarchy来保存修改)。为车子加入主视角摄像机在左侧面板中点击CreateCamera,创建一个新摄像机并命名为InsideCamera将其Perspective参数设为mm移动到车头的上方在HierarchyManager将InsideCamera拖至carbody这样InsideCamera将固定在车头上。下面我们让汽车动起来。为对象carbody创建脚本carbodyScript为了操控车子加入模块BuildingBlocksControllerKeyboardSwitchonKey,将模块On端与Start链接点击鼠标右键选择Construct>AddBehaviorOutput加入一个输出端多次点击直到模块具有个输出端。双击模块设置参数如图分别用于控制车子前进、后退、左转、右转、刹车、加速。接着向脚本中加入模块BuildingBlocksPhysicsSpecialPhysicsCar将其On端与Start相连双击打开设置参数其中BODYParameters为车身参数数组WHEELSUSPENSIONParameters为车轮参数数组ENGINESTEERINGParameters为引擎参数数组。下面我们载入已经设定好的参数数组VTdemorscDEntitiesBODYParameters、VTdemorscDEntitiesWHEELSUSPENSIONParameters、VTdemorscDEntitiesENGINESTEERINGParameters可以在LevelManager中的Arrays找到。将PhysicsCar中的相应参数设置好后我们的车子就具备了各项物理属性。然后将模块SwitchonKey的输出端与模块PhysicsCar相应的输入端链接。由此车子已经可以在场景中“驰骋”了。下面为车子加入一个跟随的第三视角新建一个摄影机命名为FollowCamera将其Perspective设为CustomFieldofView设为,并将其放置在车子的后上方。建立脚本FollowCameraScript拖入模块BuildingBlocksCamerasMontageSetAsActiveCamera和BuildingBlocksDTransformationsConstraintLookAt,将SetAsActiveCamera模块的In端与Start链接使得运行时初始的默认摄像机为FollowCamera。将SetAsActiveCamera模块的Out端与LookAt模块的In端链接LookAt模块的参数Referential设为carbody从而将FollowCamera的拍摄目标设为车身。为了使摄像机随着拍摄目标的移动而旋转将LookAt模块的Out端与In端链接形成循环。此时摄像机只能旋转为了使其始终与车子保持一定距离跟随车子移动载入模块BuildingBlocksDTransformationsConstraintKeepAtConstantDistance双击设置参数Position中的Y设为使得摄像机镜头距水平面的竖直距离为Referential值设为carbody与车子保持的距离Distance设为。接下来为了使视角能够在FollowCamera与InsideCamera之间进行切换拖入两个BuildingBlocksCamerasMontageSetAsActiveCamera模块和两个BuildingBlocksControllerKeyboardKeyEvent模块如图连接起来将两个KeyEvent模块的KeyWaited参数设为Enter第一个SetAsActiveCamera模块的Target参数设为InsideCamera,第二个SetAsActiveCamera模块的Target参数设为FollowCamera。由此运行时按下Enter键视角将在InsideCamera和FollowCamera间切换。加入跳板模型载入VTdemorscDEntitiesPlanche对象作为跳板的底板载入VTdemorscDEntitiesPlanche作为跳板的斜面载入弹簧对象VTdemorscDEntitiesSpring。按上文提到的方法在HierarchyManager中将Planche和Spring设置为Planche的Children。为Planche创建教本PlancheScript拖入两个模块BuildingBlocksPhysicsCreationPhysicalize分别用于设置斜面和底板的物理属性拖入模块BuildingBlocksPhysicsCreationSetPhysicsHinge链接斜面和底板的一端拖入模块BuildingBlocksPhysicsCreationSpring设置弹簧的物理属性。设置第一个Physicalize模块的参数在碰撞组的名字处输入Planche。设置第二个Physicalize模块的参数在模块上点击右键选择AddTargetParameter,然后左键双击设置参数将Target设为Planche碰撞组为Planche。设置模块SetPhysicsHinge的参数将Object设为Planche将JointReferential设为Planche。设置模块BuildingBlocksPhysicsCreationSpring参数如图。加入吊桥模型载入VTdemorscDEntitiesBridgeJump对象为其创建一个脚本BridgeJumpScript并拖入一个Physicalize模块参数如图设置。在LevelManager的树型文件目录中右键点击BridgeJump对象选择复制粘贴后会在目录中出现一个名为BridgeJumpCopy的对象改名为BridgeJump在场景中将其拖放到BridgeJump对面的适当位置。载入VTdemorscDEntitiesBridgeBoard对象并将其在场景中拖放到与BridgeJump对象连接的位置。创建脚本BridgeBoardScript拖入一个Physicalize模块设置该桥板的物理属性参数如图设置再拖入一个SetPhysicsHinge模块与之连接参数设置如图使得BridgeBoard与BridgeJump链接起来。复制BridgeBoard并命名为BridgeBoard在场景中拖放到如图位置与BridgeBoard连接起来。修改其SetPhysicsHinge模块的参数如图由此两个桥板被链接起来。按照此方法创建块桥板BridgeBoard~BridgeBoard并链接起来。最后为了将桥墩BridgeJump与BridgeBoard链接起来在BridgeJump的教本中加入一个SetPhysicsHinge模块参数如图设置。

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/13

virtools汽车游戏示例

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利