Unity3d 魔法球和弓箭类型 飞行移动和碰撞


通过在魔法球上添加刚体,和碰撞器,在魔法球上添加一个脚本接受碰撞器事件
移动:给刚体施加力
碰撞:,碰撞器事件

	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);
		}

	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值