Unity之Gravity重力及Force力相关
发表于2018-02-28
1、Physics.gravity = new Vector3(0, -10F, 0);给具有刚性的物体添加方向重力
2、抛体运动:中间以弧线的形式的运动。
using UnityEngine;
using System.Collections;
public class Throw : MonoBehaviour
{
public GameObject t1; //开始位置
public GameObject t2; //结束位置
void Update()
{
//两者中心点
Vector3 center = (t1.transform.position + t2.transform.position) * 0.5f;
center -= new Vector3(0, 1, 0);//从下抛还是从上抛
Vector3 start = t1.transform.position - center;
Vector3 end = t2.transform.position - center;
//弧形插值
transform.position = Vector3.Slerp(start, end, Time.time);
transform.position += center;
}
}
3、
rigidbody.AddForce(vector3 force,ForceMode);
其中ForceMode是力模式,
| Force | Add a continuous force to the rigidbody, using its mass. 添加一个rigidbody持续力,使用它的质量。 |
| Acceleration | Add a continuous acceleration to the rigidbody, ignoring its mass. 添加一个持续的加速度到刚体,忽视他的质量。 |
| Impulse | Add an instant force impulse to the rigidbody, using its mass. 添加一个即时rigidbody力脉冲,利用其质量。 |
| VelocityChange | Add an instant velocity change to the rigidbody, ignoring its mass. 添加一个rigidbody瞬时速度变化,忽略了它的质量。 |
在AddForce方法中的物体需要添加Rigidbody组件,并且Is Kinematic不能勾选。如果isKinematic启用,力、碰撞或关节将不会影响这个刚体。刚体将通过动画或脚本完全控制改变transform.postion。动力学刚体也会通过碰撞或关节影响其他刚体的运动。
来自:http://blog.csdn.net/qq_34078945/article/details/68929821
