Unity3D--物体间引力模拟效果
2013-03-20 22:34
489 查看
在真实的宇宙中,小星球总是被大星球吸引过去,其实就是一种力的作用,在Unity3D中如何来模拟这种效果呢?
1、在Unity场景中建两个球体,当然,球的大小无所谓,为了区别,我们将之称为大球,小球。
2、给小球加上刚体组件,在属性面板中去掉重力选项。新建一“min”层,将小球添加到此层中。
3、新建c#代码文件,将到下代码拷贝其中,并将其附着到大球上,属性面板中即显示此代码组件,设置其引力层为“min”,设置其半径及引力大小。
4、进行游戏模式,移动大球至小球附近,小球即被慢慢吸走。引力效果实现。
1、在Unity场景中建两个球体,当然,球的大小无所谓,为了区别,我们将之称为大球,小球。
2、给小球加上刚体组件,在属性面板中去掉重力选项。新建一“min”层,将小球添加到此层中。
3、新建c#代码文件,将到下代码拷贝其中,并将其附着到大球上,属性面板中即显示此代码组件,设置其引力层为“min”,设置其半径及引力大小。
4、进行游戏模式,移动大球至小球附近,小球即被慢慢吸走。引力效果实现。
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); } }
相关文章推荐
- Unity3d BTDF实时折射模拟有粗糙度的半透明物体
- unity3d,利用plane面片显示摄像机看到的物体,类似于投影仪的效果。
- Unity3d BTDF实时折射模拟有粗糙度的半透明物体
- [Unity3D]Unity3D游戏开发之在3D场景中选择物体并显示轮廓效果
- [Unity3D]如何使用脚本模拟出跳跃的效果
- unity3d Human skin real time rendering with blood and water drop effect真实模拟人皮实时渲染之血液和水珠掉落效果
- unity3d实现相机对场景物体的旋转、缩放、平移查看功能、近似于scene下查看场景的效果
- [置顶] Unity3d 实现物体一闪一闪的效果
- unity3d Human skin real time rendering with blood and water drop effect真实模拟人皮实时渲染之血液和水珠掉落效果
- 【Fracturing & Destruction】Unity3D的物体爆裂、炸裂、碎裂效果
- Unity3D --实现一个物体若隐若现的效果
- Unity3d 场景中物体渐隐效果实现
- 【Fracturing & Destruction】Unity3D的物体爆裂、炸裂、碎裂效果
- [Unity3D]Unity3D游戏开发之在3D场景中选择物体并显示轮廓效果强化版
- jQuery jGravity插件模拟重力物体下落后散开效果
- Quaternion将对象的旋转从from平滑插值到to。一般用于模拟相机的观察方向从物体a过渡到物体b的效果
- Unity3D 实现类似“纪念碑谷”扭曲物体的效果
- [Unity3D]Unity3D游戏开发之在3D场景中选择物体并显示轮廓效果
- Unity3D 物体随机跳动效果
- 【Unity3D】如何用实现MC中整齐创建物体的效果?