四轮载具的制作.docx

上传人:b****5 文档编号:6199651 上传时间:2023-01-04 格式:DOCX 页数:14 大小:478.85KB
下载 相关 举报
四轮载具的制作.docx_第1页
第1页 / 共14页
四轮载具的制作.docx_第2页
第2页 / 共14页
四轮载具的制作.docx_第3页
第3页 / 共14页
四轮载具的制作.docx_第4页
第4页 / 共14页
四轮载具的制作.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

四轮载具的制作.docx

《四轮载具的制作.docx》由会员分享,可在线阅读,更多相关《四轮载具的制作.docx(14页珍藏版)》请在冰豆网上搜索。

四轮载具的制作.docx

四轮载具的制作

带你走进CryEngine3系列教程

-by小飞侠

创建车辆

在游戏中驾驶车辆有时是必不可少的,由于汽车的移动涉及到物理引擎、碰撞、粒子、视角等一些元素,所以要想创建出一辆可以行驶的汽车是比较困难的,还好在CryEngine3中己经为我们筒化了很多步骤,这一节我将介绍一下车辆创建的基本流程。

我们需要在3dsMax上创建一辆汽车模型,汽车模型的制作是有要求的,否则会导致模型导出后无法使用。

需要注意的有几下3点:

①汽车的轴应该位于(0,0,0)

  

  

  ②汽车必须面向Y轴正方向,并且车轮的位置如图设置

  

  

  

  ③汽车模型的组成结构,必须通过几部分元素组成整个汽车

  

  

  

  基本了解创建车辆时需要注意的几个问题后,我们开始创建自己的汽车。

1、在3dsMax由制?

—个车体,命名为body,并#也成可编辑多边形,注意轴的位置和方向

  

  

  

  2、制做4个车轮,分别命名为wheel1、wheel2、wheel3、wheel4

制作车轮时需要将车轮和碰撞体attach(附加)成一个可编辑多边形,碰撞体材质使用NoDr的渲染模式

  

  分别将4个车轮放置在汽车的车轮位置,注意放置的顺序,如果车轮旋转或缩放过,必须使用Xforin

  

  

  

  

3、制作一个筒单的碰撞体,命名为proxy,碰撞体材质的Shader类型设置为NoDraw,这个碰撞体用于汽车碰撞,所以需要将这个碰撞体包围整个车体,不要将4个车轮全包进去

  

  

  

  

4、为了驾驶汽车,需要放置2个<^_/虚拟对象,一个<^_/表示上车的位置(在车门旁),将其命名为enter_pos,另一个義不鸯驶位置,我们蒋莫命名为driver_pos

  

  

  

  5、为了导出我们的汽车模型,还需要加入一个大Kd_/,将其对齐世界空间原点,并命名为ir^Car

  

  

  

  6、在Schematicview(图解视图)中将所有的节点连接起来

  

  

  

  7、Pick根节点(叫myCar的dummy),选择导出的模型为.cga,勾选ExportFileperNode,不勾选MergeAll

  

  Nodes

注意:

汽车必须导成模型

  

  

  

8、我的汽车模型是放在Objects\vehicles\myCar目录下,在下节我将讲解如何为这辆汽车添加代码,使得我们可以驾驶它。

为汽车编写XML

车编中汽车的脚本是以凰格式存储的,你可以直接创建皿芒件进行编写,也可以使用SB3中的车辆编辑器辅助我们编写以提髙效率。

带DefaultVehicle拖入场景,打开车辆编辑器主菜单_>View->OpenViewPane->VehicleEditor

单击—SaveAs

这吋你会发现在Scripts\Entities\Vehicles\Implementations\XML目录下己经生成丨一个myCar.xml

在SB3中找到DefaultVehicle实体RollupBar->0bjects->Entity->Vehicles

用记事本或其它文本编辑软件打开这个XML,引擎己经自动帮我们生成了一个基本的脚本,现在我们逐步添加代码来充善它。

_

XML中改改了代码后,在SB3中你可以右键单击汽车选择ReloadScripts

1、修改〈Physics〉

<;PhysicspushablezD

〈SimulationmaxTiirieSl:

ep="0.02"ininEnergy="0.002"maxLoggedCollisionszW〉

2、修改〈Part〉,更改cl  ass和模型路径〈Parts〉

<;Partname=,/body,/class="Animated"mass=//100,/disableCollision=〃0〃>

ry=〃〃/>

〈/Parts〉

3、添加车轮,在〈Part  name=〃body〃...>下添加4个车轮作为子节点,注意:

这4个车轮与3dsMax中的车轮是对应的,顺序不要搞错,4个车轮可以使用相同的参数,唯一不同的就是车轮1、3的aXle=〃0〃,车轮2、4的

axle=〃l〃

〈Parts〉

<;Partname=〃body〃...>

<;Parts>

<;Partname=,,wheell,/class=,/SubPartWheely/inass=〃80〃>

<;Partname=〃wheel2"class=//SubPartWheely/iriass=〃80〃>

ionMcid=〃0.3"stiffness=〃0"suspLeng1:

h=〃0.25"rimRadius^^O.3〃torqueScale^^l.l〃/>

<;PartnameywheelS"class=,/SubPartWheelr/:

mass=〃80〃>

y=〃0"damping="-0.7"driving=,/l,/lenMax=〃0.4"maxFriction=//l,/niinFriction=,/l,/slipFrictionMod^^O.3^stiffness=/,0,/suspLength=〃0.25"riinRadius=〃Cl.3〃torqueScale=//l.l〃/>

