LlRot2Up

来自人工智能助力教育知识百科
Mkx讨论 | 贡献2020年8月18日 (二) 00:48的版本 (创建页面,内容为“{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function: vector llRot2Up( rotation q ); |参数= 参数:• rota…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

Template:Needs Translation/


函数名
Function: vector llRot2Up( rotation q );
参数:• rotation q
返回值:计算本地z轴相对于父元素的方向(即相对于根prim或世界)。

返回一个由q定义的向上向量,即一个指向局部正z方向的单位向量

注意事项
Specification
 在数学上等价于:
     ret = llVecNorm(<0., 1., 0.> * q);
 如果已知q是一个单位四元数,则可简化为:
     ret = <0., 0., 1.> * q;
 记住,对象和代理的旋转将永远是单位四元数。例如,<0.0,0.0,1.0>*llGetRot()比llRot2Left(llGetRot())快25-30%,具体取决于使用的VM。如果经常这样做并且速度非常快,甚至可以将<0.0,0.0,1.0>保存为一个本地/全局变量并重用它。
示例
示例1
//无论物体在世界上的方向如何,当物体被触及时,将物体沿其自身的z轴向前移动5米。
//适用于根或子基本物体
default
{
    touch_start(integer total_number)
    {
        vector v = llRot2Up( llGetLocalRot() );
        llSetPos( llGetLocalPos() + v * 5 );
    }
}
相关函数
llRot2Axis

llRot2Angle

llRot2Left

llRot2Fwd

相关事件