Unity中的数学运算总结
2014-08-04 16:39
260 查看
最近在做一个抛物线的炸弹效果,利用的是抛物线方程计算位置从而实现抛物线的效果
大体的实现过程如下计算(只能实现固定点在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
大体的实现过程如下计算(只能实现固定点在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 数学运算(C#)
- Unity Mathf 数学运算(C#)
- 数学运算题---总结
- Unity Mathf 数学运算(C#)
- Unity3D中Mathf数学运算函数总结
- PHP入门教程之数学运算技巧总结
- 网络学习——unity中Mathf数学运算
- Unity Mathf 数学运算(C#)
- PHP入门教程之数学运算技巧总结
- Unity Shader:雾的数学运算以及在Unity中使用Global Fog
- [转] Unity Mathf 数学运算(C#)
- 取整运算⌊a⌋, ⌈a⌉的一些数学理论的总结
- 【转】unity Mathf 数学运算(C#)
- Unity Mathf 数学运算(C#)
- unity 数学运算mathf
- Unity Mathf 数学运算
- Oracle 函数大全(字符串函数,数学函数,日期函数,逻辑运算函数,其他函数)
- 数学之美(系列十八) 之 矩阵运算和文本处理中的分类问题
- Oracle 函数大全(字符串函数,数学函数,日期函数,逻辑运算函数,其他函数)
- Oracle 函数大全(字符串函数,数学函数,日期函数,逻辑运算函数,其他函数)