2009年05月01日

再び、MMDで立体視。

MikuMikuDanceで立体視動画を作る、というのを以前やっていたけど、いまやMMDもバージョン4まできているし、当時なかったいろいろ便利なソフトもあるので、以前できなかった「カメラを動かす立体視動画」というのを作れるかもしれない、と思って試行錯誤中。

続きを読む
posted by だんちゃん at 01:44| Comment(0) | TrackBack(0) | MMDで立体視 | 更新情報をチェックする

2009年05月02日

MikuMikuDance用立体視生成ツールを試作してみた。

※5/8追記:このツールの詳細な記事を書きました。こちらへどうぞ。

昨日の記事に引き続き。

MikuMikuDanceで、カメラワークつきのモーションデータから、カメラワークを残したまま立体視化できる(左目用・右目用の動画が作れる)簡易ツールを制作した。

http://miku-challenge.up.seesaa.net/image/camera_shift100.zip
MMD立体視カメラワーク変換ツール ver1.00


http://miku-challenge.up.seesaa.net/image/camera_shift.zip
MMD立体視カメラワーク変換ツール ver1.10

Excelマクロで作られているので、Excel2000以降が必要。
また、Yumin Spaceさんにて配布の「VMD Converter」も必要。
使い方はExcelファイルのシートに掲載。

ベクトル計算がよく分からないまま適当に作ったので、計算が間違ってる可能性があるけど、とりあえず出力結果を見るとそれなりに動作している感じなので、とりあえず試作バージョンとして公開してみることにした。

VPVP Wikiなどを巡って、公開されている素晴らしいモデルデータやモーションデータを集めて、それに今回の立体視ツールを組み合わせて、動画を作ってみた。




→5/5追記:さらに動画を3つ追加アップ。こちらのほうが「頑張った」動画になっているはず。



↑もともと立体視前提に作られていないカメラワーク(当たり前)で、カメラが寄っているときの両眼視差が相当大きいので、平行法・交差法で見るのは相当難易度が高そう。
 個人的にはアナグリフが一番おすすめ。(ただし要3Dメガネ)
posted by だんちゃん at 01:37| Comment(4) | TrackBack(0) | MMDで立体視 | 更新情報をチェックする

2009年05月08日

MMD立体視カメラワーク変換ツール「Camera Shift」について

MMD立体視カメラワーク変換ツール「Camera Shift」について、まとめページを作ってみた。(最終更新:2009/5/9)

0.ファイルのダウンロード

こちらです。
http://miku-challenge.up.seesaa.net/image/camera_shift.zip
↑最新版(version 1.10)

http://miku-challenge.up.seesaa.net/image/camera_shift100.zip
↑初期版


1.これは何をするツールか?

MMDの動画データにあるカメラワークを変換して、立体視用のカメラワークモーションデータを作成するツールです。
基本的に、あらゆるMMDファイルを立体視変換可能です。Excelマクロで組まれているので、Excel2000以降が必要です。OpenOfficeその他の互換アプリケーションで動作するかは未確認です。
このツールを活用することで、例えばこんな動画が比較的簡単に作成できます。




2.そもそも立体視とは何か?

という疑問を持つ人はそもそもこのページにこないんじゃないかと思いますが、立体視というのは左目と右目に異なる画像を提示することによって、平面図から擬似的に立体感を作り出す画像処理のことをいいます。
もともと、私たちが日常、左目で見ている風景と右目で見ている風景は目の位置が違うことによってわずかに異なります。その違い(両眼視差)は、私たちが外界の奥行き(立体感)を知覚する際の重要な手がかりとなっていると考えられます。「立体視」では、この両眼視差をもった2つの画像を左目・右目それぞれに別々に提示することによって、立体感を感じさせる仕掛けになっているわけです。
立体視画像で、左目・右目に異なる画像を提示する方法として、次のような方法があります。

(1)アナグリフ
 特定の異なる色で左目用・右目用の画像を同じ平面上に描画し、左右で異なる色のついたメガネを通して画像を見る方法。いわゆる赤青の3Dメガネを使って赤と青の重なった画像を見る、古典的な方法。3Dメガネが必要なことと、フルカラー画像が作れないという難点があるが、特別な訓練なく立体視ができる。

