Unity中的数学运算总结
来源:互联网 发布:linux mv f 编辑:程序博客网 时间:2024/05/16 01:01
最近在做一个抛物线的炸弹效果,利用的是抛物线方程计算位置从而实现抛物线的效果
大体的实现过程如下计算(只能实现固定点在z轴上的抛物线效果)
_thisTransform.position = new Vector3(_thisTransform.position.x, -0.05f * (Time.time * speed * Time.time * speed) + 2f * Time.time * speed, Time.time * speed);
具体参数可以自己根据实际需要(需要的垂直高度以及水平距离)更改,y=ax2+bx+c,最高点为(-b/2a, (4ac-b*b)/4a)。
难点在于坐标的计算与纠正,因为是炮弹自然需要跟随炮管的位置以及旋转而发射出炮弹
在上面的基础上设置一个vector3的变量pos存储炮管位置,实现跟随
发射方向可以通过分解向量计算得到,计算炮管z轴和世界z轴的夹角angleGun,通过该夹角分别计算在x轴和z轴上的分量,从而实现发射方向的纠正
最终公式为
angleGun = Vector3.Angle(_thisTransform.forward, Vector3.forward) * Mathf.PI / 180f;
_thisTransform.position =pos+ new Vector3(Time.time * speed * Mathf.Sin(angleGun), -0.125f * (Time.time * speed * Time.time * speed) + 2f *Time.time * speed, Time.time * speed * Mathf.Cos(angleGun))
憋了我半天的一个问题是mathf.sin这两个函数,计算总不对,纠结死了,经过实验mathf.sin(90)居然不是1,这下才最终发现,其参数angleGun应该是弧度数而非度数~就这一个点儿硬是绊住我半天。。。
唉,写在此引以为戒吧
a=-32/L*L(L为两者距离),b=32/L
- Unity中的数学运算总结
- Unity Mathf 数学运算
- Lua中的数学运算符总结
- unity Mathf 数学运算(C#)
- Unity Mathf 数学运算(C#)
- Unity Mathf 数学运算(C#)
- Unity Mathf 数学运算(C#)
- Unity Mathf 数学运算(C#)
- Unity Mathf 数学运算(C#)
- Unity Mathf 数学运算(C#)
- Unity Mathf 数学运算(C#)
- Unity Mathf 数学运算(C#)
- Unity Mathf 数学运算(C#)
- Unity Mathf 数学运算(C#)
- Unity Mathf 数学运算(C#)
- Unity Mathf 数学运算(C#)
- Unity Mathf 数学运算(C#)
- Unity Mathf 数学运算(C#)
- public void Delete<T>(List<T> EntityList) where T : class, new() 这是什么意思
- ajax发起action时触发拦截器
- LUCENE 3.6 学习笔记
- poj 2342 Anniversary party,树形DP easy
- JS键盘事件实现定制按下键盘跳转到指定节点
- Unity中的数学运算总结
- chrome快捷键
- 数据结构导论第一遍
- 搜索基础代码。
- linux下多定时器的实现(经典)
- Linaro
- list集如何以某个字段对list进行排序
- 常用正则表达式
- CSS 公共样式分享