通过在魔法球上添加刚体,和碰撞器,在魔法球上添加一个脚本接受碰撞器事件
移动:给刚体施加力
碰撞:,碰撞器事件
if (Input.GetKeyDown(KeyCode.Mouse0))
{
if (!_GUI.overButton())
{
if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit, 100f))
{
GameObject projectile = Instantiate(projectiles[currentProjectile], spawnPosition.position, Quaternion.identity) as GameObject;
projectile.transform.LookAt(hit.point);
projectile.GetComponent<Rigidbody>().AddForce(projectile.transform.forward* 1000);
projectile.GetComponent<ProjectileScript>().impactNormal = hit.normal;
}
}
}
void OnCollisionEnter(Collision hit)
{
//transform.DetachChildren();
impactParticle = Instantiate(impactParticle, transform.position, Quaternion.FromToRotation(Vector3.up, impactNormal)) as GameObject;
//Debug.DrawRay(hit.contacts[0].point, hit.contacts[0].normal * 1, Color.yellow);
if (hit.gameObject.tag == "Destructible") // Projectile will destroy objects tagged as Destructible
{
Destroy(hit.gameObject);
}
}