LlSetPos

来自人工智能助力教育知识百科
跳转至: 导航搜索

Template:Needs Translation/


函数名
Function: llSetPos( vector pos );
参数:

•矢量位置-根据情况在区域或局部坐标中的位置(参见规范)。 对于未连接的根prim,每次调用的移动限制为10m。

返回值:在不使用物理的情况下将对象或基本体移向pos。
注意事项
此函数可用于非物理根prim和所有子prim。如果对象是物理对象,它对根prim没有影响。

坐标系 根基本体(或单个基本体对象) 附属的 pos是相对于附着点的局部坐标。 未连接 pos是区域坐标。 子基元组(非根基元组) pos是相对于根基元的局部坐标。

此函数使脚本休眠0.2秒。 由于此函数混合了本地坐标和区域坐标,所以当需要prims位置时,最好使用llGetLocalPos。 此函数在物理对象的根原语中不起作用。使用一个物理函数,比如llMoveToTarget。 如果您明确地将对象设置为“静态障碍物”进行路径查找,则函数将失败,并在调试通道中显示错误: “无法设置主位置或比例:对象对navmesh有贡献。”

示例
示例1
//Move the object up 1m when someone touches it.
default {
     touch_start(integer i) {
          llSetPos(llGetPos() + <0,0,1>);
     }
}
// to bypass the small movement bug use this
// - created by Madpeter Zond
// notes: it does not check if the movement would go out of limit range for linked prims
llSetLocalPos(vector offset)
{
    vector save = offset;
    if(offset.x < 0.0) offset.x -= 1;
    else offset.x += 1;
    if(offset.y < 0.0) offset.y -= 1;
    else offset.y += 1;
    if(offset.z < 0.0) offset.z -= 1;
    else offset.z += 1;
    llSetPos(offset);
    llSetPos(save);    
}
相关函数
llSetRegionPos–将对象的位置设置为区域内的任何位置。

llGetLocalPos–返回prim的本地位置(如果是附加的或非根的)(否则返回全局位置)

llGetRootPosition–获取根prims位置

llGetPos–返回prim的全局位置,即使它是附加的还是非根的

相关事件