(2)裸眼立体視(平行法・立体法)
 左目用・右目用の画像を左右に並べて、それを左目・右目で別々に見る方法。左側に左目用、右側に右目用の画像をレイアウトして、画像を見るときの視線が画面に対して平行になる「平行法」と、左側に右目用、右側に左目用の画像をレイアウトして、画像を見るときの視線が交差する「交差法」がある。
 フルカラー画像が作れ、特別な道具が必要ないというメリットがあるが、ある程度訓練しないと立体視ができない。

(3)その他の方法
 より特殊な道具を使う方法として、左目用・右目用の画像を交互に表示し、それと同期させて左目と右目それぞれに交互にシャッターが下りるという「シャッター式」のメガネを通して見る方法や、左から見た場合と右から見た場合とで異なる画像が表示できる特殊なディスプレイ機器を使う方法などもありますが、省略します。要は、「左目と右目に、同時に異なった画像を提示する」ことが、立体視のキモということです。

3.このツールだけですぐに立体視動画ができるのか?

いいえ。このツールは、MMDのカメラ用のモーションデータをCSV方式で変換するだけです。
このツール以外に、MMDのモーションデータとCSV形式との相互変換を行なう、「VMD Converter」が必要です。また、変換後のカメラ用モーションデータをMMDに戻して(インポートして)、動画を作成(左目用・右目用の2つ)したうえで、左目用・右目用の2つの動画から、1つの立体視用動画を生成するアプリケーション(例えば、「むっちゃんのステレオワールド」さん配布の「ステレオムービーメーカー」)を使って立体視動画を作ることになります。

<立体視動画作成・実際の流れ(例)>
MMDでオリジナル動画作成 → カメラワークをVMD形式でエクスポート → VMD ConverterでCSV形式に変換 → このツールで立体視カメラワークを作成 → VMD ConverterでVMD形式に変換 → MMDに「左目用カメラワーク」をインポート → MMDで左目用動画を作成 → MMDに「右目用カメラワーク」をインポート → MMDで右目用動画を作成 → ステレオムービーメーカーで2つの動画を合成して立体視動画を作成

4.具体的な作業の手順は?

以下、MMDのver4.0をベースに説明します。
(1)まず、立体視させたいMMDの動画を、完全な状態で開いてください。
(2)「モデル操作」パネルのドロップダウンボックスで「カメラ・証明・アクセサリ」を選択し、フレーム操作パネルに「カメラ」を表示させます。
(3)フレーム操作パネルのノードが選択されていない状態で、メニューから「フレーム編集→カメラフレームすべて選択」を選び、カメラフレームのみ全選択の状態にします。
(4)メニューから「ファイル→モーションデータ保存」を選び、カメラフレームをVMD形式で保存します。
(5)出力されたVMDファイルを「VMD Converter」のアイコンにドラッグ&ドロップし、同名のCVSファイルに変換します。
(6)Excel2000以降で、本ツール「shift_camera.xls」を開きます。開く際にマクロの有効・無効のダイアログが出た場合は「有効にする」を選択します。
(7)(5)で作成したCVSファイルを、(6)で起動したExcelで開きます。
(8)Excelのメニューから、「ツール→マクロ→マクロ」を選択し、マクロ一覧を表示します。
(9)「Camera_Shift」というマクロを選択し、実行します。実行時に「Binocular Paralax」という値が設定できますが、これは「両眼視差」のことです。適切な設定値については後述します。
(10)(5)のCVSファイルと同じ位置に、(5)のCVSファイル名に「_l」「_r」がついた2つのCVSファイルが作成されます。それぞれ「左目用」「右目用」です。
(11)(10)の2つのCVSファイルをそれぞれVMD Converterにドラッグ&ドロップし、VMDファイルに変換します。
(12)MMDに戻ります。フレーム選択パネルのフレーム位置が「0(ゼロ)」になっていることと、「モデル操作」パネルのドロップダウンボックスで「カメラ・証明・アクセサリ」が選択されていることを確認してください。
(13)メニューから「ファイル→モーションデータ読込」を選び、(11)で作成した2つのVMDファイルのうち、「_l」がついているほうを読みこみます。
(14)動画を作成してください。これが左目用の動画になります。
(15)同様に、「_r」がついているほうのモーションデータを、フレーム0の位置で読みこみ、動画を作成します。これが右目用の動画になります。
(16)生成された2つの動画を、「ステレオムービーメーカー」等を使用して合成します。(詳細は使用するアプリケーション側で確認してください)

※注意:左目用・右目用のカメラワークを読み込んだ状態でMMDファイルを保存すると、本来の位置から視点がズレてしまいます。誤ってこのような状態で保存してしまった場合、上記(4)で作成したオリジナルのVMDファイルを読み込んで、カメラワークを元に戻してください。

