unity3D磁力球的效果实现

来源:互联网 发布:淘宝需要食品许可证吗 编辑:程序博客网 时间:2024/04/29 04:25

在unity中 实现磁铁的效果,吸一定范围内的物体

被吸的物体要添加刚体



代码:

using UnityEngine;
using System.Collections;
/*
 * 磁铁的效果
 */
public class Magnetic : MonoBehaviour {
    public LayerMask m_MagneticLayers;//作用的层
    public Vector3 m_Position;//磁铁在物体的相对位置
    public float m_Radius; //磁铁作用的范围
    public float m_Force;//定义物体的力
    void FixedUpdate()
    {
        Collider[] colliders;
        Rigidbody rigidbody;
        colliders = Physics.OverlapSphere(transform.position + m_Position, m_Radius, m_MagneticLayers);
        foreach (Collider collider in colliders)
        {
            rigidbody = (Rigidbody)collider.gameObject.GetComponent(typeof(Rigidbody));
            if (rigidbody == null)
            {
                continue;
            }
            rigidbody.AddExplosionForce(m_Force * -1, transform.position + m_Position, m_Radius);
        }
    }
   void OnDrawGizmosSelected()
    {
        Gizmos.color = Color.red;
        Gizmos.DrawWireSphere(transform.position + m_Position, m_Radius);//绘制一个球(有利于我们的观察)
    }
}

我室友的是一个技术大神
这里分享他的网站 http://www.feehi.com 
这是他的博客网站 http://blog.feehi.com/
有需求的大家可以进去看看
需要做微信开发,网站管理,网页开发的都可以来联系
蛮牛博客:http://www.unitymanual.com/home.php?mod=space&uid=8069&do=blog&view=me
也可以联系我QQ:1760004035
xiaunity@163.com

0 0