<;Partname=〃wheel4〃class=//SubPartWheely/iriass=〃80〃>

〈/Parts〉

〈/Parts〉

4、最后的Part是massBox,在〈Parts〉下添加massBox作为子节点,massBox是质量盒,它并不是在3ds  Max中创建的,而是fiXML中通过质量和尺寸生成的,massBox^Dposil:

ion(位置)和size(大小)以后我们会在SB3中进行调整。

改变mSS=〃1500〃值更大可以增加汽车的推力。

〈Parts〉

<;Partname=〃body〃...>

<;Partname^uiassBox"class=〃MassBox"iriass=〃1500"posil:

iorF〃0,0,0"disablePhysics=〃0"disableCol1ision=,/0,/isHidden="0">

〈/Parts〉

5、修改<丨丨107611^111:

?

£0:

3]115>,添加运动的代码,设置汽车的速度及加速度等,改变Power标签下的t0pSpeed=〃22〃值可以改变汽车的速度。

eerMax="40"steerRelaxation=〃l10"vMaxSteerMax=//22//pedalLimitMax=〃0〃rpmRelaxSpeed=//2//rpmlrvterpSpeeWrpirGearShiftSpeed=〃2〃>

<;Poweracceleration=//14,/decceleratiod"topSpeed=,/22//reverseSpeed="6〃/>

ionAirioun1:

=〃0.2〃reduc1:

ionRa1:

e=〃0.2〃/>

〈CorrectionlateralSpring=〃0〃angSpring=〃2〃/>

〈CompressionfrictionBoost^^l.5〃frictionBoostHandBrake=,/l.5〃/>

〈Inertiaradius=〃4〃/>

〈Ratiovalue="0.5"/>

〈Ratiovalue="0.8"/>

〈Ratiovalue="0.9"/>

〈/Ratios〉

〈WheeledLegacydamping="0.11"engineIdleRPM="1000〃engineMaxRFl="5000〃engineMnRPM="1000〃stabilizer=〃0.7"maxTiirieStep^^O.05"minEnergy^^O.09"suspDampingMin=r/0x/suspDampingMax=0r/suspDampingMaxSpeed=〃3〃/>

6、修改〈Seats〉,为了能够驾驶汽车,我们还需要设置enterHelper  (上车位置)及sitHelper(驾驶位置),这两个位置是在3dsMax中M过dummy对象创?

er_pos〃sitHelper=〃driver_pos〃useBoundsForEntering=1r/isDriver="l"AimParW"seatGroupIndex="l"agVehicleName^myCar"actionMap=〃vehicle_driver〃>

〈/Seats〉

在编写完以上代码后,保存一下,回到SB3中,这时我们可以在Entity的Vehicles中找到我们自己的汽车,将它拖到场景中。

打开汽车编辑器并载入这个汽车,选择massBos,修改大小和位置,使它围住汽车,调整好之后点击Save按钮保存这个XML

注意:

在汽车编辑器中修改了汽车的参数一定要记得保存,否则修改的数据都是无效的

现在进入游戏,驾驶你的汽车开始飞奔吧,我的汽车可能做小了,人坐到车子外面了

为了使我们汽车看上去更加真实,我们还可以为汽车添加车灯、尾气等效果。

7、添加车灯,这里添加两组车灯,刹车灯和倒车灯,在添加车灯之前,需要先添加一些Helpers(辅助体)用来确定车灯的位置

在〈Helpers〉中添加4个辅助体:

左刹车灯、右刹车灯、左倒车灯、右倒车灯,位置和方向仍然是在SB3中用汽车

编辑器调整

〈Helpername=〃brakeLightRight"position=//0.4,~2,0.6"direction=〃0,-1,0"part=〃body〃/>

ion=〃-0.4,-2,0.6"direction=〃0,-1,0〃part=〃body〃/>

〈Helpername=〃reverseLightRight"positiod4,-2,0.6"directiofO,-1,0"part="body〃/>

Helpei?

添加好之后,我们在〈Parts〉中添加两组车灯作为子节点〈Parts〉

〈Light1:

ype="Brake〃/>

〈Partname="brakeLightRight"class="Light"helper="brakeLightRight"〉〈Light1:

ype="Brake〃/>

〈Light1:

ype="Reverse〃/>

〈Light1:

ype="Reverse〃/>

〈/Parts〉

修改〈SeatActions〉,弓|擎会根据汽车当前的运动情况自动判断使用哪组车灯

〈/Lights〉

〈/Lights〉

〈/Seats〉

运行后效果如图:

8、添加尾气,尾气需要使用粒子效果

在〈Helpers〉中添加辅助体:

排气管,位置和方向仍然是在SB3中用汽车编辑器调整

〈Helpername=〃exhaus1:

_pos〃position=/y-0.5,-2,0.2"direction=〃0,-1,0〃par1:

=〃body〃/>—

Helper添加好之后,在〈Particles〉中添加粒子效果<;Particles〉

_pos〃/>

9、设置多攝像机,在游戏中我们可能需要从不同的角度来观察场景,按F1切换视角

添加,从侧面观察

〈Viewclass="ThirdPerson"rotationMin^^O,0,90^rotationHax^^O,0,90y/ro1:

ationInil:

="Cl,0,90">

Helper添加好之后,添加车轮View

e=〃0〃>

运行后效果如图:

〈/Seats〉

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机硬件及网络

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1