5.視差はどのくらいの値が適切?

複数のキャラクターを同時に映しているような、引いたカメラワークが中心の場合は、デフォルトの1.0~1.2くらいが適切です。一方、キャラクターが1人の場合など、寄ったカメラワークが中心の場合は、0.7~0.9あたりで調整してみてください。視差が小さすぎると立体感に乏しくなり、大きすぎると目がついていけず立体的に見えなくなります。

6.技術的なことについて

このマクロが行なっていることは、MMDのワールド座標系で、(x, y, z) = (±両眼視差/2, 0, 0) という「視差ベクトル」を、カメラワークノードごとに設定された「カメラの回転」と同じ方向に回転させて、そのカメラワークノードに設定された「カメラ位置座標」に加算しているだけです。ノード間の補完等については一切いじっていません。また、回転に使っている計算式は以下のとおりです。

 x軸のシフト量 = cosy * cosz * (±両眼視差/2)
 y軸のシフト量 = -sinz * cosx * (±両眼視差/2)
 z軸のシフト量 = siny * cosx * (±両眼視差/2)


 x軸のシフト量 = ( cosy * cosz + sinx * siny * sinz) * (±両眼視差/2)
 y軸のシフト量 = (-sinz * cosx) * (±両眼視差/2)
 z軸のシフト量 = ( siny * cosz - sinx * cosy * sinz) * (±両眼視差/2)

(ここで、式の右側にあるx,y,zはMMD座標系におけるx,y,zそれぞれの「回転パラメータ」を指します。)

※randolfさんのアドバイスを参考に、計算式を修正しました。


7.その他

アナグリフにせよ裸眼立体視にせよ、立体視動画は想像以上にビットレートを食いまくるので、600~1000kbpsの枠内に収めるのは相当苦労します。

既知の問題として、ノード間補間がないため、中間ノードなくカメラを90度以上回転させるようなシーンではうまく変換ができません。
そういった恐れのあるシーンを検出するために、変換時に生成されるExcelファイルの一番右の「元ファイル名_Calc」というシートの2列め「Caution」の列を見てください。ここに数字が表示されている場合は、当該ノードと直前のノードとの間の回転量が大きいことを示しています。数字が大きいほど回転量が大きいことになります。
このような場合、元のMMDのカメラワークを編集して、大回転モーションの途中にいくつかダミーのノードを打って回転を「刻む」と変換がうまくいきます。

8.関連グッズ


↑3Dメガネを自作できるセロファン紙と、3Dメガネのついた本

http://www.jc.u-aizu.ac.jp/10/opc03_cgs.html
↑3Dメガネの作りかた(型紙あり)
posted by だんちゃん at 00:11| Comment(7) | TrackBack(0) | MMDで立体視 | 更新情報をチェックする

2009年05月09日

ランダムドットステレオグラムも試してみた。

ラジP杯のおかげで、ふだんは超マイナーな立体視動画が、予想外に見ていただけているので、せっかくなので超が3つくらいつきそうなマニアックな立体視動画も作ってみた。ちょっとネタっぽいけど。



昔はやった、ランダムドットステレオグラム。
平行法でドットを見つめていると、ちびミクのシルエットが見えてくるはず。(ちゃんとラジステップWhite Letterを踊っている)


↑元になっている動画はこんな感じ。
 128×96のサイズでランダムドット・ステレオグラムを作って、1ドットが4×4のサイズになるよう拡大して制作している。

posted by だんちゃん at 01:26| Comment(0) | TrackBack(0) | MMDで立体視 | 更新情報をチェックする

2009年05月11日

新3D変換エンジンで「Go My Way!!」を立体視

MMDの動画を立体視変換する自作ツール「Camera Shift」、計算式を修正して変換エンジンが新しくなり計算精度が上がったはずなので、その効果を確認すべく、新しい立体視動画を制作してみた。




↑上がZoomeで下がニコニコ。Zoomeのほうが画質がいいはず。

今回は、Webにて公開されているあずP様の「Go My Way!!」のモーションを使わせていただいた。
カメラワークまで含めてMMDモーションを公開されている方は非常に少なく、とてもありがたかった。

自分も別の動画でカメラワークを作ってみようとしたけど、2時間くらい格闘してみて自分の才能のなさに気づいて諦めた。カメラは空中を自由に動き、自由に回転するうえ、1人称視点でしか確認できないので、よほどの「空間把握脳」をもっていないと何やってるか分からなくなる。「VistaPro」の空撮カメラのように、

