SLにアニメッシュ!実装

 

ごきげんよう。

旧ブログサービスから今のブログへちょっとずつ必要な記事だけを移植しているのですが、画像の移動が滅茶苦茶面倒くさくて18記事移動させただけで灰と化している俺です。
でも今のブログも少し重いなと思っているので、本当はBloggerへ移動させたい。
あんまりブログ移動させるとみてくれてる人へ迷惑になるかなと思って今のところはしていませんが。

今このブログを読んでくださっている方で前のブログを知らない方は是非記事を遡って読んでみてください。
個人的には2014年10月22日付の『怪奇現象……』という記事が好きです。
気になる人は頑張って遡るか、アーカイブのところから探してみてくださいね。

さて、本日Twitterを眺めていると気になるツイートが。
アニメッシュが正式にSLに実装されたというもの。

https://community.secondlife.com/blogs/entry/2445-animesh-is-here/

Wiki : http://wiki.secondlife.com/wiki/Animesh_User_Guide

アニメッシュって?という方がいるかもしれませんので簡単に説明すると、アバターと同じようにアニメーションをさせることができるメッシュのことです。
と言われても意味がよく分かりませんよねww

例えば、クマのぬいぐるみのオブジェクト(メッシュ)があるとします。
これを今までのSLの仕様で動かすにはパラパラ漫画のように、クマの動き一コマ一コマを作ってリンクしてテクスチャの表示・非表示を切り替えるか(bentoが実装される前の動く動物の尻尾など右クリックするとわかるかも)、高度なスクリプトを書いて動かしていました。
しかし、アニメッシュは自分たちアバターと同じボーン情報をクマのぬいぐるみに持たせることでダンスモーションやポーズを使って踊らせたりポーズさせたりすることができます。
クマのぬいぐるみをバックダンサーにダンスすることも可能ですね。

やっぱりよく分からない説明でしたが……
説明はどこか親切な方が載せてくださっているかもしれないので探した方が早いかもしれません。

Animesh実装の話を聞いて俺も早速試してみることにしました。
幸いなことに、うちにはAnimalFairyAvatarというリグ情報を持った妖精さんがいましたので手軽に試すことができました。

まず、公式の最新ビューワーをダウンロードします。
Animesh対応のビューワーでないと試せません。
次にリグ情報を持ったマメアバをRezして、右クリックをして編集ツールを開き、Animated meshの部分にチェックを付けます。
このチェックボックスは骨情報を持ったオブジェクトにしか適用できないようです。

Image from Gyazo

ここで気を付けないといけないことは、このチェックを入れると同時にメッシュのLiが跳ね上がります。
恐らくポリゴン数に応じて増えるのだと勝手に解釈しています。
ですので、プリム数に空きのない土地などでは絶対にこの作業はしない方がいいと思います。

続いて、オブジェクトの中にアニメーションとスクリプトを入れます。
スクリプトはただ動かしてみたいだけですのでWikiからスクリプトを拾ってきます。

default
{
    state_entry()
    {
    }
 
    // This assumes that an animation called "アニメーションの名前" is present in the inventory of the current object.
    touch_start(integer total_number)
    {
        llSay(0, "Starting animation");
        llStartObjectAnimation("アニメーションの名前");
    }
 
    touch_end(integer total_number)
    {
        llSay(0, "Stopping animation");
        llStopObjectAnimation("アニメーションの名前");
    }
}

これをスクリプトノートに貼り付けるわけですが、このままだとタッチしてもすぐ止まってしまいます。
んんんん?なんでだ?って思いつつ、もしかしてこれかなという部分を削除。

default
{
    state_entry()
    {
    }
 
    // This assumes that an animation called "アニメーションの名前" is present in the inventory of the current object.
    touch_start(integer total_number)
    {
        llSay(0, "Starting animation");
        llStartObjectAnimation("アニメーションの名前");
    }

}

以上のスクリプトを貼り付けることによってタッチで動くようになるはずです。
タッチできない場合は右クリックの『触る』で動くと思います。

それで動かした結果がこちら。

親ばかっていうのは分かりますが、はいうちの子可愛い!!!
マメアバをペット状態にできる日も近そうですね。
その前に今作ってるネオマメアバをいじくりまわしてたらわけわからないことになってしまったので戻って設定しなおす必要が……
なかなか前には進めないものです。

最後に、叶さん(かなえ)もアニメッシュ化してみたので貼っておきます。

 

こわい。
ホラーゲームとかにもプリム数さえ余裕があれば使えそうですね。

 

 

おわる。

 

spacer