Unity 角色释放技能后使周围物体具有爆炸效果

来源:互联网 发布:淘宝卖书的利润 编辑:程序博客网 时间:2024/05/16 17:31

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


0 0