Unity中经过任意两点的抛物线运动

阅读: 评论:0

Unity中经过任意两点的抛物线运动

Unity中经过任意两点的抛物线运动

Unity中经过任意两点的抛物线运动

需求:一个小怪在空间中任意两点做抛物线运动(开口朝下),并且被英雄攻击后减速。


代码

using UnityEngine;public class TestJump : MonoBehaviour
{public Transform jumpFrom; // 起始点public Transform jumpTo; // 终点private Vector3 posStart, posEnd;public float moveSpeed = 2; // 实际速度public float moveSpeedFixed = 2; // 移动速度public float jumpTime = 1.5f; // 起始点-终点的总时间private float jumpTimer;private bool jumpInit = false;void Update(){if (!jumpInit){posStart = jumpFrom.position;posEnd = jumpTo.position;jumpInit = true;}Jump();}void Jump(){jumpTimer += Time.deltaTime * (moveSpeed / moveSpeedFixed);float f1 = jumpTimer / jumpTime;float f2 = jumpTimer - jumpTimer * f1; // 竖直加速运动Vector3 v1 = Vector3.Lerp(posStart, posEnd, f1); // 水平匀速运动transform.position = v1 + f2 * Vector3.up;if (jumpTimer >= jumpTime){jumpTimer = 0;jumpInit = false;}}
}

这个减速仍然沿着原路线运动只是速度减慢,如果要模拟真实的在抛物线运动中被英雄子弹击中后的减速运动,只需根据英雄子弹的方向,调整小怪的水平和竖直速度即可。

本文发布于:2024-02-05 01:41:33,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170721142061867.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:Unity导表工具
标签:抛物线   两点   Unity
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23