ソラマメブログ

2009年11月17日

自分を見るカメラ(2)・・・おまけの機能つけてみました^^


前の記事の続きですが・・・


せっかくカメラをコントロールするのでいろいろおまけの機能をつけてみました^^

ブログの写真とるのが楽しくなるかも^^


自分を見るカメラ(2)・・・おまけの機能つけてみました^^

今回もちょっと不親切な開発メモです^^

※へたな動画も最後に載せましたのでよろしかったらご覧ください。



* * *


おまけの機能といってもたいしたことないんですが・・・


キュウちゃんが前の記事のコメント欄で提案してくれた
パンやズームするカメラワークは、ワタシにはまだまだ難しくて・・・
実は、ソース付で教えてもらったのですが、次の課題に先送りしちゃいました。
(ごめんね>キュウちゃん)


てことで、今回はシンプルに固定カメラとかフォローカメラとかのモードを追加するだけ・・・
ただそれだけのことなんですが、すごく時間がかかってしまいました。



■基本機能

「カメラのモード切替は、ボタンで直接選びたい。」

ということにこだわってみました。
カメラ押して、ダイアログだして選択だと、2回クリックしないといけないから
最初からボタンを出しておきたかったんです。

それとカメラ制御のON/OFFもクリック1回で選択できるようにしたいなと。

そんなこんなで、たくさんボタンタイプになりました。

自分を見るカメラ(2)・・・おまけの機能つけてみました^^


4つのカメラモードを切り替えることができます。

LookMeアバターが動いても定期的に自分が見える位置にカメラ位置を再設定するモードですカメラ位置を保存すると好きな角度でアバターを見ることができます。
Fixカメラの位置・向きが固定されているモードです。
Followカメラの位置は固定で、アバターを追いかけるようにカメラが向きを変えるモードです。
Backデフォルトカメラと同じようにアバターを後ろから追いかけるモードです。カメラ位置を保存すると、カメラの向き、距離を変更できます。



ボタンは以下の機能が割り振られています。

アイコンCLICK長押し
カメラ カメラ制御ON/OFFを切り替えます (未定義)
カラーボタン 制御モードを切り替えます 現在のカメラ位置を保存します
四角ボタン カメラ制御ON/OFFを切り替えます ダイアログを表示します




自分を見るカメラ(2)・・・おまけの機能つけてみました^^

※おまけで、HUDのテクスチャマップも貼っておきますね。
単純なのでレイアウトにだいぶ余裕があったので、プリムの位置あわせ用(上から3段目)の画像もこの1枚に入れています。





■カメラの位置とフォーカス位置

カメラの制御には、前の記事でもでてきたllSetCameraParams()
カメラの情報取得には、llGetCameraPos()llGetCameraRot()を使用します。

この情報取得と、設定のパラメータ。考え方がすごく違いますよね。
取得できる情報は、カメラ位置回転だけ。

でも、設定するデータは、カメラ位置フォーカス位置だったりします。
Backカメラのときは、カメラの自動追尾のためのパラメータを設定しなくっちゃいけなかったり・・・
なかなかややこしいです。

「実際には、LSLでカメラのフォーカスを制御できない」

ってことに気がつくまでかなり時間がかかりました。

ズームだと思っていたカメラワークはドリーなのでした。(参考→カメラ・ワーク)
そんで、ctrl-8, ctrl-9, ctrl-0で操作してるのがズームなのね。これはスクリプトじゃ動かせないみたい。


まだよくわかってるわけじゃないですが、今の理解を表にするとこんな感じです。


モードカメラロックフォーカスロックカメラ位置カメラの向き備考
Fixするするカメラのロック位置フォーカス位置+オフセットの座標を向くカメラは動かない
Followするしないカメラのロック位置アバター位置+オフセットの座標を向くカメラはロック場所で回転してアバターを追いかける
Backしないしないアバターの後方で指定された距離、角度の位置アバター位置+オフセットの座標を向くカメラはアバターを自動追尾する


LookMeは基本的にFollowと同じ設定です。Followではカメラが固定されるので、タイマでカメラを正面に移動させるしくみです^^



■フォーカス位置の計算

フォーカス位置は、実際のカメラと違って、カメラをその方向に向けるぐらいの意味しかないのですが、今回はカメラの向きを保存するために、フォーカス位置を計算して使用しています。

今回作っているのは、自分をみるためのカメラなので、フォーカス位置はアバターを中心に考えてみました。
この計算もよくわからなくて、ネットをみたり教科書をみたりで四苦八苦だったのですが、
なんとか、以下のような考え方で計算してだいだいの場所にフォーカスできるようになりました。

あくまでも近似値でしかないので実際のカメラの向きとは完璧に一致しませんがご参考までに。
(ちょっと自信ないですので違ってたら教えてくださいね)

自分を見るカメラ(2)・・・おまけの機能つけてみました^^

