unity3D磁力球的效果实现
在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)