版权声明:本文为博主原创文章,未经博主允许不得转载。 /q/article/details/
5.0.0f4版本的官方自带资源包
2017斑斑的官方自带资源包
有的就不用下载了,如果没有的话下载下载 ,放在
这个是FPS第一人称控制器,模拟FPS游戏中人物移动的方式,是第一人称控制器。
鼠标锁定,视角跟随鼠标移动而移动。WSAD控制人物移动
其中如果要解除鼠标锁定的话可以到这个脚本中修改
(1)ForceMode.Force:默认方式,使用刚体的质量计算,以每帧间隔时间为单位计算动量。
(2)ForceMode.Acceleration:在此种作用方式下会忽略刚体的实际质量而采用默认值1.0f,时间间隔以系统帧频间隔计算(默认值为0.02s)
(3)ForceMode.Impulse:此种方式采用瞬间力作用方式,即把t的值默认为1,不再采用系统的帧频间隔
(4)ForceMode.VelocityChange:此种作用方式下将忽略刚体的实际质量,采用默认质量1.0,同时也忽略系统的实际帧频间隔,采用默认间隔1.0
接下来介绍这几种预制体
用于赛车游戏的跨平台输入控制。可选择两种输入形式:
一,Vertical轴输入值由一对按钮控制,Horizontal轴输入值由设备重力感应控制(目标平台为PC时使用鼠标位置模拟,下同);
二,两个方向的输入值均由触屏滑动(移动设备)或鼠标拖拽(PC)控制。
左边手指滑动可以控制行走
右边手指滑动可以控制视角转动
演示了多点触控情景下TouchPad脚本的使用方式,通过将不同区域的滑动或拖拽数据映射到不同的虚拟轴来避免冲突。
用于飞行器的跨平台输入控制。主要演示了ButtonHandler脚本的使用,自动将触控或鼠标指针的按下和抬起映射为特定虚拟轴的状态变化。同时将重力感应数据映射为横向和纵向输入值。
主要演示Joystick脚本的使用,通过滑动或拖拽控制输入,与TouchPad的区别在于
MobileJoystick的使用是根据手指拖动的距离来移动
而TouchPad是与上一帧位置间的距离作为输入值
无UI元素,可在代码中通过CrossPlatformInputManager获取其映射轴的值,输入来源为重力感应数据(移动平台)或鼠标位置(PC)。
首先如果不是在安卓平台的话,直接把预制体拖入层级视图Hierarchy是不会显示的
然后把预制体拖入到层级视图里面就显示了
最后附上一段Joystick脚本在不同方向显示不同sprite的代码
也就是人们常说的八方向控制摇杆移动的方法
Joystick脚本,这个脚本我已经修改过了,加了一个8个方向显示不同的Sprite的效果
还有就是如果想要joystick的按钮有动态的显示,比如按下之后高亮,或者开始隐藏,点击之后出现,或者拖动按钮出位置之后隐藏这些功能的话可以添加 UGUI的Button组件
设置这些颜色的alpha的值就可以了
有两个预制体,两个预制体不同的地方在于一个是AI有NavMeshAgent控制器
之前作者在前文中向大家介绍了角色控制器组件。默认系统提供了JavaScript脚本的支持,可是我们还是喜欢用C#来编写脚本,本篇文章作者将把角色控制器的所有脚本全部改成C#语言。方便自己也方便大家学习。首先,我们将角色控制器包引入工程中。如下图所示,默认提供的脚本除了MouseLook以外其它的都是JS脚本,本篇文章作者将把它们全部修改成C#。刚好也是答应Unity圣典的站长录制游戏开发视频,视频中我说下一节我将教大家怎么把角色控制器组件的脚本全部改成C#。
最后我们用修改的脚本来控制第三人称视角主角的移动,直接上图大家仔细看看监测面板视图中的脚本绑定,这里问题不大,图片如果看不清点击即可查看大图。
脚本终于全部翻译完毕,其实在开发中大家可以去丰富这些脚本,灵活的运用它们。感谢Unity圣典的站长专门花钱买模型让我来写教程与录制视频教程。
下回写点游戏AI的东西,让游戏中的怪物在更加聪明点吧。
这是一套第三人称射击游戏开发的入门基础课程。
本课程从零开始,带领学习者逐步完成一款小型的第三人称射击游戏。向3D射击类游戏的初学者展示完整项目的制作流程和设计思路,对该类游戏的常用知识点、必备功能模块、代码结构进行详细讲解,让学习者能够快速搭建一款3D射击游戏的雏形,为后续中、大型游戏的开发打下良好基础。
通过本套课程,你可以学习到: