using UnityEngine;
using System.Collections;
public class TestSpeed : MonoBehaviour
{
public float time = 3; // 代表从A点出发到B经过的时长
public Transform pointA; // 点A
public Transform pointB; // 点B
public float g = -10; // 重力加速度
private Vector3 speed; // 初速度向量
private Vector3 Gravity; // 重力向量
private float dTime = 0; // 时间线 (一直在增长)
void Start()
{
// 将物体置于A点
transform.position = pointA.position;
// 通过一个式子计算初速度
speed = new Vector3(
(pointB.position.x - pointA.position.x) / time,
(pointB.position.y - pointA.position.y) / time - 0.5f * g * time,
(pointB.position.z - pointA.position.z) / time);
// 重力初始速度为0
Gravity = Vector3.zero;
}
void Update()
{
// 重力模拟
Gravity.y = g * (dTime += Time.deltaTime); //v=gt
// 模拟位移
transform.Translate(speed * Time.deltaTime);
transform.Translate(Gravity * Time.deltaTime);
}
}