LlRotLookAt

来自人工智能助力教育知识百科
Mkx讨论 | 贡献2020年8月18日 (二) 04:10的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

Template:Needs Translation/


函数名
Function: llRotLookAt( rotation target_direction, float strength, float damping );
参数:• rotation target_direction

• float strength

• float damping - 几秒钟后就会严重受潮

返回值:使物体平滑地旋转到目标方向,并在阻尼力处产生强度阻力。

保持目标方向旋转直到停止使用llStopLookAt


使用llMoveToTarget以同样的方式改变位置。对于物理对象,两个参数的取值范围都在0.2和1之间。

注意事项
在非物理对象中,此函数的操作与llSetLocalRot相同。

阻尼的上限似乎是1.0;较大的值被降低到1.0(2010年10月21日在服务器版本10.10.18.212360上测试)

强度的最小值似乎为0.0445,函数才有任何效果。

示例
将基本物体的正y轴(<0.0,1.0,0.0>)指向sim上的一个位置
//-- vPosTarget是你想要“看”的对象的全局位置
llRotLookAt( llRotBetween( <0.0,1.0,0.0>, llVecNorm( vPosTarget - llGetPos() ) ), 1.0, 0.4 ); // 点+Y轴指向vPosTarget

vPosTarget - llGetPos()将对象的全局坐标转换为对象指向的局部距离和方向

•每llRotBetween文章:

•除非两个输入值相等(例如单位向量),否则llRotBetween返回一个缩放的旋转。
•使用llVecNorm将量级降低到1(这样两个量级相等),防止了错误。

将旋转限制在一个轴上

 vector detected = llDetectedPos( 0 );
      vector pos = llGetPos();
      llRotLookAt( llRotBetween( <0.0, 1.0, 0.0>, llVecNorm( <detected.x, detected.y, pos.z> - pos ) ), 1.0, 0.4 );
相关函数
llLookAt

llStopLookAt

llSetPhysicsMaterial

llSetKeyframedMotion

相关事件