・3人称視点で動きを確認できて(つまり、プレビューがカメラと連動していないときは「カメラが動いているのが見える」ようにする)、
・フレームではなくワールド座標にノードを打てて(ノード間のフレーム数は「カメラ移動速度」で動的に決まる)、
・ベジェ曲線で動きを指定できて(カクカク動かないようにして、自然さを増す)、
・ロール角は自動計算(どのくらい傾けるかを全体パラメータとして指定するだけ)

みたいな編集ができたらいいんだけどなあ。

ステージについては、アノマロ氏が先日公開された、新しいステージデータを使わせていただいた。
標準でついているステージデータと比べると、ステージに寄って映している限り、細かいパーツが少なくてビットレートが稼げることと、それでいて高さ方向に複雑な形状をしているので、カメラを動かしたときのステージ全体の立体感がとても際立つという、非常に立体視向けの構造をしたステージだと思う。

ちなみに、立体視動画を作るときにいつも悩むのが、立体視のスタイルをどれにするか、ということ。
個人的に一番好きなのは、広い視野で楽しめる赤青アナグリフだけど、メガネを持っていないと楽しめない。裸眼立体視では、自分は実は交差法があまりできず、平行法のほうがずっと好きだけど、平行法は大画面にできないし、交差法しかできないという人も多そうだ。さらにいえば、アナグリフについては、100円ショップとかでクリアブルーの下敷きを見つけるのはけっこう難易度が高いので、青の代わりに入手しやすいクリアグリーンで代用できる「赤緑アナグリフ」も作っておきたいなあ、とも思ったりする。
でも、同じ素材で4つも動画を上げるのはかっこ悪いなあ、とも思ったり。

ということで、今回は上記4つの立体視をすべてまとめてみることにした。
ビットレート的には、ニコニコのほうはH264で560kbps程度(音声が40kで上限600kぎりぎり)。それでもビットレートが足りないので、15fpsにしている。同じ条件でZoomeでは1400kbpsにしてあるけど、それでも「くっきり」というところまではいかない。つくづく、立体視動画はビットレート食いだと思う。

で、立体視動画そのものについての印象だけど、やっぱり立体感が向上している気がする。
しかも今回は黄色い部分が多いリン・レンがいるために、赤青のカラーアナグリフがカラフルになって、かなりいい感じ。


p.s.味のある歌謡曲のメロディラインで定評のあった三木たかし氏が亡くなったそうです。ご冥福をお祈りします。
以下は過去の関連自作動画。


posted by だんちゃん at 20:54| Comment(0) | TrackBack(0) | MMDで立体視 | 更新情報をチェックする

2009年05月19日

訛音ルカ(なまりね・るか)

ここしばらく、巡音ルカの英語DBを使って、アグネス・チャン、カルロス・トシキといった歌手の曲を日本語で歌わせる試みをやってきた。


0

そして、この、「巡音ルカの英語DBでなまった日本語」というキャラに、先日、初音ミクみくさんで「訛音ルカ」という仮称をつけていただいた。

巡音ルカ(英語データDB)とアグネス・チャンとの親和性が高すぐる件

その後しばらく様子を見させていただいていたところ、この「訛音ルカ」という呼称を、自分以外の人も少しずつ使い始めていることを発見した。

http://d.hatena.ne.jp/tessin/20090512/1242141301
訛音ルカの可能性 - TEA JUNCTION next

http://www.nicovideo.jp/tag/%E8%A8%9B%E9%9F%B3%E3%83%AB%E3%82%AB
ニコニコ動画「訛音ルカ」タグ

あ、なんかいいな。と、ちょっと嬉しくなった。

というわけで、別に自分に決める権限があるわけでもなんでもないけど、とりあえず自分は、「巡音ルカが英語DBで日本語を歌う、というキャラ」を「訛音ルカ」と呼ぶことに決めた。(なので、自分が投稿した動画の「訛音ルカ」タグはロックしてみた)


以下、自分なりの訛音ルカについての覚え書き。
-----------------------------------
1.訛音ルカとは?

 ボーカロイド2「巡音ルカ」の英語DBを使って日本語の曲を歌わせた(日本語の発音をさせた)ときの、独特の訛りのある歌唱からイメージされるキャラクターのこと(仮称)。
 「なまりね・るか」と読む。
 現状、それ以上の設定はない(未定)。

