LlSetAnimationOverride/ja

From Second Life Wiki
Jump to: navigation, search

要約

関数: llSetAnimationOverride( string anim_state, string anim );

指定したアニメーション(anim)を与えられたアニメーションの状態(anim_state)のときに再生します。

• string anim_state 上書きされるアニメーションの状態
• string anim プリムの インベントリ の中にあるanimation か、組み込みアニメーションの名前

実行するには、llRequestPermissions による PERMISSION_OVERRIDE_ANIMATIONS 権限が必要です。 Note:アニメーションの上書きはリログをすることを除いて継続されます。

説明 初期値
"Crouching"
"CrouchWalking"
"Falling Down"
"Flying"
"FlyingSlow"
"Hovering"
"Hovering Down"
"Hovering Up"
"Jumping" ジャンプして空中にいる間。
"Landing" ジャンプから着地するとき。
"PreJumping" ジャンプをし始めるとき。
"Running"
"Sitting" オブジェクトに座っているとき。(オブジェクトとリンクされているとき)
"Sitting on Ground" 座っているが、オブジェクトとリンクされていないとき[1]
"Standing"
"Standing Up" 長い距離を落下したあと。硬着陸を指すこともあります。
"Striding" アバターがオブジェクトの角に引っかかっているときや、他のアバターの上にいるとき。
"Soft Landing" 短い距離を落下したあと。
"Taking Off"
"Turning Left"
"Turning Right"
"Walking"

警告

  • 権限の自動付与に頼らないようにしましょう。常に run_time_permissions イベントを使用しましょう。
  • スクリプトに PERMISSION_OVERRIDE_ANIMATIONS の権限が不足していると、スクリプトはエラーを DEBUG_CHANNEL で叫び、操作に失敗します (しかしスクリプトは処理を続けます)。
  • いったん PERMISSION_OVERRIDE_ANIMATIONS 権限が付与されると、スクリプトの中で (例えば、新しい llRequestPermissions 呼び出しなどにより) 権限をはく奪することができません。スクリプトはオブジェクトが derez (削除、取り外し、取り込み) されない限り権限が失われません。
  • anim がプリムの中で見つからない場合、またはこれがanimationでない場合、エラーが DEBUG_CHANNEL 上で叫ばれます。
  • アニメーションの上書きはリログをすることを除いて、スクリプトのリセット、スクリプトの削除、装着物の取り外し、他の地域へ渡ったりテレポートしても継続します。
  • "Sit on Ground"状態は他に上書きを設定してもデフォルトのアニメーションが再生されます。ビューワの正しい挙動です。
  • 連続でループ再生するアニメーションを設定したとき、いくつかの状態の挙動についてはまだ未定義で、挙動が変わるかもしれません。それらの状態とは "PreJumping"、"Landing"、"Soft Landing" そして "Standing Up" です。
  • オブジェクトに座っていても PERMISSION_OVERRIDE_ANIMATIONS 権限は暗黙の承認がされません。
All Issues ~ Search JIRA for related Bugs

サンプル

// Override the Sit, Stand and Walk animations
// 1. place this script and your animations in a prim
// 2. edit the animation names in the script to your animation's names
// 3. attach the prim to your avatar
 
string gMySit   = "chop_sit";
string gMyStand = "FStand _02";
string gMyWalk  = "Kort gang F v4.1";
 
default
{
    attach(key id)
    {
        integer perm = llGetPermissions();
 
        if (id)
        {
            llRequestPermissions(id, PERMISSION_OVERRIDE_ANIMATIONS);
        }
        else if (perm & PERMISSION_OVERRIDE_ANIMATIONS)
        {
            llResetAnimationOverride("ALL");
        }
    }
 
    run_time_permissions(integer perm)
    {
        if (perm & PERMISSION_OVERRIDE_ANIMATIONS)
        {
            llSetAnimationOverride("Sitting", gMySit);
            llSetAnimationOverride("Standing", gMyStand);
            llSetAnimationOverride("Walking", gMyWalk);
        }
    }
}

関連項目

イベント

•  run_time_permissions 権限取得イベント

関数

•  llGetPermissions 付与されている権限を取得します
•  llGetPermissionsKey 権限を許可したエージェントを取得します
•  llRequestPermissions 権限を要求します
•  llGetAnimationOverride
•  llResetAnimationOverride

記事

•  権限/スクリプト
•  組み込みアニメーション 常に使用可能な組み込みアニメーションのリスト

特記事項

経緯

リリース日 12/04/2013

Search JIRA for related Issues

脚注

  1. ^ アベターのコンテキストメニュー "座る" は地形上、オブジェクト上、空中でさえ、どこからでもその場に座ることを許可します。

Signature

function void llSetAnimationOverride( string anim_state, string anim );
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。