Unity 斜抛运动 路径点
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 斜抛运动 路径点相关推荐
- matlab模拟斜抛运动60,大学物理教学改革论文,关于大学物理教学方法改革-Matlab的妙用相关参考文献资料-免费论文范文...
导读:本文是一篇关于大学物理教学改革论文范文,可作为相关选题参考,和写作参考文献. (1.长江师范学院大学物理教研室 重庆 408100, 2.内蒙古工业大学 理学院物理系 内蒙古呼和浩特 01005 ...
- Python + matplotlib.animation 模拟斜抛运动动画(含完整代码)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Abstract Introduction Matplotlib.animation Physics model and C ...
- 三维场景中斜抛运动顶点的生成
三维场景中斜抛运动顶点的生成 1 算法思想-斜抛运动 2 代码 3 参考文献 1 算法思想-斜抛运动 2 代码 void getparabola_vertex_2(glm::vec3 _Point, ...
- C语言编码小球斜抛运动,利用C4droid绘制小球斜抛运动轨迹(考虑空气阻力)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我把源代码分享出来,欢迎有兴趣的朋友下载测试,修改优化. /*********************************************** ...
- 斜抛运动的最远射程问题
问题概述: 在o点上方高度为h处以速度v抛出一物体,该物体运动一段时间后落到地面p处,问抛出方向与水平方向的夹角是多少时,op有最大值,最大值是多少? 当 时: op有最大值: 题目:迎风舞
- 斜抛运动的最大水平射程
1.抛出点与落地点在同一水平面:在这种情况下,当抛出角为 45度时,水平射程最大,其值为: 2.抛出点与落地点不在同一水平面上:当抛出角等于 arctg(v0/vt)时,水平射程最大,其值为:v0*v ...
- HDOJ 5166 -----斜抛运动
题意:一个人站在H高的地方斜向上抛小球,求出小球落地后的水平距离. 算法思想: 1.计算出小球的最大滞空时间 2.计算出小球的水平速度 3.s=Vx*t; 推导来自小岛: 代码如下: #include ...
- matlab 斜抛 空气阻力,运用MATLAB对运动学、动力学问题进行过程分析
第 29 卷第 6 期 Vol. 29 NO. 6 重庆工商大学学报( 自然科学版) J Chongqing Technol Business Univ. ( Nat Sci Ed) 2012 年 6 ...
- Web动画API教程:可爱的运动路径(Motion Path)
这是介绍浏览器中web动画API的系列教程的第五篇.如果你有什么问题/想法,或者发现我理解错了规范的内容,或是希望我在接下来的文章中对某部分内容进行探讨的话,请在Twitter给我留言吧~@dancw ...
最新文章
- 电机测试matlab,基于MATLAB的电机故障诊断模型训练与测试平台
- 速看!高校开学返校的40个最新信息
- Ajax跨域post请求后端无法获取登录态原因及解决办法
- BZOJ 1047: [HAOI2007]理想的正方形 单调队列瞎搞
- Bootstrap-CSS-按钮-图片-辅助类-响应式
- python怎么执行代码漏洞_如何使用python查找网站漏洞
- 《Android游戏开发详解》一2.2 设置开发机器
- [NHibernate]使用AttributeNHibernate.Mapping.Attributes
- Open3d之网格(Mesh)操作
- python能做什么游戏-Python有做大型游戏的潜力吗?
- sersync实时备份安装及设置
- python降维方法_python大战机器学习——数据降维
- paip.提升效率--gui 的选择--swing最佳实践swt awt
- 种子文件转成为磁力链接 下载BT磁力转换小工具
- 【C】循环淘汰 (用结构体完成; 头文件不要加malloc.h 或 alloc.h)
- ABBYY软件PDF文本审阅操作之批阅文本
- python基础--除法,取整,取模(取余)(/,//,%),以及int最大值,大数乘法
- 华为AC忘记console密码
- 点点滴滴自学PS(一)批量去水印
- 可以用购买的专利做高新技术企业申请吗?