※フォーカス位置はアバターを通る平面上にあると仮定していますので、アバターをみていないときは、この計算でフォーカスが取得できませんのでご注意ください




■サンプル動画をつくってみました

うちのPCはオンボロなので動画キャプチャがうまくいきません。
でも今回は、amamanさんのAmaRecCo(アマレココ)というフリーの動画キャプチャを使ってなんとかキャプチャとることができました。
(オリジナルのビデオコーデック!!個人でやれるの?すごいね!)

動画編集できなかったので、Flashで文字とか入れてみました。
雰囲気だけでも伝わるかなー




※Loadingのアニメは、こちらのサイトからいただきました。→Preloaders.net。たくさん種類あってすごく便利です・・・ってSL関係ないか^^;




■まだしばらくベータ版だったり・・・

てわけで、いろいろ迷走しながらだいぶ完成に近づいてきたと思います。
前回と同様、ベータ版としてお店に置いておきますので、ご興味がございましたら是非どうぞお持ちください。

場所はこちら
Lionheart Nala/100/189/28




自分を見るカメラ(2)・・・おまけの機能つけてみました^^




同じカテゴリー(Creation)の記事画像
なんとなく目玉クリップを作ってみました^^
お花いっぱいの場所でいろいろ教えていただきました^^
ライオンみたいなものを作ってみました^^
1プリムのキャンドルに挑戦してみました^^
セカンドライフからTwitterしてみました^^
夏のお洋服つくってみました^^
同じカテゴリー(Creation)の記事
 なんとなく目玉クリップを作ってみました^^ (2011-09-25 22:50)
 お花いっぱいの場所でいろいろ教えていただきました^^ (2011-04-17 14:59)
 ライオンみたいなものを作ってみました^^ (2011-03-31 09:41)
 1プリムのキャンドルに挑戦してみました^^ (2010-12-11 23:55)
 セカンドライフからTwitterしてみました^^ (2010-10-21 11:16)
 夏のお洋服つくってみました^^ (2010-08-15 10:08)

Posted by jinko at 23:44│Comments(9)Creation
この記事へのコメント
こんにちは~
待ってました~ もらいに行きま~す
わくわくわく・・・(`・ω´・)ノ
Posted by LemonLemon at 2009年11月18日 09:58
ズームとドリー、、、勉強になりました。
そういう撮影方法があるの知ってたのですが、なんて呼ぶのかわからず ^^
たまたまスナップショットのお話しで同じこと書いたので、またまたリンクさせてもらいました。
Posted by Whitfield-In-World at 2009年11月18日 10:52
れもんさん^^

わー待っててくれたんやーありがとー

まだベータ版なのでいろいろおかしいとこあるかも
正式版に向けてもうちょっとがんばります^^


Whitfieldさん^^

スナップショットの記事だったんですねー奇遇です
いつもリンクありがとねー
Posted by jinkojinko at 2009年11月18日 21:29
HUDつけてみてヽ(゚Д゚;)ノ!!
もうバッチリ~最高級
ダイアログじゃ~なくてHUDをポチッがGOODね
完成品たのしみ~
Posted by SweetlemonSweetlemon at 2009年11月18日 22:28
れもんさん^^

あはは^^
早速ありがとねーほめてくれてうれしいな♪

がんばるねー
Posted by jinkojinko at 2009年11月18日 23:56
こんー今日は深夜につなげることができましたb

おひさしぶり、です。

てか、ジンコーまたすごいのつくっちゃってたんだねー^^ 素敵♪

自分だいすき~なのでぜひ使いたいっ、のになぁ(⊃д`;)とほほ

でもさすがだねー2年前よりかなりわかるようになってるんだろうねー

やっぱすごいなージンコってば^^* 尊敬ですっ!

他の記事もちょい読ませてもうねーノ
Posted by maroa at 2009年11月24日 01:55
まろあーー^^

うそーINしてたのねー
昨日早く寝るんじゃなかったよーー

LookMeは、まだちょっとおかしな動きするので改良中やけど、
是非使ってみてください。

スクリプト、簡単なのは組める感じになったけど複雑なのはまだまだ
修行しないとねー

時間ばかりかかってて全然すごくないよー

てゆうか、まろあ、あいたいなー
次のチャンスはいつやろー
Posted by jinkojinko at 2009年11月24日 06:49
遅レスだけど^^;

うん、これってすごく面白い発想だ。
マシニマ撮る人は表現が広がるんじゃないかな。
そしてインターフェイスがかわいい~♪

いただきに行かなくては!!
Posted by ぱる at 2009年12月18日 17:37
ぱるちゃん^^

ワタシも遅コメになったー
コメントありがとねー

バグとり・・・放置のままやった・・・はよなんとかせなね
Posted by jinkojinko at 2010年01月24日 13:34
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。