LlSetAnimationOverride

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

Template:Needs Translation/


函数名
Function: llSetAnimationOverride( string anim_state, string anim );
参数:• string anim_state – 动画状态被覆盖

• string anim – 该脚本在prim目录中的动画或内置动画的名称中

返回值:为给定的动画状态(anim_state)设置动画(anim)。

要运行这个函数,脚本必须使用llRequestPermissions请求PERMISSION_OVERRIDE_ANIMATIONS权限。

注意:动画覆盖可以保留所有内容,除了重新记录。

注意事项
Permissions
 不要依赖于权限的自动授予状态。始终使用run_time_permissions事件。
 如果该脚本缺少权限PERMISSION_OVERRIDE_ANIMATIONS,该脚本将在DEBUG_CHANNEL上大叫一个错误,操作失败(但该脚本继续运行)。
 一旦PERMISSION_OVERRIDE_ANIMATIONS权限被授予,除了从脚本内部(例如,使用一个新的llRequestPermissions调用)或者如果脚本被重置,可能就没有办法撤销它了。此外,即使脚本失去了权限(或取消ezzed),它也不会重置/恢复可覆盖的动画。
     对于查看器3.6.7和以上:如果对象没有附加到权限授予,但在相同的区域,然后Me>移动>停止动画我将撤销PERMISSION_TRIGGER_ANIMATIONPERMISSION_OVERRIDE_ANIMATIONS(其他权限将保留)。在这种情况下,重写将被重置。

如果anim不在prim的库存中,或者它不是动画,那么DEBUG_CHANNEL上就会出现错误。

动画覆盖生存脚本重置,脚本删除,附件删除,跨越到另一个区域和传送,但不重新记录。

除了任何覆盖设置外,“坐在地上”状态将会播放默认动画。这是正确的观众行为所必需的。

如果设置为连续循环动画,有些状态是过渡性的,行为未定义。这些状态是“预跳跃”、“着陆”、“软着陆”和“站起来”。

 通常这意味着你的化身会被冻结,除非你从观众那里运行“停止动画我的化身”,所以避免使用循环动画的这些状态。

如果你坐在一个请求PERMISSION_OVERRIDE_ANIMATIONS的对象上,权限不会自动授予。

使用llStartAnimation启动默认动画(“sit”、“walk”、“fly”)不会启动覆盖动画。

当这个函数被用来覆盖行走动画时,avatar不能再倒着走——试图这样做会导致avatar转过身来。大概是因为没有办法指定一个“向后走”的动画,所以实际上,当你的腿向前移动的时候,向后走看起来是错误的。

示例
//重写坐、站、走动画
/ / 1。将这个脚本和动画放在一个prim中
/ / 2。将脚本中的动画名称编辑为动画名称
/ / 3。把你的头像和一本正经的人联系起来

string gMySit = "chop_sit";
string gMyStand = "FStand _02";
string gMyWalk = "Kort gang F v4.1";
 
default
{
    attach(key id)
    {
        if ( id ) llRequestPermissions(id , PERMISSION_OVERRIDE_ANIMATIONS);
        else if ( llGetPermissions() & PERMISSION_OVERRIDE_ANIMATIONS ) llResetAnimationOverride("ALL");
    }
    run_time_permissions(integer perms)
    {
        if ( perms & PERMISSION_OVERRIDE_ANIMATIONS )
        {
            llSetAnimationOverride( "Sitting", gMySit);
            llSetAnimationOverride( "Standing", gMyStand);
            llSetAnimationOverride( "Walking", gMyWalk);
        }
    }
}
相关函数
llGetPermissions - 获得已授予的权限

llGetPermissionsKey - 获取授予权限的代理

llRequestPermissions - 请求的权限

llGetAnimationOverride

llResetAnimationOverride

相关事件
run_time_permissions - 允许接收事件

附录:(表格)

Value Type Description Default
"Crouching" State crouch
"CrouchWalking" State crouchwalk
"Falling Down" State falldown
"Flying" State fly
"FlyingSlow" State flyslow
"Hovering Down" State hover_down
"Hovering Up" State hover_up
"Hovering" State hover
"Jumping" State 在跳的时候还在空中。 jump
"Landing" Transition 当从一个跳跃降落。 land
"PreJumping" Transition 在一个跳跃的开始。 prejump
"Running" State run
"Sitting on Ground" State 坐着的,但与物体没有连接 sit_ground_constrained
"Sitting" State 坐在一个物体上(并连接到它)。 sit
"Soft Landing" Transition 落了一小段距离后。 soft_land
"Standing Up" Transition 在下落了一段距离之后。有时也被称为硬着陆。 standup
"Standing" State stand
"Striding" State 当化身卡在一个物体的边缘或另一个化身的顶部时。 stride
"Taking Off" State hover_up
"Turning Left" State turnleft
"Turning Right" State turnright
"Walking" State walk