求一个单机手游,打僵尸的,3d第一人称手游,用unity3d做的,

  • 本课程是由千锋VR学院名师为新手小白倾力打造的unity3d第一人称视角游戏实战项目教程,旨在为小白顺利打开VR开发世界的大门~

}

版权声明:本文为博主原创文章,未经博主允许不得转载。 /qq_/article/details/

因为是第一人称射击游戏,所以主角在视野中是不可见的,但我们依然需要为主角创建碰撞体并控制其移动。

2. 在Inspector窗口选择【Add Component】→【Physics】→【Character Controller】为主角添加一个角色控制器组件。通过使用角色控制器组件提供的功能,我们可以实现在控制主角移动的同时与场景的碰撞产生交互,比如在行走时不会穿到墙里面去。在Character Controller组件中调整碰撞体的位置和大小。

/// 控制主角行动,如果生命为0则什么也不做 /// 在Unity编辑器中为主角显示一个图标 /// 控制主角的重力运动和前后左右移动

Unity会自行管理脚本的生命周期,因而不允许脚本中直接调用构造函数,所有的初始化操作在Start方法中进行,在程序运行时每一帧都会调用Update方法。

因为在Update方法中每帧都去调用游戏体的组件会造成一定的效率问题,所以在初始化时就调用一次所需的组件并将其保存起来。

Input类是Unity对各种输入的包装类,包括了几乎所有的键盘、鼠标和触控操作函数。

Time类是Unity对游戏时间的包装类,deltaTime表示每帧经过的时间。

transform.TransformDirection方法将以当前游戏体为参考的坐标系内的向量转换为游戏世界坐标系内的向量。

Component】→【MyGame】→【Player】将Player.cs脚本指定给主角的游戏体。在Inspector窗口找到Script组件,设置Life属性为5(脚本中所有的公共域的初始值都可以在Unity编辑器中对应游戏体的Script组件中设置)。此时运行游戏,就可以按键盘W、S、A、D键来控制主角的前后左右移动了。但由于摄像机是固定的,所以难以察觉到主角的移动。

6. 修改Player.cs脚本,使摄像机能伴随主角的移动而移动。

首先添加用于控制摄像机的属性:

修改Start方法,初始化相机的位置和旋转角度,并锁定鼠标:

// 设置摄像机初始位置 // 设置摄像机的初始旋转方向

在Control方法中移动和旋转摄像机使其与主角的位置和旋转角度保持一致:

// 获取鼠标移动距离 // 使主角的面向方向与摄像机一致 // 控制主角运动,代码略…… // 使摄像机的位置与主角一致

通过控制鼠标来旋转摄像机的方向,使主角跟随摄像机的方向绕Y轴旋转。在移动主角的时候,又使摄像机跟随主角运动。

7. 接下来,我们把武器绑定到摄像机上,使其跟随主角移动。

选中Main Camera,在Inspector窗口中将摄像机的位置和旋转角度都设为0,将【Clipping Planes】→【Near】值设为0.1,使其可以看到更近处的物体(Clipping Plane是摄像机的剪切面,相当于视野的近端和远端)。

在Project窗口Assets/Prefabs文件夹下找到M16.Prefeb,这是一个简单的枪支模型。将它拖动到Hierarchy窗口中的Main Camera上使其成为摄像机的子物体。选择M16的子物体weapon,调整它的位置和角度,在Camera Preview窗口中预览效果直到满意为止。

8. 现在运行游戏,效果如下图:

关于主角的配置到此就基本完成了,现在我们已经可以端着枪在地图中自由行走了。下一篇将会添加敌人,敌人会自动寻路并试图攻击主角哦,敬请期待。

}

我要回帖

更多关于 求生之路2 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信