PrinPrin情報局

2009年9月13日日曜日

SLで動画撮影

みなさんは、SL(SecondLife)で動画撮影ってどうやってるのかなー^^
私の場合は、Frapsって言うシェアウェアーソフト使っているのですが、古いかなー^^
私が、SLを始めて最初のころは、SLビューアーにも動画で保存するメニューがあったのです。(今は、消えてるしね!)
でも、その機能は、Windowsにインストールされているコーデックを利用していたので、動くPCとそうでないPCがあって、よく判らないまま放置でした。
そんな時にFrapsと言うOpenGLを使ったゲームなどの画面をキャプチャーしてくれるソフトの存在を知って、当初はお金を払わないでお試しモードで使っていました。
でも、それだと連続撮影の時間が短くて(15秒だったかなー?)結局、支払いして使っています。
ちょっと古いですが、Frapsの記事です。
音も同時に録れるので便利です。
このFrapsは、海外のソフトなので、支払いするのも心配でしたが、日本語のWebサイトで海外のソフトを購入できるWebサイトがあったので、そのサイト経由で支払いです。海外のソフトウェアのダウンロードサイト【アルテック】
(Frapsは、WindowsVista 64Bit版の環境でも動作するって言うのも嬉しいですね^^)
さて、実際の撮影ですが、
そのままFrapsを動かして撮影開始で問題なく動きますが、SLビューアーの画面って、いろんな情報が表示されてて邪魔じゃないですか!
HUDとかは、メニューバーの「表示」の中にHUDの表示の有効無効の設定で消す事が出来ます。
でも、それだけですと、例えば、自分の所持金なんか表示されたままですよね!
そんな時に、SLビューアーでは、「Ctrl」+「Alt」+「F1」を押すと、メニューバーとかチャットの画面も消えてくれます。(撮影中チャットが入ってくると邪魔な時ありますよね!)
もう一度、「Ctrl」+「Alt」+「F1」を押せば戻ります。
(この事は、昔々 物知りの「Snuma」さんに教えてもらったものです。)
↓ こんな感じで余分な部分が消えます。
Tvd_20090912a
まぁー、こんな環境で動画撮影してますが、みなさんは、どんなソフトで動画撮影しているのでしょうw!
それから、この前の記事で書いたアニメーションPNGなどのパラパラ漫画風の動画撮影は、これも古いのですが、WinShotと言うフリーソフトを使うと便利です。
と言うのも、下の画面キャプチャーのように、「定期実行キャプチャー」と言うメニューがあって、間隔の秒数を0秒で開始しすると動画に近い間隔で静止画が沢山出来上がります。それを「アニメーションGIF」なり「アニメーションPNG」として加工してやれば、ちょっとした動画の出来上がりです。
image
WinShotの環境設定には、キャプチャーと同時に画像のサイズをリサイズしたり同時に特定の文字を入れる機能などもあり工夫しだいでいろいろ使えます。
SLの中で、アニメーションテクスチャーとして使う場合は、Gogleのフリーソフト「Picasa」を使って、コラージュを正方形とかで作成して、それをSLへアップロードすればアニメーションテクスチャーも簡単に出来ます。

↓ この画像の場合は、横が5コマで縦が3コマって事です。
SL_Pictures13 
(↑ 元のサイズは、5120x3620ピクセルです。)

使用する関数は、「llSetTextureAnim」です。

↓ このスクリプトのサンプルをコピ&ペーストして使ってみてもいいよ^^
アップロードするテクスチャーに合わせて、スクリプトの変数宣言の部分の「face001」 とか「yoko」や「tate」、「rate」と言った、変数の数字を変更して使って下さい。
※このまま、使うと横が2コマで縦が3コマの画像を0.75秒/コマでアニメーションします。

//
// テクスチャーアニメーションを行うための簡単なLSLサンプルです。コピペしてスクリプトとしてプリムへ入れてやれば使えると思います。
//  2009.09.12(Tvd Kidd)
//
//---------------------------------------------------
integer face001=0;//面の番号を指定します。例えば、立方体の場合は0から5番です。
//                  (全ての面を指定する時は、「ALL_SIDES」と言う特殊定数を指定します。
integer yoko=2;//テクスチャーの横方向のコマ数
integer tate=3;//テクスチャーの縦方向のコマ数
float rate=0.75;//テクスチャーの切り替わり間隔(1秒当たりのコマ数)
integer sw;//触らないでね!(タッチした判定に使います。)
//---------------------------------------------------
default
{
    state_entry()
    {
        llOwnerSay("タッチするとたびにテクスチャーアニメーションをSTART/STOPを切り替えます。");
    }//state_entry end
    touch_start(integer total_number)
    {
        if(sw == 0){
            llOwnerSay("***テクスチャーアニメーション開始です。***");
            llSetTextureAnim(ANIM_ON | LOOP, face001,yoko,tate,0,0,rate);
            sw=1;
        }else{
            llOwnerSay("***テクスチャーアニメーション停止です。***");
            llSetTextureAnim(FALSE | LOOP, face001,yoko,tate,0,0,rate);
            sw=0;
        }//else end
    }//touch_start end
}//default end

前にテクスチャーアニメーションを手軽に作れるオブジェクトを配布したのですが、その時の記事も参考にしてみて下さいね^^


※Googleアカウントが無い方は、コメントを入れる時に「名前/URL」を選んで下さいね^^

0 件のコメント: