简单模拟抛物线

版权声明:本文为博主原创文章,转载请表明来源和网址。 https://blog.csdn.net/thinbug/article/details/80619773

没有阻力计算,质量和重力简单模拟

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;

    }
}

猜你喜欢

转载自blog.csdn.net/thinbug/article/details/80619773