定点抛物线的实现
让我们回忆一下初中学得最基本的物理知识
1: S=Vt 距离等于速度x时间(用于抛物线中水平运动)
2: V=at 速度等于加速度x时间(用于抛物线垂直运动)

好啦,就这个2个公式就能搞定啦!

水平运动上的代码:

    transform.Translate(transform.forward* horizontalSpeed * Time.fixedDeltaTime, Space.World);

垂直上的运动代码:

 transform.Translate(Vector3.up * verticalSpeed * Time.fixedDeltaTime, Space.World);

horizontalSpeed水平上的速度是自己定义的,那么 verticalSpeed 按照物理上的法则,应该是上升速度减小,下降速度增大,由于是定点的抛物线(意思就是已经选好了物体抛物线后的落点),那么根据公式来计算:
t=S/V;也就是物体与落点间的距离除以水平速度,得到物体抛物线经历的时间,由于是匀加速运动,那么上升和下降的时间相同,表示上升的时间为t2= t/2;
那么根据公式:
v=at;时间知道了,加速度是重力加速度(可以自己调整)也就可以求得垂直上的初速度了.

public class Parabolic : MonoBehaviour {public float horizontalSpeed = 30f;//水平上的速度,自己定义public Transform target; //目标点public float verticalSpeed; //垂直上的初速度public float g = 9.81; //重力加速度public Vector3 need_direction; //当前物体指向目标物体的方向void Start () {dis = Vector3.Distance(transform.position,target.position);//计算2个物体间距离need_direction = (target.position - transform.position).normalized;//获得当前物体指向目标物体的方向float need_time = dis / speed/2f;//公式verticalSpeed = g * need_time;//计算出垂直上的初速度}void FixedUpdate () {verticalSpeed = verticalSpeed - g * Time.fixedDeltaTime;//垂直上的初速度随时间的改变transform.Translate(need_direction* speed * Time.fixedDeltaTime, Space.World);//水平上的运动transform.Translate(Vector3.up * verticalSpeed * Time.fixedDeltaTime, Space.World);//垂直上的运动}}

脚本挂在想实现抛物线的物体上.
简单实用.

欢迎更正.

Unity中物体抛物线的实现相关推荐

  1. Unity中物体抛物线(愤怒的小鸟与弓箭发射)

    无论是愤怒的小鸟,还是弓箭发射功能,亦或者模拟炮弹受重力影响等抛物线轨迹,都可以使用本文的方法,和往常一样,先说原理.就是抛物运动,在垂直方向上做加速度运动,在水平方向上,做匀速运动. 那么如何使用t ...

  2. Unity中物体移动方法详解

    一:Transform --transform.Translate:不会考虑到碰撞 transform.Translate(Vector3 targetPos,指定参照坐标系(默认为Space.Sel ...

  3. Unity中绘制抛物线

    效果如下: 之所以加个2,是因为我以前写过一个抛物线的文章,之前的文章请看这: Unity绘制抛物线代码 上一篇文章只是简单地绘制了一个抛物线,但是无法随意移动或者旋转,最近因为做个项目可能会用到这个 ...

  4. 如何在Unity中画抛物线

    最近在开发HTC VIVE VR新品的时候想模仿The Lab中的移动模式,模仿这个功能首先就是要实现抛物线的效果,在网上找了一下发现有很多大家的解决方案,还有一堆关于抛物线的算法,发现不太好用,所以 ...

  5. Unity中物体碰撞后去掉相互之间的反弹力

    最近自制了一个的角色控制器(没有重力的角色)时发现,角色碰撞到墙壁之后会有一个小小的反弹力导致角色有一个微弱的反弹位移,这样给人一种不好的感觉. 研究了一下,除了限制坐标轴( Rigidbody--- ...

  6. unity中物体受伤时切换受伤图片

    using UnityEngine; public class Enemy : MonoBehaviour {private SpriteRenderer render;public Sprite[] ...

  7. Unity中抛物线的实现

    什么是抛物线?   以数学知识来定义的话,抛物线是在平面内到定点与定直线的距离相等的点的轨迹叫做抛物线.定点就是抛物线的焦点,定直线就是抛物线的准线.从物理上来说的话,抛物线就是将一个物体抛出去以后, ...

  8. Unity中的物体渲染顺序

    big seven 文章目录 前言 一.摄像机渲染 二.划分渲染队列 三.不透明物体的渲染 四.透明物体的渲染 五.UGUI元素的渲染 总结 前言 Unity中物体的渲染顺序 提示:以下是本篇文章正文 ...

  9. Unity中旋转方式的探究与对万向节死锁(Gimbal Lock)的理解

    Gimbal Lock Gimbal Lock的原理网上已经有很多资料,详细可以看介绍视频.视频讲到Gimbal Lock的时候提到x,y,z三个坐标轴是有从属关系(hierarchical syst ...

最新文章

  1. 李飞飞团队最新研究 :「四步」AI方案助老人抵抗新冠肺炎,联合学习降低个人隐私风险
  2. 软件常见故障的现象、故障排除的方法
  3. java中接口适配器实现,12.1.8 Java中的应用-AWT事件适配器(接口的适配器模式)...
  4. python操作mysql数据库 内存占用100_python操作MySQL数据库
  5. excel处置4000行数据卡_懂Excel就能轻松入门Python数据分析包pandas(三):制作成绩条...
  6. C# 数组练习题及答案解析
  7. vue+node全栈移动商城【4】-创建get、send接口,接收数据更新视图
  8. 【svn】Centos搭建svn服务器环境
  9. vue学习笔记-16-vue的数组方法
  10. android下拉菜单刷新,Android开发之头部悬浮的上拉加载,下拉刷新的列表
  11. java微博情感倾向性分析_基于微博的情感倾向性分析方法研究
  12. Meltdown漏洞分析
  13. vmbox主机和虚拟机无法共通网络服务 主机无法使用虚拟机的网络服务 虚拟机无法使用主机的网络服务
  14. git 调换提交顺序
  15. 10.5日饿了么复活了,大家凑合用用吧~(偶尔更新~)
  16. php判断一个数是不是素数,php用函数判断一个数是否素数
  17. MYSQL No space left on device
  18. python五子棋ai棋力最高_Python实现AI五子棋
  19. python24小时12小时转换_python将时间从12小时转换为24小时格式
  20. 基于3D视觉的三维人体重建方法漫谈

热门文章

  1. Android传感器(四):距离传感器
  2. nginx1.14的安装
  3. Jenkins - cannot find symbol
  4. android如何怎么禁止多点触控
  5. 计算机视觉——Bag Of features图像检索
  6. 11-散列1 电话聊天狂人分数 25作者 DS课程组单位 浙江大学
  7. 计算机网络1-6章考研题
  8. 如何在Python中用集合实现随机的1~100的20个数字
  9. ios 渐变透明背景_PS教程:通道抠图技巧换背景案例
  10. tds与oracle,oracle和sqlserver找不到字段的错误