您的位置:首页 > 移动开发 > Unity3D

噩梦射手(SurvivalShooter)教程(五)

2017-03-03 12:41 162 查看


SurvivalShooter 是Unity的官方教程案例

相机跟随主角移动

调整摄像机位置:



新建一个C#script:CameraFollow



offset 是相机初始的时候与主角之间的距离

speed是相机移动的速度

target设置为public,待会直接拖动主角到挂到这里。

Lerp是 插值 的概念,这边简单来说就是使相机平滑的移动而不是瞬间移位。

再把这个脚本挂在相机上。



此时运行游戏,可以看见相机随角色移动了。

主角与场景物体

移动主角的时候你会发现主角会穿过场景物体,这个显然不符合常识,解决这个的方法有很多,下面是简单粗暴的方法:

将游戏场景中的物体加入BoxColider



点击Window->Navigation 自动寻路组件,Unity只对静止的物体计算,选中所有的场景物体,勾选static



设置接下来调参数,点击Bake,Unity会烘焙出一张地图,地图中蓝色部分为可走的地方。



制作怪物的预制体,新建一个文件夹Prefabs,先将原先游戏素材中的怪物放到场景中,接着将场景中的怪物直接拖入文件夹Prefabs中,预制品就做好了。如法炮制,将三种怪物都做出预制品



将三种怪物都加入NavMeshAgent组件,这些都是在预制品上制作:

新建脚本



给主角加上player的标签



动态出生怪物

设置几个怪物的出生点,创建空物体,命名,设置位置,以及朝向,决定了怪物出生的地方和朝向



新建脚本EnemyManager

InvokeRepeating表示: 每隔一段时间,调用一个方法

Instantiate表示: 实例化一个物体,传入实例化的地点和朝向



将这个脚本挂在一个空物体上



注意:这里的enemy都是预制品里的怪物了。

运行,可以看到怪物自动生成并会追随主角了。



此时怪物还是鬼畜的平移,下一节解决这个问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity