Unity之Gravity重力及Force力相关

发表于2018-02-28
评论0 2.4k浏览
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是力模式,
ForceAdd a continuous force to the rigidbody, using its mass.
添加一个rigidbody持续力,使用它的质量。
AccelerationAdd a continuous acceleration to the rigidbody, ignoring its mass.
添加一个持续的加速度到刚体,忽视他的质量。
ImpulseAdd an instant force impulse to the rigidbody, using its mass.
添加一个即时rigidbody力脉冲,利用其质量。
VelocityChangeAdd 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

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

0个评论