ソラマメブログ
< 2024年03月 >
S M T W T F S
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
※カテゴリー別のRSSです
Mail

  
Posted by at

2007年08月01日

アニメ再生時のアバタの位置

poser links


引き続き、アニメ再生時のアバタの位置(縦軸)について調べてみました。

アニメーションデータとしては
A.腰の高さをデフォルトポーズから変えずに四つんばいになるもの
B.poser上で地面の高さまで下ろして四つんばいになるもの
の2つを用意します。

それらを用いて
1)立っている状態からアニメ再生
2)地面に座っている状態からアニメ再生
3)薄いオブジェクトに座っている状態からアニメ再生
4)厚みのあるオブジェクトに座っている状態からアニメ再生
の4パターンの状況で実験してみます

まず1)と2)の状況でのテストですが...
自分としては以外でしたが、それらに差異はないようです。

  続きを読む

Posted by harayoki at 00:20Comments(2)アニメ制御

2007年07月31日

デフォルトの座りポーズ

animationControl links


例によってlslWikiからですが
座っているときにカスタムアニメ(優先度が高くないもの)を再生するときには、
デフォルトで再生されるアニメをとめてからにしたほうがいいよ!、と書いてあります。
http://www.lslwiki.net/lslwiki/wakka.php?wakka=llStartAnimation

To animate someone sitting on an object, it's a good idea to stop the generic sit animation first (llStopAnimation("sit")) unless the new animation has a higher priority than the default sit.


いっぽうセカンドライフ覚書さん - 1L$で入手できる、アニメーション自動販売機
で紹介されている自動機を購入して、

これです

中のscriptを見てみると(ソースが見えるってすばらしいですね)
llStopAnimation("sit")だけでなく
llStopAnimation("sit_generic")とも書いてあります。
sit_genericとは一般的な座りポーズといった意味でしょうか。

これは、座ったときにsitだけでなく、場合によってはsit_genericも再生される事があるよ、
そのアニメの再生も止めておかないとね、という事だと思うのですが…


sit


sit_generic

動作含めて全く同じに見えます…?


調べてみると、他にも座り系のポーズは色々あるようですね。  続きを読む

Posted by harayoki at 18:23Comments(0)アニメ制御

2007年07月31日

複数アバタを同時にアニメさせる

animationControl links


見た目が面白くないエントリー投稿期間チュウのharayokiです。

前のエントリーなどに書いたとおり、
現在、1つのオブジェクトに座った数名のアバタを同時に
アニメさせたりコントロールする事に取り組んでいます。
これがなかなか敷居が高い…。
lslって不便だなあ、と思いつつも
がんばればできそうなのでがんばっています。:-)

今回はllStartAnimationについてです。

llStartAnimationはアバタにアニメーション再生をさせる命令ですが、
不思議なことに引数がアニメデータの名前しか取らず、
対象となるアバタのキー値などを指定しません。
これは、scriptでのアニメ再生には事前にアバタにアニメ再生許可を取る必要があり、
その命令(llRequestPermissions)では
アバタをキー値で指定するため、scriptはそのアバタを記憶しており
lLStartAnimationおよびllStopAnimationでは引数にアバタの指定がいらない、
…とこういう事のようです。

変な説明ですが、llRequestPermissionsで指定したアバタをアニメさせたりアニメをとめたりすることができる、という事です。


それは結構なのですが、これってつまり…
同時には1人のアバタしかアニメ制御できないという事になりますね。
その都度llRequestPermissionsを別のアバタ
に対してやり直せばいいのでしょうが…。
やってやれなくなさそうなものの、なんだか処理がアバタ管理で大変な事になりそうです。

ここで考えました。
アニメ再生許可を得たアバタのキー値のメモリ上の記憶はプリムごとにされるのでしょうか?
それともscriptごとなのでしょうか?
もしscriptごとに記憶されるのであれば、プログラムをうまく分散させることで
複数アバタのアニメコントロールが見通しよくできそうです。
(パーティクル放射などはscriptごとではなく
プリムに対してひとつですが、これはなんとなく大丈夫な気がします。)

ということで実験です。


この適当なプリムには、
タッチするとアニメを3秒ごとに計5つ切り替えて再生するscript1つと
座るとアニメを同様に5つ再生するscript1つがくっつけられています。
(ソースはエントリーの最後にあります)

この状態で2人のアバタをアニメ制御させることができるでしょうか?

結果は動画で確認どうぞ。  続きを読む

Posted by harayoki at 08:29Comments(0)アニメ制御