本系列文章是根据官方视频教程而写下的学习笔记,原官方视频教程网址:https://unity3d.com/cn/learn/tutorials/s/tanks-tutorial
系列其他笔记传送门
Unity官方教程《Tanks》学习笔记(一)
Unity官方教程《Tanks》学习笔记(二)
Unity官方教程《Tanks》学习笔记(三)
Unity官方教程《Tanks》学习笔记(五)
创建子弹
本小节的目标是创建子弹,完善子弹的爆炸、音效等效果,并且利用脚本对子弹进行控制。
首先,在models文件夹下,找到Shell模型,把它拖拽到Hierarchy根目录下,我们对它进行编辑:
①创建Capsule Collider,勾选“Is Trigger”,把Direction选择为Z-Axis;更改Center的坐标为(0,0,0.2);更改Radius为0.15以及Height为0.55。
Capsule Collider实际上是一个胶囊碰撞器,由一个圆柱体连接两个半球体组成,在上面修改了该碰撞器的半径以及高度后,我们可以观察到子弹的碰撞边界是这样的:
②创建Rigidbody,为子弹添加刚体,因为子弹要与坦克产生碰撞,也就需要刚体。如果没有刚体,那么子弹就不会有物理效果。
③创建Light组件。
④在Prefabs文件夹下,找到ShellExplosion预制件,拖拽它到Shell中,成为Shell的子对象。选择ShellExplosion,添加Audio Source,音效选择为ShellExplosion,取消勾选Play On Awake。
⑤在Scripts/Shell文件夹内,找到ShellExplosion脚本,把它拖拽到Shell下。该脚本控制了Shell的行为,双击打开该脚本,开始编辑:
using UnityEngine;
public class ShellExplosion : MonoBehaviour
{
public LayerMask m_TankMask; //Player的层级
public ParticleSystem m_ExplosionParticles; //爆炸的粒子系统
public AudioSource m_ExplosionAudio; //Audio
public float m_MaxDamage = 100f; //最大伤害
public float m_ExplosionForce = 1000f;