没有阻力计算,质量和重力简单模拟
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CTestThrow : MonoBehaviour {
// Use this for initialization
public Transform obj;
public Transform objforward;
public float force = 10f;
public float mass = 1f;
Vector3 beginPos;
Vector3 vSpeed;
float bTime = -100f;
public bool buttonStart = false;
bool inited;
void Start () {
beginPos = obj.transform.position;
inited = true;
}
// Update is called once per frame
private void FixedUpdate()
{
if (!inited)
return;
if (buttonStart)
{
vSpeed = Vector3.zero;
obj.transform.position = beginPos;
buttonStart = false;
bTime = Time.realtimeSinceStartup;
vSpeed = objforward.forward * force * Time.fixedDeltaTime / mass;
}
if (Time.realtimeSinceStartup - bTime > 10f)
{
obj.transform.position = beginPos;
return;
}
transform.position = transform.position + vSpeed;
vSpeed += Physics.gravity * Time.fixedDeltaTime * Time.fixedDeltaTime;
}
}