欢迎光临
我们一直在努力

光核引擎游戏开发从入门到精通[基础原理版][3]

//用户操控设置

UserCrtlModID=2

UserCrtlModMode=1

UserCrtlModViewMode=0

UserCrtlModMoveSensi=0.2

UserCrtlModFBMoveSpeed=0.5

UserCrtlModLRMoveSpeed=0.3

UserCrtlModFastMoveSpeed=1.0

UserCrtlModRotSpeed=4.0

UserCrtlModJumpStrgn=0.6

①用户追踪设置

上一节里,我们已经设置了玩家包络模型的位置,那么游戏后续对玩家的移动操作,都将通过控制包络进行,因此用户的视点必须一直追踪着这个玩家包络模型。UserViewTraceMode设置是否开启用户视点追踪,这里开启;UserViewTraceModID设置需要追踪的PT物体序号,玩家包络模型的PT物体序号为2;UserViewTraceMaxYOffset、UserViewTraceMinYOffset、UserViewTraceMaxYAngle、UserViewTraceMinYAngle用于设置追踪物体时,用户视点的旋转限制范围(例如不能视点不能低于玩家模型脚面 详细设置方法见应用篇)。

②用户追踪视点设置

设置了追踪物体后,我们必须指定视点的位置,那么后续都从这个视点追踪物体。UserViewTraceFarPosX、UserViewTraceFarPosY和UserViewTraceFarPosZ设置用户的远视点,UserViewTracePosX、UserViewTracePosY、UserViewTracePosZ设置用户近视点,如图2.6所示。图中方块为一个视点,将从用户视点看向远处视点。不断调整这里的跟踪视点,可以设置不同的玩家游戏视角。

图2.6 用户视点追踪位置示意图

③用户操控设置

对玩家的移动等控制,将在这一步进行设置。UserCrtlModID设置需要控制的PT物体,这里同样是玩家的包络模型,即2号PT物体。UserCrtlModMode设置操控方式,在光核引擎中,预置了两种控制方法,这里选择1号操控方式,即wsad前后左右平移,空格跳跃,按住左shift+wasd快速移动,鼠标控制旋转;UserCrtlModViewMode设置鼠标上下移动时,玩家近视点的移动规则;UserCrtlModFBMoveSpeed设置玩家前进后退最大移动速度;UserCrtlModLRMoveSpeed设置玩家左右平移最大移动速度;UserCrtlModFastMoveSpeed设置玩家跑步最快移动速度;UserCrtlModRotSpeed设置玩家鼠标转向的灵敏度;UserCrtlModJumpStrgn设置玩家的跳跃力量;UserCrtlModMoveSensi设置玩家操控时,从静止到达到最大速度的灵敏度(操控设置的详细方法见应用篇)。

2.4 其他场景设置项

剩余的场景信息项包络重力设置、光标设置、退出结束设置、视线范围等。在[SceneMod1]中继续添加如下配置信息:

...

UserEscapeToExit=1

UserHideCursor=1

RenderNearPlane=0.1

ViewDis=2000.0

ColldCheckDis=2000.0

TrafficElementInfo=model\\LearnLC3D\\Chapter1\\td.ini

TrafficRoadInfo=model\\LearnLC3D\\Chapter1\\ld.ini

SceneDrawMode=0

LightCompDis= 10000

SceneGravityX=0.0

SceneGravityY=-135.0

SceneGravityZ=0.0

UserEscapeToExit设置是否按ESC退出引擎,这里启用。对于正式的游戏,一般需要开发者编写加载程序与游戏初始化界面,在退出时也可以执行更复杂的退出步骤,此时我们仅仅简单的允许玩家按下esc键退出引擎结束游戏(游戏初始化界面开发方法见应用篇)。UserHideCursor设置引擎开启后自动隐藏光标,对于一般游戏是需要的。RenderNearPlane设置渲染近平面距离(详细见应用篇)。ViewDis设置玩家的视线范围,视线范围内的物体将被绘制(详细见应用篇)。ColldCheckDis设置碰撞检测距离,在此碰撞检测距离内的物理物体将互相执行碰撞检测(详细见应用篇)。TrafficElementInfo与TrafficRoadInfo用于设置自动生成模型的方法,此功能本游戏不需要。SceneDrawMode设置场景的绘制模式,0为真实绘制模式(详细见应用篇)。LightCompDis用于设置点光和聚光的光照技术范围(详细见应用篇)。SceneGravityX、SceneGravityY和SceneGravityZ用于设置场景的重力矢量,此矢量模越大重力越强。

到此,玩家将可以控制这个玩家包络模型在场景中通过wasd进行漫游。我们可以双击本书配送的学习资料包中的游戏启动器,运行配置好的场景。游戏启动器运行起来将出现如下图2.7所示的两个窗口。“My First Game”窗口将显示游戏画面,系统信息窗口将显示游戏的信息,可以看到启动器没有检测到游戏在运行。点击主窗口的开始游戏,将自动按照StartUpInfo.ini文件中的SceneNConfig路径读取场景配置文件,并加载场景,同时加载过程的进度将在系统信息中显示。注意:此游戏启动测试器为简单测试器,当遇到加载出错情况时,请关闭此启动器,排查错误后,再启动此测试器。

图2.7 游戏启动测试器窗口

点击开始游戏后,场景被加载,加载完毕后,可以看到玩家包络受重力作用下落到地面上,通过wasd和鼠标可以操作玩家,效果如图2.8所示。

图2.8 操作玩家包络的游戏测试

本节演示视频:

光核引擎游戏开发从入门到精通[基础原理版][3]演示视频

本节学习资料:

赞(0)
未经允许不得转载:171主机测评 » 光核引擎游戏开发从入门到精通[基础原理版][3]
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址