ソラマメブログ

2007年08月24日

固定カメラで遊んでみました^^

Makapuさんのブログは、いつもためになる記事満載で本当に感謝でいっぱいです。
今回は、固定カメラで遊んでみました^^

きっかけは、ありまよさんのトコのブログで、
颯爽と走るありまよRiders」の撮影にの固定カメラのスクリプトを組んでる、
って話を読んだことでした。

固定カメラがあれば、ワタシも颯爽と飛び回るホウキを撮影できますよね。
ということで、またまたスクリプトに挑戦です♪


固定カメラで遊んでみました^^

・・・って、先に、カメラを作ってみました^^;
カタチから入るのも大事でしょう?

あ、そんないらんことしている場合じゃないですねー
レイによって、イチからスクリプトなんて組めないので、
以前、読んだMakapuさんのトコの高度なカメラ制御のページをもう一度参考にさせていただきました。

Makapuさんのページでは、4つのタイプのスクリプトが紹介されていますが、
このうち固定カメラっぽいのは2種類です。

(1)カメラを完全に固定して被写体を追っかけないカメラ(完全固定カメラ
(2)カメラの位置を固定したまま被写体を追っかけるカメラ(固定追尾カメラ

先に、雰囲気だけ味わってください。
動画がよくわからないので、またまたGIFです。
(しかもちっちゃくてすいません^^;)
固定カメラで遊んでみました^^固定カメラで遊んでみました^^
完全固定カメラ固定追尾カメラ


雰囲気つたわりますか~?

これって、結構操作が難しいんです。
カメラの視線がいつもと違うので、思ったようにまっすぐ進めません。
ちょっと、不思議な感覚になります。

よみがえる、いらいら棒のいらいら感!!
さあ、あなたも、固定カメラで不思議ワールドを体験しよう!!


・・・というキャッチコピーはだめ?
(天才Maroaさんのようには、いきませんね。)

まあ、とにかく、いらいらします。
いらいらしたい方、今回使ったスクリプトを参考までに載せておきますね。
ヘンなトコ発見したらご連絡よろしくお願いします。
遠くにいってしまったとき困るので、
チャットコマンドでロックしたりフリーにしたりできるようなつくりにしています^^

【使い方】
-適当なオブジェクトを作って、以下のスクリプトをコピペしてください。
-適当な位置に装着してください。
-チャットで以下のコマンドが使えます。
 /1 c1←完全固定カメラ
 /1 c2←固定追尾カメラ
 /1 c3←俯瞰カメラ(おまけ)
 /1 r ←カメラのリセット

※カメラは連続できりかえることができません。
/1 c1のつぎに/1 rをはさんで/1 c2のように、一旦リセットしてください。

//================================================
// [fixed_camera.lsl]
// Fixed the camera position & focus.
// ver 1.0 Aug 23, 2007 by Jinko Spitteler
//================================================
// Ref http://miz.slmame.com/e16983.html


integer        isReady;
key            keyOwner;

control_init () {
    isReady = FALSE;
    keyOwner = llGetOwner();
    llRequestPermissions(keyOwner, PERMISSION_CONTROL_CAMERA);
    llListen(1,"",keyOwner,"");
}

focus_lock_typeA () {
    //Fixed position & forcus
    llSetCameraParams([
        CAMERA_ACTIVE, TRUE,
        CAMERA_FOCUS_LOCKED, TRUE,
        CAMERA_POSITION_LOCKED, TRUE
    ]);
}
focus_lock_typeB () {
    //Fixed position & Follow target
    llSetCameraParams([
        CAMERA_ACTIVE, TRUE,
        CAMERA_FOCUS_LAG, 0.0,
        CAMERA_POSITION_LOCKED, TRUE
    ]);
}
focus_lock_typeC () {
    //Follow taget, Overlook
    llSetCameraParams([
        CAMERA_ACTIVE, TRUE,
        CAMERA_BEHINDNESS_ANGLE, 180.0,
        CAMERA_DISTANCE, 10.0,
        CAMERA_PITCH, 180.0
    ]);
}
focus_unlock () {
    llClearCameraParams();
    llReleaseCamera(llGetPermissionsKey());
}

default {
    state_entry() {
        if (llGetAttached() != 0) {
            control_init ();
        }
    }
    attach(key agent) {
        if (agent != NULL_KEY) {
            control_init ();
        }
        else {
            integer perm = llGetPermissions();
            if (perm & PERMISSION_CONTROL_CAMERA) {
                focus_unlock();
                llOwnerSay("thanks!!");
            }
        }
    }
    run_time_permissions(integer perm) {
        if (perm & PERMISSION_CONTROL_CAMERA) {
            llOwnerSay("Camera Control is ready!!");
            isReady = TRUE;
        }
    }
    listen(integer channel,string name, key id, string message) {
        if (id == keyOwner && isReady) {
            if(message == "c1") {
                focus_lock_typeA ();
                llOwnerSay("ok, Fixed Camera!!");
            }
            else if(message == "c2") {
                focus_lock_typeB ();
                llOwnerSay("ok, Lock on Target!!");
            }
            else if(message == "c3") {
                focus_lock_typeC ();
                llOwnerSay("ok, Follow Target!!");
            }
            else if(message == "r") {
                focus_unlock();
                llOwnerSay("ok, Release Target!!");
            }
        }
    }
}


ちょっと長くなってしまいました・・・


実は、記念写真とるのにもいいんですよ。
最初に背景を決めて、固定カメラにしてパチリなんて使い方もできますね。

Maroaさんにいただいたデッキブラシと早速記念撮影♪
キキには、デッキブラシですよね・・・ってことで作っていただきました^^

固定カメラで遊んでみました^^

腰の緑のんが、今回のスクリプトの入ったボールです^^





同じカテゴリー(Tips)の記事画像
プリムスカートの簡単な作り方のヒミツ。初めてわかりました^^
球面の内側にテクスチャを貼るときの覚書です^^
LSL:日本語文字列をバイト数で長さ制限
スナップショットをレンズぼかしで加工してみました^^
LSLのカラーに変換するツールを作ってみました^^
ブラウザからインワールドの検索を使ってます^^
同じカテゴリー(Tips)の記事
 プリムスカートの簡単な作り方のヒミツ。初めてわかりました^^ (2009-07-11 14:57)
 球面の内側にテクスチャを貼るときの覚書です^^ (2009-06-27 07:28)
 LSL:日本語文字列をバイト数で長さ制限 (2009-04-29 12:06)
 スナップショットをレンズぼかしで加工してみました^^ (2008-10-06 04:14)
 LSLのカラーに変換するツールを作ってみました^^ (2008-10-02 21:15)
 ブラウザからインワールドの検索を使ってます^^ (2008-09-02 17:39)

Posted by jinko at 06:03│Comments(3)Tips
この記事へのコメント
 あー届いてたんだ^^ よかったー♪

 IMもらってたときにまだ作りかけだったんですが、むりやり送り付けちゃったんですよね;

 でもきっとキャンセルされてるだろうなーて思ってたので^^

 うんうん、届いていたなら、よし!(ぇ?w

 ブラシもKiKiなJinkoさんにまたがってもらって幸せだと思います^^

 そっかー届いてたか…びっくりw

 あははw
Posted by Maroa at 2007年08月24日 17:47
 うっかり押してしまいました;

 まだコメはあるんですよw ほほほ。

 固定カメラってなんかおもしろそうですね^^

 自分もチャレンジしてみようかな~♪

 あとJinkoさんのキャッチよいデスよ~

 自分は天才ではないです(褒められてにやけてるのは内緒~*

 あははw
Posted by Maroa at 2007年08月24日 17:53
Maroa さん、

はい♪ちゃんと届いてました♪
インしたらメッセージがでてたのですかさずGETしましたよ^^
かわいいデッキブラシどうもありがとうございました。

固定カメラ・・・
自分が思った方向に動いてくれないので、
ホンマにいらいらしますよ^^
でも、もう少しマトモなカメラもいつか作れればと思います。
(誰かが作ってくれるとウレシイのですが・・・)

キャッチコピーは、天才Maroaさんのイキにはまだまだ
程遠いようです^^;
もっと精進しまーす♪
Posted by jinkojinko at 2007年08月25日 00:32
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。