摇头侠之战
1.导入场景和人物
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210416084650683.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzU0ODkwMTcw,size_16,color_FFFFFF,t_70)
2.认识预制体
在Rigidbody组件中,选择勾选“Is Kinematic(动力)”复选框,并取消选择“Use Gravity(使用重力)” 复选框
3.创建预设体(Prefab)
4.添加障碍物
5.创建怪物出现地方
6.添加刚体组件
7.添加脚本
followTarget是指将要让Camera跟随哪个GameObject,moveSpeed是相机的移动速度。创建这两个变量时用到了public(公开的)来修饰,Unity可以让public修饰的变量在检视(Inspector)视图中修改其属性。所以,这里稍后可以将SpaceMarine拖到followTarget上,并指定一个moveSpeed。检查有没有给followTarget指定一个目标GameObject。如果没有指定,则什么都不做,相机不会移动。
8.相机移动 创建相机移动脚本
9.创建子弹 让枪开火
public修饰的变量可以显示在检视(Inspector)视图中,并且可以修改或者给其赋值。“bulletPrefab”将会接受刚刚创建的Projectile Prefab(预置物体);“launchPosition”将会接受一个指定的子弹发射的位置。“Instantiate()”是Unity的内置方法,用来实例化一个Prefab。该方法的返回值是Object类型,所以使用“as”关键字将其强制转换为GameObject。 将实例化之后的子弹放置到指定的子弹发射位置。. 由于子弹有一个刚体组件,这里可以给刚体组件一个速度,使子弹以恒定的速率移动,移动的方向由子弹发射的位置决定。稍后会将子弹发射的位置添加在SpaceMarine上,并确保子弹的发射方向是SpaceMarine面对的方向。
10.SpaceMarine创建一个射击目标
GameObject是一个盒子形状的,就用Box Collider(盒子碰撞体);如果是球形的就用Sphere Collider(球碰撞体);或者用这两种Collider(碰撞体)包裹住需要添加碰撞效果的GameObject。如果需要更加精细的碰撞效果,可以使用Mesh Collider(网格碰撞体),但是Mesh Collider(网格碰撞体)比较耗费计算机资源。
11.在Mesh Collider的Mesh属性插槽添加网格
现在碰撞体的大小和地面的大小几乎匹配了