“LlRotLookAt”的版本间的差异
(创建页面,内容为“{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function: llRotLookAt( rotation target_direction, float strength, fl…”) |
|||
第29行: | 第29行: | ||
</pre> | </pre> | ||
•'''vPosTarget - llGetPos()'''将对象的全局坐标转换为对象指向的局部距离和方向 | •'''vPosTarget - llGetPos()'''将对象的全局坐标转换为对象指向的局部距离和方向 | ||
+ | |||
•每[[llRotBetween]]文章: | •每[[llRotBetween]]文章: | ||
− | + | •除非两个输入值相等(例如单位向量),否则llRotBetween返回一个缩放的旋转。 | |
− | + | •使用[[llVecNorm]]将量级降低到1(这样两个量级相等),防止了错误。 | |
'''将旋转限制在一个轴上''' | '''将旋转限制在一个轴上''' |
2020年8月18日 (二) 04:10的最新版本
首页 | 函数 | 事件 | 类型 | 操作符 | 常数 | Flow Control | Script Library | Categorized Library | Tutorials |
函数名 |
---|
Function: llRotLookAt( rotation target_direction, float strength, float damping ); |
参数:• rotation target_direction
• float strength • float damping - 几秒钟后就会严重受潮 |
返回值:使物体平滑地旋转到目标方向,并在阻尼力处产生强度阻力。
保持目标方向旋转直到停止使用llStopLookAt。
|
注意事项 |
---|
在非物理对象中,此函数的操作与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 |
相关事件 |
---|
无 |