发射椰子
1.设定椰子的prefab,导入模型贴图,添加刚体组件,添加碰撞组件
2.设定发射体Launcher,建立空物体,挂载到main cam下,调整位置
3.设定发射脚本,coconutThrow ,添加音频剪辑变量,发射速度变量,刚体变量
if(Input.GetButtonDown("Fire1"))
{
GetComponent<AudioSource().PlayOneShot(throwSound);
Rigidbody newCoconut = Instantiate (coconutPrefab, transform.position,transform.rotation) as Rigidbody;
newCoconut.name = "coconut";
newCoconut.velocity = transform.forward * throwSpeed;
}
在开发中添加保障措施
1.确保组件的存在,如果不存在,就添加该组件
if(newCoconut.rigidbody == null)
{
newCoconut.AddComponent(Rigidbody);
}
- 避免碰撞的保障措施: 使用IgnoreCollidion()
Physics.IgnoreCollision(transform.root.collider, newCoconut.collider, true)
使用层碰撞矩阵来控制层之间的碰撞
使用RequireComponent命令确保物体拥有Audio Source组件
[RequireComponent (typerof(AudioSource))]