http://www.nicovideo.jp/tag/%E8%A8%9B%E9%9F%B3%E3%83%AB%E3%82%AB
ニコニコ動画「訛音ルカ」タグ

2.訛音ルカの導入・使用方法

(1)VOCALOID2 CV03 巡音ルカを導入する。
(2)「訛音ルカ・ユーザー辞書」をインストールする。

 訛音ルカ・ユーザー辞書はこちら

 インストール方法については、こちらの記事を参照。ちなみにこの「訛音ルカ・ユーザー辞書」は、クリプトン謹製のユーザー辞書に、日本語発音のために必要なカナを一部追加したもの。

(3)VOCALOID Editorで巡音ルカ英語DB(Luka_ENG)を選択し、歌詞をかな1文字ごとに英単語扱いでスペースを入れて入力していく。

 例えば「あなたがすき」という歌詞なら、歌詞入力エディタで「あ な た が す き」と入れる。文字は全角かなでスペースは半角なのでちょっと面倒だが、本来英語を入力するためのものなので仕方がない。もちろん、音符を1つずつ選択して1文字ずつ入れてもOK。
 「しゃ」「ちゃ」のような拗音は、大きなカナ+小さなカナを1かたまりで扱う。(「しゃ しゅ しょ」→○、「し ゃ し ゅ し ょ」→×)
 伸ばす音は「ー」ではなくて伸ばすべき母音を入力する。(「す う ぱ あ」→○、「す ー ぱ ー」→×)
 なお、「ん」については、ユーザー辞書の制約により登録されていないので、「ん」を入れたところは「うー」というデフォルト発音になる。「ん」については個別に発音記号をいじって(音符を選択して[ALT] + [↓])、発音記号「n」を入れることが必要。


(3)-b (2009/5/21追加)
 上記のやりかたよりも簡単で汎用性の高いやりかた。
 ルカ日本語DB(Luka_JPN)で普通にひらがなで入力して、その後でシンガー設定を「Luka_ENG」に切り替え、メニューから「歌詞」→「発音記号変換」を選択すると、トラック一括で訛音ルカに変換される
 このやり方なら、既存の日本語ボカロ用のVSQを簡単に訛音ルカに流用可能
 (訛音ルカユーザー辞書がアクティブになっていることが必要。)



3.訛音ルカ Tips

(1)基本的にはアグネス・チャンみたいなアジアン・イングリッシュ訛りな歌い方になる。
(2)使える音域は結構広いが、低いほうはかなり中性的な声質になり、高いほうは軽い感じの声質になる。
(3)GENとかBRIはあえていじる必要はないと思う。いじるとプチノイズが出やすくなるし、デフォルトのままが安定。
(4)発声が遅れたりあいまいになったり、いろいろ大変なことになるが、それもまた味わい。
(5)ルカの英語DBは日本語DBより素直な印象なので、訛音ルカにはすっぴん調教が結構通用する。
(6)かなり声が小さく、繊細な声質なので、うまく音圧を上げるような加工が必要。
(7)英語と日本語の混ざったような曲には、実は意外と使える実力派。

-----------------------------------


最後に、上記Tipsの3-(2)にあるように、訛音ルカの低いほうの音域がかなり中性的だということのサンプルとして、先日アップした「君は1000%」のオクターブ下バージョンを制作してみた。



同じ音源で1オクターブ変えただけ(GENなどのパラメータはいじってない)で、これだけ変わるのはある意味ちょっと驚き。

posted by だんちゃん at 23:25| Comment(5) | TrackBack(0) | 英語ルカ・英語ボカロ | 更新情報をチェックする

2009年05月26日

ラジP杯、「作曲者枠」で第2位をいただきました。

動画へのコメントで知ったのですが、「ラジP杯」にかこつけてUPした動画の1つを、「White Letter」の作者であるGonGoss様より「作曲者枠」で2位にランクしていただきました。


↑こちらの動画を・・・

http://gondtm.blog111.fc2.com/blog-entry-315.html
ラジP杯表彰会場(副)-卓上音楽でアレコレ・。゚

↑こちらで取り上げていただきました。

ごく一部の人しか喜ばないようなマニアックな趣味動画のつもりだったので、こんな形で取り上げていただけたのは望外の嬉しいできごとでした。
ありがとうございました。

posted by だんちゃん at 00:39| Comment(0) | TrackBack(0) | MMDで立体視 | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。