ARPG的3D游戏中,为了视觉效果可以在使用大招后,使周围物体爆炸开。
使用Physics.OverlapSphere (position : Vector3, radius : float, layerMask : int = kAllLayers) 做爆炸范围内物体检测,该方法是返回已position 位置为圆心,radius 为半径内的Collider数组;
然后给Collider数组内物体添加一个爆炸力;
using UnityEngine;
using System.Collections;
public class baozha : MonoBehaviour
{
//爆炸效果
public float radius = 100.0F;
public float power = 100.0F;
Vector3 Pos;
void Start()
{
Pos = transform.position;
}
void OnGUI()
{
if (GUILayout.Button("释放技能"))
{
Collider[] colliders = Physics.OverlapSphere(Pos, radius);
foreach (Collider hit in colliders)
{
if (hit.rigidbody)
hit.rigidbody.AddExplosionForce(power, Pos, radius, 3.0F);
}
}
}
}