using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
public class ZidanMove : MonoBehaviour
{
public float time = 3;//代表从A点出发到B经过的时长
Vector3 pointA;
Vector3 pointB;//点Bi Use this for initialization
public float g = -10;//重力加速度
private Vector3 speed;//初速度向量
private Vector3 Gravity;//重力向量
public SkillData mydata;
public void Init(SkillData data)
{
mydata = data;
pointB = new Vector3(mydata.x, mydata.y, mydata.z);
}
void Start()
{
pointA = transform.position;
transform.position = pointA;//将物体置于A点I通过一个式子计算初速度
speed = new Vector3((pointB.x - pointA.x) / time, (pointB.y - pointA.y) / time - 0.5f * g * time, (pointB.z - pointA.z) / time);
Gravity = Vector3.zero; // 重力初始速度为0
Destroy(transform.gameObject, time);
}
private float dTime = 0;
void FixedUpdate()
{
Gravity.y = g * (dTime += Time.fixedDeltaTime); // v = at
// 模拟位移
transform.Translate(speed * Time.fixedDeltaTime);
transform.Translate(Gravity * Time.fixedDeltaTime);
}
}
定点的抛物线移动
于 2023-03-25 08:09:11 首次发布