LlPursue

来自人工智能助力教育知识百科
Mkx讨论 | 贡献2020年7月6日 (一) 09:41的版本 (创建页面,内容为“{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function:llPursue( key target, list options ); |参数= 参数:key…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

Template:Needs Translation/


函数名
Function:llPursue( key target, list options );
参数:key target - group, avatar or object UUID to pursue.

list options - 为追求参数;见附录。

返回值:使物体追求目标。
注意事项
必须使用llCreateCharacter或脚本崩溃(脚本错误)

为任何矢量指定的垂直位置都应选择尽可能接近所要求地形的实际高度。所提供的垂直位置与实际地形/物体之间的巨大差异将导致行为失败。

在追击偏移量的参数中,Z值是未使用的(如果不是0.0则是错误的)。

REQUIRE_LINE_OF_SIGHT不需要在llPursue()被调用后立即使用视线-它只影响目标物体/代理移动后的位置更新。

FUZZ_FACTOR在偏移位置附近(缩放*长度偏移)的区域内选择一个点。值必须在0.0和1.0之间。

示例
示例1
default
{
    state_entry()
    {
        llCreateCharacter([CHARACTER_DESIRED_SPEED, 35.0, CHARACTER_MAX_SPEED, 35.0]);
    }
 
    touch_start(integer total_number)
    {
        llPursue(llDetectedKey(0), [PURSUIT_OFFSET, <-2.0, 0.0, 0.0>, PURSUIT_FUZZ_FACTOR, 0.2]);
    }
}
相关函数
llCreateCharacter

llDeleteCharacter

llEvade

llExecCharacterCmd

llGetClosestNavPoint

llFleeFrom

llNavigateTo

llPatrolPoints

llPursue

llUpdateCharacter

llWanderWithin

相关事件
path_update

附录:(表格)

Option Value Description

!Usage !Default Value

PURSUIT_OFFSET 1 到与目标偏移的位置。 [PURSUIT_OFFSET, vector offset] ZERO_VECTOR
REQUIRE_LINE_OF_SIGHT 2 定义角色是否需要一个物理视线来追逐。当启用时,当角色和目标物体/代理之间有固定物体时,角色不会选择新的目标位置。 [REQUIRE_LINE_OF_SIGHT, integer boolean] FALSE
PURSUIT_FUZZ_FACTOR 3 选择一个靠近追踪器偏移量的随机目标。有效的模糊因子范围从0到1,其中1是最随机的。这个选项需要一个非零的追击偏移量。 [PURSUIT_FUZZ_FACTOR, float factor] 0.0
PURSUIT_INTERCEPT 4 定义字符是否尝试预测目标的未来位置。 [PURSUIT_INTERCEPT, integer boolean] FALSE
PURSUIT_GOAL_TOLERANCE 5 定义字符与当前目标的近似距离,以确定其处于所需位置。有效范围从0.25到10m。 [PURSUIT_GOAL_TOLERANCE, float tolerance] 默认值与字符大小成比例