2018年12月27日木曜日

Animesh - メッシュ人形にダンスを踊らせる

もしかしたら、2018年は Animesh の正式採用が最もインパクトが大きかったのかもしれません。そのくらい、2018年のLindenのまとめブログを見ていて驚きました!
Rigged Mesh オブジェクトを作った経験と創作物があって、かつスクリプトを使ったアニメーション操作のプログラムが書けるなら、Animesh はすぐに作ることができるでしょう。

とはいっても、Rigged Meshを作ることも、アニメーションスクリプトどちらもハードルが高いですよね。。。

Animesh とは、Rigged Mesh のオブジェクトに対して、アバターのようにスクリプトを使ってアニメーションを適用し踊らせている Mesh オブジェクトのことです。


幸いにして、このブログの過去の投稿を見て頂ければわかると思いますが、たまたま過去の私の Secondlife の中の興味の対象が Rigged Mesh であったり、スクリプトによるダンスコントロールだったので、Animesh の存在を知ってすぐに以下を作成することができました。


Rigged Meshは「アバター」(着ぐるみ)として作成していました。顔や体、装備など複数のパーツで構成されているものを全部「リンク」し1つにして、リンクのルートオブジェクトに対して、「アニメーションメッシュ」のチェックボックスをオンにするだけで、Animesh オブジェクトとしての準備は完了、あとはスクリプトを作成するだけです。

スクリプトも通常のアバターに対するアニメーション操作ではないので、アバターの動きを制御する許可を得るパーミッション処理が無い分、簡単かもしれません。

Animesh のための特別な関数は以下の3つです。

llStartObjectAnimation - llStartAnimation に相当
llStopObjectAnimation - llStopAnimation に相当
llGetObjectAnimationNames - llGetAnimationListに相当

パーミッションがいらない分、スクリプトそのものを踊らせるオブジェクト(お人形)の中に入れる必要があります。アニメーションファイルもお人形の中にいれて使ったほうが楽です。
多くのスクリプトサンプルは Touch イベントで操作するものですが、Touch イベント限定ではないので、llListen と listen イベントを使ったりすることもできます。(つまり、タッチせずに動かすことができます)

あと、単独のNPC(ノンプレイヤーキャラクター)としてだけでなく、自分に装着してアニメーションを適用させることができます。たぶん、ペットのオブジェクトなどを Rigged mesh で作成して、アニメーション適用することで、自分について来たり、肩に乗せているペットオブジェクトの動きをよりリッチにすることができますね。(ばけもの屋の conjoh さんあたり、すでにやっていそう、というか、やっぱりやっていたw)

Animesh ミクさんを自分に装着して位置調整したら、おおよそジョジョのスタンド、、、

CONJOHさんもブログに書いていましたが、本当に良いアップデートをありがとう、Linden。2019年も、まだまだ楽しめそうです。

0 件のコメント:

コメントを投稿