2008年04月07日

テレポートするとアニメーションが解除される

今抱っこできる装着オブジェクトを作成していますが、装着時にはちゃんとポーズになりますが、その状態でテレポートをするとポーズが解除されてしまいます。

同じような機能の市販品を試しに購入して、装着してテレポートしましたが、そちらは解除されずポーズが継続しています。
このような場合は、何か特殊なスクリプト等が必要なのでしょうか?
どなたか分かる方が居ましたらアドバイスをお願いします。

詳しくは以下のようになっています。

抱っこのポーズをQAvimator で作成してアップロードして使用しています。
ポーズは両腕の位置を設定しているだけで、抱える形以外の動きは一切ありません。

装着時にはちゃんと抱っこポーズになり、座っても、歩いても、飛んでも問題は無いようです。
装着部位は右手にしています。

テレポートするとアニメーションが解除される

しかし、テレポートをするとポーズが解除されてしまい、デフォルトのポーズに戻ってしまいっています。

テレポートするとアニメーションが解除される

アニメーションは以下のような設定でアップローしてます。

テレポートするとアニメーションが解除される

抱っこポーズは、抱っこさせたいオブジェクトのルートプリムにアニメーションと以下のような単純なアニメーション設定スクリプトを入れて使用しています。

string animation_name="Penguin Dakko2";

default
{
attach(key attached) {
if (attached != NULL_KEY) {
llRequestPermissions(attached, PERMISSION_TRIGGER_ANIMATION);
} else {
llStopAnimation(animation_name);
}
}
run_time_permissions(integer perm) {
if (perm & PERMISSION_TRIGGER_ANIMATION){
list anims = llGetAnimationList(llGetOwner());
integer i;
for (i = 0; i < llGetListLength(anims); i++){
llStopAnimation(llList2Key(anims, i));
}
llStartAnimation(animation_name); }
}
}

ちなみに、私自身は他のアニメーション系を何も付けてません。デフォルトの状態のままで居ます。
宜しくお願いします。

同じカテゴリー(スクリプト関連)の記事画像
オブジェクトのリンクとタッチで開く扉
自動チャットを止めたい
同じカテゴリー(スクリプト関連)の記事
 テクスチェンジのHUDについて (2015-07-01 04:51)
 モール用のプリムカウンターを探しています (2014-11-29 20:09)
 連続するアニメーションの処理 (2014-08-24 03:23)
 オブジェクトの上にフローティングテキストを出す。 (2014-08-22 16:46)
 チャットログの盗聴について (2014-02-03 03:43)
 椅子に座った後で位置調整できるスクリプト (2013-03-24 16:37)

Posted by Gonbe Shan  at 08:19 │Comments(6)スクリプト関連

この記事へのコメント
ちょっと納得できてはいませんが、一応自己解決はしました。
テレポートするとアニメーションがデフォルト状態に戻ると言う前提で、changedイベントでCHANGED_TELEPORTを使って、再度アニメーションをスターとさせたら、ポーズしたままになりました。

このようにしなくても、ポーズが解除されない方法とか、何かありましたら教えて下さい。

以下にサンプルを書きます。

key key_id;
string animation_name="Penguin Dakko2";

default
{
attach(key attached) {
if (attached != NULL_KEY) {
key_id = attached;
llRequestPermissions(attached, PERMISSION_TRIGGER_ANIMATION);
} else {
llStopAnimation(animation_name);
}
}
run_time_permissions(integer perm) {
if (perm & PERMISSION_TRIGGER_ANIMATION){
list anims = llGetAnimationList(key_id);
integer i;
for (i = 0; i < llGetListLength(anims); i++){
llStopAnimation(llList2Key(anims, i));
}
llStartAnimation(animation_name); }
}
}
changed(integer change) {
if (change & CHANGED_TELEPORT){ llRequestPermissions(key_id, PERMISSION_TRIGGER_ANIMATION);
}
}
}
Posted by Gonbe ShanGonbe Shan at 2008年04月07日 12:18
おいら自身ではそのような状態に陥ったことはないですね。
スクリプトも特に問題ないと思います。

テレポートした先がたまたまスクリプト禁止だったとか?
Posted by Tako★MASARU at 2008年04月08日 00:54
正式版が新しくなって以降、私もその現象が頻発しています。

仮にスクリプト禁止の場所だったとしてもTP前の状態が保持され
るはずのなのでスクリプト禁止は恐らく関係ないかと思います。
Posted by anonymouse at 2008年04月08日 04:09
今試しにやってみたんですが、同じ症状出ました。最近装着でアニメが入ってるようなものはつけてなかったので気づかなかったですね。

この症状ってRCの段階では出てなかったんでしょうか?
Posted by Tako★MASARU at 2008年04月08日 09:56
もういっちょ試しにRCでもやってみたんですが、やっぱり同じ症状出てますね。全然気づかなかったなぁ。バグ報告するか。
Posted by Tako★MASARU at 2008年04月08日 10:11
コメントありがとうございます。

やはり変なんですね。。。><
アタッチ系で、アニメーション付きの物は、製作したのは初めてですし、身に付けた事すら無かったので、一時は途方に暮れました。T T

MASARUさん。試していただいてありがとうございます。
以前は問題無かったんですね~。
だからβグリットで試した時は、この症状が出なかったんだ~。。。

そりゃそうですよね~。。。テレポートのChangeイベントなんて、普通の人は知らないですものね。

でも、今回の件でアニメーション系とかアタッチ系の扱いも、だいぶ理解できるようになりました。
この経験を生かして、更に色々と物作りに励んで見ます。

ありがとうございました。
Posted by Gonbe ShanGonbe Shan at 2008年04月08日 11:32
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。