1.截图

 

2.代码介绍

使用Unity自带Rigidbody刚体插件。

代码比较简单:使用Unity的 Rigidbody.velocity 进行位移(不使用AddForce)。

private Vector2 GetForce(Vector3 fromPos, Vector3 toPos){return (new Vector2 (toPos.x, toPos.y) - new Vector2 (fromPos.x, fromPos.y)) * power;
}
//给予一个目标点
ball.GetComponent<Rigidbody> ().velocity = GetForce(this.transform.position,Camera.main.ScreenToWorldPoint(Input.mousePosition));

抛物线计算(Trajectory)

//setTrajectoryPoints(this.transform.position, force)
void setTrajectoryPoints(Vector3 pStartPosition , Vector3 pVelocity ){// 求模 velocity = pVelocity.magnitude//float velocity = Mathf.Sqrt ((pVelocity.x * pVelocity.x) + (pVelocity.y * pVelocity.y)); float velocity = pVelocity.magnitude;float angle = Mathf.Rad2Deg * (Mathf.Atan2 (pVelocity.y, pVelocity.x)); //获得角度var velocityX = velocity * Mathf.Cos (angle * Mathf.Deg2Rad); //水平方向初始速度var velocityY = velocity * Mathf.Sin (angle * Mathf.Deg2Rad); //垂直方向初始速度float fTime = 0;fTime += 0.1f;// Physics2D.gravity.magnitude = g = 9.8f;//计算坐标位移点for (int i = 0; i < numOfTrajectoryPoints; i++) {float dx = velocityX * fTime; //Sx = vtfloat dy = velocityY * fTime - (Physics2D.gravity.magnitude * fTime * fTime / 2.0f); //竖直上抛运动 Sy=Vot- gt*t/2Vector3 pos = new Vector3 (pStartPosition.x + dx, pStartPosition.y + dy, 2);trajectoryPoints [i].transform.position = pos;trajectoryPoints [i].GetComponent<Renderer> ().enabled = true;trajectoryPoints[i].transform.eulerAngles = new Vector3(0,0,Mathf.Atan2(pVelocity.y - (Physics.gravity.magnitude)*fTime,pVelocity.x)*Mathf.Rad2Deg);fTime += 0.1f;}
}

运行效果Gif:

项目下载地址:

https://download.csdn.net/download/lile1234_show/10682926

Unity 斜抛运动 路径点相关推荐

  1. matlab模拟斜抛运动60,大学物理教学改革论文,关于大学物理教学方法改革-Matlab的妙用相关参考文献资料-免费论文范文...

    导读:本文是一篇关于大学物理教学改革论文范文,可作为相关选题参考,和写作参考文献. (1.长江师范学院大学物理教研室 重庆 408100, 2.内蒙古工业大学 理学院物理系 内蒙古呼和浩特 01005 ...

  2. Python + matplotlib.animation 模拟斜抛运动动画(含完整代码)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Abstract Introduction Matplotlib.animation Physics model and C ...

  3. 三维场景中斜抛运动顶点的生成

    三维场景中斜抛运动顶点的生成 1 算法思想-斜抛运动 2 代码 3 参考文献 1 算法思想-斜抛运动 2 代码 void getparabola_vertex_2(glm::vec3 _Point, ...

  4. C语言编码小球斜抛运动,利用C4droid绘制小球斜抛运动轨迹(考虑空气阻力)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我把源代码分享出来,欢迎有兴趣的朋友下载测试,修改优化. /*********************************************** ...

  5. 斜抛运动的最远射程问题

    问题概述: 在o点上方高度为h处以速度v抛出一物体,该物体运动一段时间后落到地面p处,问抛出方向与水平方向的夹角是多少时,op有最大值,最大值是多少? 当    时: op有最大值: 题目:迎风舞

  6. 斜抛运动的最大水平射程

    1.抛出点与落地点在同一水平面:在这种情况下,当抛出角为 45度时,水平射程最大,其值为: 2.抛出点与落地点不在同一水平面上:当抛出角等于 arctg(v0/vt)时,水平射程最大,其值为:v0*v ...

  7. HDOJ 5166 -----斜抛运动

    题意:一个人站在H高的地方斜向上抛小球,求出小球落地后的水平距离. 算法思想: 1.计算出小球的最大滞空时间 2.计算出小球的水平速度 3.s=Vx*t; 推导来自小岛: 代码如下: #include ...

  8. matlab 斜抛 空气阻力,运用MATLAB对运动学、动力学问题进行过程分析

    第 29 卷第 6 期 Vol. 29 NO. 6 重庆工商大学学报( 自然科学版) J Chongqing Technol Business Univ. ( Nat Sci Ed) 2012 年 6 ...

  9. Web动画API教程:可爱的运动路径(Motion Path)

    这是介绍浏览器中web动画API的系列教程的第五篇.如果你有什么问题/想法,或者发现我理解错了规范的内容,或是希望我在接下来的文章中对某部分内容进行探讨的话,请在Twitter给我留言吧~@dancw ...

最新文章

  1. 电机测试matlab,基于MATLAB的电机故障诊断模型训练与测试平台
  2. 速看!高校开学返校的40个最新信息
  3. Ajax跨域post请求后端无法获取登录态原因及解决办法
  4. BZOJ 1047: [HAOI2007]理想的正方形 单调队列瞎搞
  5. Bootstrap-CSS-按钮-图片-辅助类-响应式
  6. python怎么执行代码漏洞_如何使用python查找网站漏洞
  7. 《Android游戏开发详解》一2.2 设置开发机器
  8. [NHibernate]使用AttributeNHibernate.Mapping.Attributes
  9. Open3d之网格(Mesh)操作
  10. python能做什么游戏-Python有做大型游戏的潜力吗?
  11. sersync实时备份安装及设置
  12. python降维方法_python大战机器学习——数据降维
  13. paip.提升效率--gui 的选择--swing最佳实践swt awt
  14. 种子文件转成为磁力链接 下载BT磁力转换小工具
  15. 【C】循环淘汰 (用结构体完成; 头文件不要加malloc.h 或 alloc.h)
  16. ABBYY软件PDF文本审阅操作之批阅文本
  17. python基础--除法,取整,取模(取余)(/,//,%),以及int最大值,大数乘法
  18. 华为AC忘记console密码
  19. 点点滴滴自学PS(一)批量去水印
  20. 可以用购买的专利做高新技术企业申请吗?

热门文章

  1. matlab 最大似然估计二项式分布,伯努利分布的最大似然估计
  2. Caffe 在Windows 10下的安装
  3. 用组策略彻低禁止USB存储设备、光驱、软驱、ZIP软驱
  4. 在医院信息科的生存之道
  5. 设计干货:PCB为什么要拼版?PCB拼版的适用方式分享
  6. 未来的 Web3会带来什么?
  7. 3分钟让你学会axios在vue项目中的基本用法(建议收藏)
  8. Bigtable: A Distributed Storage System for Structured Data
  9. 时间流逝(flow)——概率题
  10. 怎样把计算机关闭,怎么将关闭计算机这个右键菜单删除?