LlCreateCharacter

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

Template:Needs Translation/


函数名
Function: llCreateCharacter( list options );
参数:列表选项-字符配置选项。.
返回值:从包含脚本的对象创建路径查找实体,称为“字符”。 需要激活路径查找函数的使用。
注意事项
一个脚本可以包含一个 llcreatecharacter 调用,其他脚本可以利用这个调用和其他需要的路径函数。 llcreatecharacter 状态保存状态更改、脚本重置和 rezzing.llcreatecharacter 对所有的 pathing 函数都是必需的。 如果多个脚本在同一个对象中使用相互冲突的路径函数(不同的 prim 或相同的 prim) ,则其中一个将随机优先(显然)。 字符最大速度-看路径错误-42-在测试中,我们已经发现一个理想的速度10米 / 秒是足够快的大多数用途,更高的速度可能产生意想不到的结果(特别是当导航狭窄的空间或急转弯)。 2012年3月15日字符 max angular accel min 1.5708字符的形状是一个胶囊(圆柱与球形两端)的长度(从尖端到尖端)和一些半径的圆形横截面。 这两个大小参数分别由字符长度和字符半径参数控制。注意,字符的真实“长度”不能小于半径的两倍加上0.1米; 然而,欢迎指定一个小于这个值(但大于0)——脚本不应该抱怨。 如果你需要你的角色是水平的,那就使用[角色方向,水平]。尽可能使用垂直胶囊,水平胶囊可能比垂直胶囊更容易卡住。 但是,如果字符遇到错误状态,它将无法恢复,因为没有原始脚本可以从中获得错误处理。 不建议从活跃使用的字符中删除脚本。 使用 llexeccharactcmd (字符 cmd stop,[])来停止一个 pathing 命令。 根 prim 的位置决定了字符表面上方的高度; 如果你的字符在表面下沉或者太高,它会调整根 prim 与链接集的其余部分的相对位置(或者创建一个新的根 prim,你可能看不到它,来控制你的字符的表面高度)。 包裹内字符的默认值取决于字符类型。 如果字符类型被设置为除了字符类型为无以外的任何东西,那么字符留在包裹将默认为真,所以总是明确设置字符留在包裹内为假,如果你不希望字符停留在包裹边界。
示例
create_character()
{
//  Clear any previous character behaviors
    llDeleteCharacter();
 
//  MAX_SPEED is @ 20 by default
    llCreateCharacter([ CHARACTER_MAX_SPEED, 25,
                        CHARACTER_DESIRED_SPEED, 15.0]);
}
 
patrol_around(vector targetPos)
{
    list points = [targetPos + <5, 0, 0>, targetPos - <5, 0, 0>];
    llPatrolPoints(points, []);
}
 
default
{
    on_rez(integer start_param)
    {
        llResetScript();
    }
 
    state_entry()
    {
        create_character();
    }
 
    touch_start(integer num_detected)
    {
        patrol_around(llGetPos());
    }
}
相关函数
llCreateCharacter llDeleteCharacter llEvade llExecCharacterCmd llGetClosestNavPoint llGetClosestNabPoint llGetStaticPath llFleeFrom llNavigateTo llPatrolPoints llPursue llUpdateCharacter llWanderWithin
相关事件
path update