unity 抛物线运动计算|【高楼抛物】|自动计算加速度,空中移动时间

如图从长方体上方移动到圆形中心位置。给定一个初速度,和投掷点的forward值,长方型、原型的vec3坐标。

代码如何写?

 

        Vector3 sourcePos = new Vector3(transform.position.x, 0, transform.position.z);
        float length = (targePos - sourcePos).magnitude;

 

        // fireDir.Normalize();
        float speed = 12;//暂时给定12
        //水平/竖直方向速度分量
        float verticalSpeed = speed * fireDir.y;
        float horizontalSpeed = speed * Mathf.Sqrt(1 - fireDir.y * fireDir.y);
        float t = Mathf.Abs(length / horizontalSpeed);
        float g = (transform.position.y * 2 / t + 2 * verticalSpeed) / t;

        Vector3 forwardSpeed = fireDir;
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值