2021/03/09

MMD-VR180 HOWTO Chap.0 概要

MMD-VR180 HOWTO

2024/12/31 TubeP 三版

この解説は、うp主ことTubePのMMDでのVR180作成手順を記録しておくものです。
もしどこかの誰かの役に立ったら嬉しいです。
お約束ですが,無保証です。実行はあくまでも自己責任でお願いします。

2021/03/09(初音ミクさんの日だw) TubeP拝

【目次】

0. 概要

0.1. 目的


本解説の趣旨は、第1にはうp主の備忘録、第2には様々な先人の皆様への感謝としての拙い情報提供です。この解説がMMDのVR180動画の増加に繋がれば幸いです。

目標は、すでに2D動画を作ったことがある方が、速やかにVR180動画も作れるようにすることです。元の2D動画の雰囲気をできるだけそのまま移す方法を示しています。(うp主は2D動画のストックがたくさんあって、これを自分でも早くVR180で見たいのです。他の方のMMDな2D動画のVRもいっぱい見たいのです。特にかわいくてほんのりエッチなのすごく見たいです)

0.2. 必要なソフトウェア


MikuMikuDanceで2D動画を普通に作成して投稿出来る環境と技量があることを前提とします。実際に必要なときにそれぞれ説明しますが、感謝の意も込めてここに列挙させて頂きます。

樋口優様の MikuMikuDance
舞力介入P様の MMEffect
極北P様の PMXエディタ(今回直接は使いませんがうp主的に謝意を)

蒼真アヤ様の解説動画(うp主がVR180を作るきっかけになった神動画)

ほうりき様の EquirectangularX.x(MMEがそのまま使える!貴方様も神ですか!)
Tark様の UWSC スクリプト(凄く勉強になりました)
あきら様の VMDファイルエディタ(カメラ移設自動化の決め手になりました)
Windows操作自動化ツールUWSC(本家サイトが‥vectorのリンクで代替中)
Google VR180 Creator (YouTubeへの投稿時に必要です)
nef様のMMDM (MMD Macro)(物理焼き込みに利用します)
無敵エンコーダー ffmpeg(昔からお世話になってます)
梅澤 威志様の ロスレスエンコーダー UT codec(直接登場しませんが導入済の前提) 
 

0.3. 必要なハードウェア


MikuMikuDanceの2D動画を作成できる環境はすでにあるものとします。
それに加えて、生成時に(うp主の趣味で)中間ファイルを一時的に大量に作る為、その一時的な置き場として1TB程度必要です。HDDでもいいですが、SSDだと少し速いです。作業が終われば中間ファイルは全て消せます。(ちなみに最終生成物のファイルサイズの目安は、ざっくりですが、4分程度の5K/60fps動画mp4だと1GBぐらいになります)

0.4. 必要な時間


元2D動画が視野角固定で動かしているようなカメラワークなら、慣れてくれば、編集に最小限必要な時間は30分程度です。
しかし、そのあとのレンダリングとエンコーディングには時間がかかります。i7-9750とNvidia RTX2060装備のPCで、下の30秒動画で2時間弱かかっています。3分ぐらいの動画だとその6倍ぐらいかかります。10時間ぐらいPCは延々と発熱し続けますw
特に前半のレンダリング中はwindows自動化ツールのためにデスクトップ環境を操作することも出来ないです。後半のエンコーディングに入れば操作そのものは出来る様になりますが、裏でCPUがぶんぶん回ってるのであまり快適ではありません。
お奨めは,寝る前にセットして起きるまで放置、ですw

0.5. うp主からの提供ファイル


(1) VR180視点f16.pmx
(2) Tark-tbp12-bones.uws
(3) 315-000-VR180-uws.ini
(4) 315-000-VR180-bat.bat
(5) エンコーディング時のブレンディング用マスク画像一式(8枚のpng)
(6) MMDMでの物理焼込用マクロファイル一式
まとめてBowlRollにおいてあります。
どこでどう使うかは、1.節以降の解説をご覧ください。
 

0.6. サンプル


VR180のstreamingは現在のところYouTubeでしか見られないので、YouTubeにサンプルを置いてます。これらをどのように作成していくかを次節以降で解説しています。

その1:元2D動画
皆様が普通に2Dで製作している動画だと思って下さい。今回はMikuMikuDanceに敬意を表して、きしめんをベースにしてます(皆様持ってられますしw)。

その2:カメラワーク移設2D動画
VMDファイルエディタのプラグインと(1)のVR180視点f15.pmxを利用して、全く同一のカメラワークをカメラ操作無しで実現します。その1と寸分たがわないのでつまらないですねw(同一にすることが目的ですから)

その3:VR180展開動画
編集後2時間待って得たVR180動画の展開版です。
左右5本ずつ動画が継ぎ目の見えない形で貼り合わされているのが分かると思います。

その4:VR180動画
最終的な成果です。元2D動画の雰囲気がよく残っていると思います。
YouTubeでの本解説の公式リンクにしてます。

おまけ1:VR135展開動画
長時間のレンダリング&エンコーディングが待てないという場合は、周縁部を見捨ててよければ作成までの時間を大幅に短縮できます。(必要なAVIは2本のみでエンコーディングも1回だけでOK)

おまけ2:VR135動画
おまけ1をVR180でストリーミングしてみた例です。中央しか見ないならこれで結構十分かもしれません。

おまけ3:デフォルト距離でのVR180化
上記のその4:VR完成では、没入感を出すために、編集過程でカメラからモデルまでの距離を一応変更していました。もしそれすらしなかったらどうなるか、という例がこちらです。これの場合、編集での調整作業が発生しないので、ファイル変換してドロップしてという数分程度の作業で済みます。

0.7. その他


この解説は、お約束の無責任無保証です。法律と良識に基づいてお使い下さい。
人々の対立を煽るような目的への利用はご遠慮ください。
貼ってある図やBowlRollに置いてあるファイルについて、再配布・改変・改変再配布・個人利用から商用利用まで、私から制限をかけることはありません。ただし、元がある場合は元の規約に準じてご利用ください。
もし、ツリー登録、リンクをして下さるなら、
ニコ  im10708783
にお願いします。本ページへのリンクとして、
というURLも作ってみました。
 

それでは、いよいよ解説開始です(なんか文章長い‥)。
1.節の カメラワーク移設 に進んでください。


0.8. 改訂履歴


2024/12/31 三版 Youtube 動画切替
2021/03/18 二版 VR180視点f16.pmx (「★見回し」ボーン)の追加
2021/03/09 初版

2021/03/08

MMD-VR180 HOWTO Chap.4 VR180カメラワーク調整


4. VR180カメラワーク調整


ここまでは EquirectangularX.x を導入しない状態でできるだけ準備してきました。
ここでは EquirectangularX.x を導入して、VR180ならではのカメラワークの微調整を行います。
MikuMikuDanceを起動し、325-303.pmm を読み込んだ状態で作業を開始します。


4.1. EquirectangularX.x の導入


サイト EquirectangularX.x (
ほうりき様)
https://bowlroll.net/file/166172
からEquirectangularX.xをDLして、アクセサリとしてMikuMikuDanceに読み込みます。

1. カメラ編集モードにします。第0フレームで作業します。
2. EquirectangularX.x の Rz を 90.0 に変更して登録します。
3. メニューから、表示⇒出力サイズを変更します。
  2K規格なら幅・高さとも 1024 です。
  4K規格なら幅・高さとも 2048 です。
  5K規格なら幅・高さとも 2880 です。
  作業としてはどれでも同じです。
  テストをしてる間は2Kがお手軽でよいでしょう(画は荒いですが)。
4. カメラ操作で、視野角を一旦125°にして登録します。
5. カメラ操作で、視野角の数値表示のところに135と無理矢理入力してエンターキーを押してから「登録」します。
6. 念のため、フレーム操作で数フレーム前後させてから第0フレームに戻ってください。視野角が135°になっていれば成功です。

[メモ] 125°でもいいのですが、この僅か10°(±5°ずつ)が、貼り合わせの継ぎ目境界をより視野の端に追いやるので、結構効くと感じています。レンダリング範囲が広くなって処理が遅くなるという副作用がありますが、どうせバッチ処理なので、うp主は気にしていませんwちなみに135°という値は EquirectangularX.x で対応できる上限値のようです。135°以上にすると画がおかしくなり始めます。あと、後のブレンディングのマスク処理で、マスク画像を135°に合わせてますので、135°以外の値では結果が予期していないものになります。

この状態が基本形になります。325-304preview1.pmm として保存しておきましょう。

この状態ですでに完成しているので、再生して不満がなければ、5.節のレンダリングに進んで構いません。

ちなみに、325-304preview1については、再生してみるとステージのないところが見えてしまって、そこに空中を漂う埃が黒く映ってしまっています(下左図の左端一帯の黒い点群)。そこで、MotionBlurエフェクトでついでに配られている黒背景.xをアクセサリリストのトップに導入して消しておきました。そうした修正をしたものを325-304preview2.pmmとします。


4.2. 調整


経験上、元の2D動画を視野角35°ぐらいで調整してあると、3.1.節の直変換だけで再生してみるとやや迫力不足(モデルさんが遠い)感じです。これを調整します。

調整中の映像確認は、モデル編集モードで「VR180視点f16」を選択し、「作業用視点」ボーンに追従しながら見るようにしてください(視点がボーン追従していれば出来上がりと幾何的には同じ画です。なお「作業用視点」ボーンは確認専用なのでこのボーンに編集点を打ってはいけません)。ただ、pmmの構造が複雑になってなってくると、ボーン追従が更新されなくなってしまうこともあるようです。そのときは、値を変えたらカメラ編集モードで確認し、すぐにモデル編集モードに戻る、ということを繰り返しましょう。
カメラ編集モードで思わずカメラ操作を登録しないように!(レンダリング時に画が狂います)


4.2.1. 円軌道カメラワーク


注視点を適切に設定していれば、大きさの調整=半径の変更、となります。
「VR180視点f16」モデルの「★アーム長-」ボーンのZ値の調整で一括変更できます。

フレーム操作で「VR180視点f16」モデルの「★アーム長-」ボーンを選択し、選択範囲を0から9999フレームぐらいにして範囲選択したあと、メニューから編集⇒ボーンフレーム位置角度補正でボーン位置のZ値を0.5倍にすれば一括変換できます。距離を削りすぎた場合は、同じ要領で1.2倍するとかいろいろ調整楽しんでください。

おおむねいい感じになったら、あとは、各時刻で「★アーム長-」ボーンのZ値を微調整していってください。

注視先がずれているような場合は、「★注視点」(と必要なら「★注視水平角」も)で調整し直しましょう。意図的に注視点からカメラを逸らすなら、「★見回し」で角度変更するのがいいかもしれません。それでも調整しきれない場合は、「▼移設カメラ」のX/Y/Z, Rx/Ry/Rzも使って構いません。(ただ予期しない動きになることが多いので大変です‥)


4.2.2. カメラ移設


2Dカメラを1.節から移設してきた場合は、なんとも言えません。元のカメラワークでカメラ中心位置が注視先になるようにしてあれば、大きさの調整≒▽距離(のZ値の変更)、と言えます。(配布されているカメラワークでこうなっていないものもたくさんありますので御注意)

カメラ中心位置が注視先になっているのなら、フレーム操作で「VR180視点f16」モデルの「▽距離」ボーンを選択し、選択範囲を0から9999フレームぐらいにして範囲選択したあと、メニューから編集⇒ボーンフレーム位置角度補正でボーン位置のZ値を適切な倍率にすれば一括変換できます。

325-304preview2.pmmでは、だいたいこの仮定が間違ってはいないので、一括変換で問題ないでしょう。1.1.5.節のようにボーン追従している場合は、同じ倍率を「▽移動follow」ボーンのZ値にも施します。

なお、カメラ中心位置が注視先でないような場合は、無理矢理でよければ、「▽距離」ボーンの位置Z値以外(位置X/Z, 回転Rx/Ry/Rz)も変更して構いません。(3.2.1.同様に「▼移設カメラ」で調整してもいいのですが、「▽距離」の編集点はカメラワークの切替になってるはずなので、その値を上書きしてしまうのが一番お手軽です)

あとは、さらに気に入るように、▽距離ボーンの値を適宜変更してください。

4.2.1. / 4.2.2. の調整が済んだら、325-304final.pmmとして保存しましょう。
カメラ操作登録(カメラ編集モードでの「カメラ」)が第0フレームにしかないことを再度確認してください。(うp主は最初のうち、思わずこれを何度もやってしまってデバッグに苦労しました)
これで1.節から3.節まで続いた編集作業は終了です。

ちなみに、325-304finalでは▽距離と▽距離followのZ値を0.5倍しただけで作業終了させています。
・その3 https://youtu.be/v7PFiQAdHOs (平面図)
・その4 https://youtu.be/tuvY3QAaXRI (VR)
・おまけ3 https://youtu.be/PHt7VUYg5-c (325-304preview2, 距離修正前)
です。その3の映像の中央部は、今MikuMikuDanceで見ているものとほぼ同じです(正確には左右の視差の分だけずれてますが)。おまけ3は距離の修正前です。その4では距離を半分にして対象に近づいていることになります。

次は5.節の レンダリングとエンコーディング で最後です。
まだ文章を読む気があるのなら、4.3.節も是非どうぞ。


4.3. Tips


ここからは、ま、どうでもいいことです。


4.3.1. 大きさの目安


本解説の方式に従うなら、EquirectangulerX.xの描画範囲は135°です。
カメラワークとしては、対象モデル(人型に限る)をこの独特の樽形状内に余裕もって納めるようにしておくのが最初のうちの目安です。
こうしておくと、手を突き出されてもだいたいギリギリセーフになることが多いです。
例えば、あにまさ式初音ミクVer.2で上下を均等に余らせる(中央がちょうどスカートの下端w)ような画を円軌道カメラワークで実現すると、円の中心(★注視点)の高さが9.60で、半径(★アーム長-)は-9.40です。

この状態でミクさんに左90°回ってもらって撮影すると、下の左になります。
このときのカメラ位置を緑の箱で可視化したのが下の右です。

この状態で「作業用視点」ボーンの回転角度をいじると、回りも確認できます。
緑の箱で示したカメラ位置でカメラを回す感覚です。
Rxを-45°にしてみたら下記のような画になってました。
袖がクリッピングに喰われてるか心配だったんですけど大丈夫そうですね。
円軌道の中心を肩の高さ程度に上げると、下の状態です。指先までレンダリングされてますね。半径を改めて調整しなくてもとりあえずOK。

この距離だとミクさんが結構近くて迫力を感じられます。ミクさんの手がカメラに届かないということは、こちらの手もミクサンの体には届かないw。でも、おそらくミクサンの手には届きます。(実際にVRデバイスでこれをやってる姿を他人に見られたら超恥ずかしいことでしょう‥)

これより近いと、手を伸ばせばミクサンの体に届く距離ということで、圧倒的な迫力になります。紳士的には最高!ですが、クリッピングに負ける可能性が飛躍的に高まることと、VRデバイス(とそれを見る人の立体認知能力)によっては近過ぎて立体視が難しくなります。


4.3.2. 常に中央にモデルを置くこと


2体以上の動画を作る場合、2D動画なら対象モデル達がフレームインしてれば特に問題ありませんが、VR180動画では配置に気を使うほうがよいです。
下記の例では、うp主の主観的には左はOK、右はあまりよくない例です。
うp主的考察としては、VRデバイスを被って空間的にものを見ているとき、一度に見れる範囲が左図ぐらいまでだからです。
とはいえ、ずっと左のような状態だと対象が遠くてVRで視聴する意味が薄れてしまいます。
解決策として、右のような感じの2Dカメラワーク区間では、時間を半分に区切って、前半はミクさんを中央寄りに、後半はすっとカメラを移動させてリンちゃんを中央寄りに据えたりすることで見易さに気を使ってます(下図参照)。VR180で中央がずっと空白というカメラワーク(上図左)が続くのは、かなり辛い感じの動画だとうp主は感じてます。


4.3.3. Working FloorがVR180では紳士的に無敵な件

もし、今回のうp主の記事がどこかの誰かの動画作成に貢献できているなら、うp主の希望はただ一点、できればWorking FloorなVR180動画作ってください、です(をぃ)。
うp主が理想とする動画は、(めいっぱい紳士な動画作るという欲望も否定しませんが)一見健全に見えてるけど、紳士なら気づくようなところに紳士さが埋め込まれてるような動画です。
作ってみれば実感してもらえると思うのですが、視野角135°の端(正面から端まで67.5°)というのは相当意識しないと目を向けない境界線です。しかし、VR180では当然、正面から90°まではレンダリングします。残り22.5°が紳士的に涅槃の領域だと悟りました。あとは下の図を見て察してください。点線が視野角135°の端です。これは4.3.1.の最後と同じカメラ配置です。ミクさんはVR的にかなり正面に大きく(手を伸ばせば顔に手が届くかもという程度に)迫っています。普通、そんなときに下とか見ませんよね。下に目を向ける(赤矢印)のは紳士だけw。

雑学が済んだところで、次の5.節の レンダリングとエンコーディング に移りましょう。









2021/03/05

MMD-VR180 HOWTO Chap.3 物理停止


3. 物理停止


MikuMikuDanceでは、実行ごとに物理シミュレーションの結果が異なります。例えば髪やスカートの挙動などです。こうした物体の挙動を EquirectangularX.x での複数回レンダリング中に同一になることを保証するために、あらかじめ物理演算の内容を保存し、再生時に保存した挙動によってのみレンダリングする(乱数等を用いない)ようにすることが本節の目的です。

[memo] 物理シミュレーションの結果を実行ごとに異ならないようにする方法もなくはないのですが、ここでは扱いません。止めておいたほうが(たぶん)スカートの破綻とか確実に見つけてつぶせるので嬉しいかなと。

物理停止の作業は、カメラワークと直接関係はしないので、本当はここで行う必要はありません。1.節より前でも、4.節より後でも構いません。次の4.節でVR180でのカメラワークを紳士の極限まで追求するには、今のうちに作業を行っておくのがよいと思います(笑)。
物理停止をすると、pmmファイルサイズが大きくなるので、MikuMikuDanceでpmmファイルを開くときや保存するときに時間がかかるようになります。注意してください。うp主の環境では、pmmファイルを開くのに2分以上かかることもよくあります。


3.1. MMDMの導入


感謝先 https://www.nicovideo.jp/watch/sm25422103
サイト https://dw.z5i.net/mmdm/ (nef様)
DLしたものを展開して使えるようにしておきます。
今回の動作確認は 0.0.2.6 版で行っています。


3.2. MMDM用スクリプトの導入


うp主の用意したMMDM用マクロ(「物理焼込」フォルダ)を、MMDMの macro フォルダの下に配置しておきます。(デフォルトで用意されている「sample」フォルダや「_hotkey」フォルダに並ぶ形にします)
成功すれば、MMDM起動時に、マクロメニューがこんな形に並ぶはずです。


3.3. 焼込実行


MikuMikuDanceとMMDMの両方を起動しておきます。
MikuMikuDanceに、325-302.ppmを読み込んでおきます。
MikuMikuDanceでは、メニューから「物理演算」⇒トレースモードを選択しておきます。
焼込実行の間は見た目は関係ないので、少しでも早く処理するために、メニューからMMEffect⇒エフェクト使用、をオフにしてMMEを停止してしておきましょう。

あとは、下記の作業を、物理を含んでいる全てのモデルそれぞれについて行います。
  1. MikuMikuDanceのモデル編集モードで物理を含むモデルを選択し、第0フレームに合わせたあと、メニューから「物理演算」⇒「物理影響ボーン選択」(フレーム操作ペインにて、当該ボーンが赤文字表示になるはず)
  2. MMDMでmacro⇒物理焼込⇒繰返・ボーン操作登録:**を選択
  3. 動画の長さに合わせたフレーム数を指定して実行
上記で、**に相当する部分には、毎フレーム/2フレーム毎/3フレーム毎/5フレーム毎、のいずれかを選んでください。
数字が小さいほど物理現象の正確な保存になります(たぶん)。
ただ、数字が小さいほど、登録フレーム数が増え、処理が遅くなります。
また、MikuMikuDanceには、登録できる編集点数の上限が600000個という制約があるので、数字が小さいと焼込途中で上限に達して焼込実行失敗という悲しい目に遭う可能性があります。
うp主の製作動画では、モデルが複数だったり、中には物理ボーンがてんこ盛りのモデルがあったりするので、3フレーム毎か5フレーム毎を使うことが多いです。

[メモ] 物理ボーンが50個あるようなモデルを3体使うと、1フレームで50x3=150点使います。6000フレームの映像(200秒=3分20秒)で毎フレーム打つと、150x6000=900000点になってこれだけでアウトです。そんなモデルあるのか、と思うかもしれませんが、意外にあるんですよねぇ。このような場合でも、3フレーム毎にしてしまえば、900000/3=300000点になって、何とかなる感じです(元からのモーションが使っている点数にもよりますが)。

髪やスカート等どこかで破綻が見つかったらパーツの配置などを見直して、焼込実行を再度実行してください。

最後に、メニューから「物理演算」⇒「演算しない」を選択して(MMEもエフェクトをオンにして)最初から最後まで通し再生し、物理が演算されてなくても、見た目上、物理が反映されているように見えることを確認しましょう。VR180では今のカメラ視野より広いところを撮影するので、その辺りにも破綻がないか確認しておいたほうがよいです(経験談)。

全ての確認が済んだら、325-303.pmm として保存します。保存には数分ぐらいかかると予想されます。忍耐強く待ってください。
これで3.節の内容は終了です。

次は 4.節 VR180カメラワーク調整 に進みます。


3.4. トラブルシューティング


稀に、上記の手順で物理停止すると、見た目がおかしくなるモデルがあります。物理など使って凝った形状生成していたりするとそうなることがあるようです。「物理演算」を「演算しない」にして再生すると見た目がおかしくなって、「物理演算」をするようにして再生すると見た目がまともになる場合がこれに該当します。
この場合は、使うモデルそれぞれで
1. 「物理演算」⇒「全ての物理ONフレーム選択」
2. 「物理演算」⇒「物理ON/OFFフレーム変換」
を行い、「×」とマークされている編集点を全て「◆」に入れ替えてください。
その後、「物理演算」を「トレースモード」(オン/オフモード、常に演算、でも構いません)で再生して挙動がおかしいモデルの部位を探し当てて、それについてだけ編集点を削除してください。
うまく削除できれば、「物理演算」を「トレースモード」で通し再生したときに挙動が正常に見えるようになると思います。この場合は、今後もトレースモードで再生するように指定した状態でpmmを保存しておいてください。

[メモ] 厳密には、この対処では複数回レンダリング時に物理シミュレーションの影響を受けるボーンが同じ挙動になることを保証できないのですが、経験上、おかしくなるような機構は乱数を用いていないので、トレースモードで同じ挙動になります。

ちなみにおにぎり道場式の大腿ボーンについての対処法は こちら にまとめました。



MMD-VR180 HOWTO Chap.2 2Dカメラワーク作成


2. 2Dカメラワーク作成


1.節では、元になるMMDからのカメラワーク移設のための準備を行いました。
2.節では、カメラワークを移設したうえで自由なカメラワークを作成する方法を説明します。なお、元になるカメラワークがない場合は、本節の内容からスタートすれば問題ありません。


2.1. カメラワーク構成の注意


2D動画と同じような感じでVR180にてカメラワークを作ると、HMD視聴時にVR酔いする可能性が高いです。VR酔いする原因は主にカメラの回転です。MikuMikuDanceでのカメラ軸で説明すると、危険な順は次の通り。
1. Z軸回転(水平を狂わすような回転)
2. X軸回転(見下ろす・見上げるような回転)
3. Y軸回転(左右を見回すような回転)
特にZ軸回転は危険です。Z軸+X軸回転を同時に行うと、うp主だと数秒程度で致死量です(弱い‥)。逆に、1秒程度までならVR180体験でのいいアクセントになります。

[メモ] なお、視聴時に椅子に座ってじっとしていればVR酔いはある程度抑えられます。首を振るにしてもX軸Y軸ならなんとかなります。Z軸に首を振ると(弱い人は)一気に酔います。どうでもいいかもしれませんが、酔いそうになったら、首を真っすぐにして、片目を瞑れば多少マシになります。HMD外すのが一番ですけどね。
私が大いに参考にさせていただいたほうりき様の補助ファイル群では、意図的にZ軸X軸回転操作しないようにしてあります。私の初期のVR180動画でもそれに従って、カメラ回転はY軸回転のみに限定していました。ただ、慣れてくるとだんだん物足りなくなるのも人の世の常です。そういう経緯に基づいているので、ここで紹介する方法は、ほうりき様の補助ファイル群を使う状態でさらに望めばZ軸X軸回転もできるようにします。このついでに、1.節からのカメラワークの移設もできるようにしています。
なんかごちゃごちゃしてますが、要するに、うp主のやりたいこと全部詰め込んだらものすごいツギハギになったってことです。


2.2. カメラワーク用pmxファイルの導入


本節の操作は、ほうりき様の EquirectangulerX.x の利用に向かっての準備です。
全て、MikuMikuDance上での操作です。あらかじめ、2D動画として構成済みのプロジェクト(pmm)があるとします。
ここまでの例で言えば、325-301.pmmをMikuMikuDanceで読み込んだ状態でここからの作業を開始します。

カメラワークがついている場合(1.節から来た場合)
カメラ操作を全フレームに渡って全て削除してください。

VR180視点f16.pmx を導入
VR180視点ft5.pmxはほうりき様の「視点ボーンアーム付き_EquiFX向けカメラ回転用.pmx」をうp主が小変更したものです。これをMikuMikuDanceで読み込みます。
作業が終わったとき、モデル操作のプルダウンメニューの最後が「VR180視点f16」になっていることを確認してください。(上のほうに他モデル等が並んでいるのは構いません)
※図ではf15になっていますが、f15でもf16でも説明は同じです。


2.3. カメラ初期設定


カメラ編集モードにします。
視点の「追従」をオンにして、「ボーン」にチェックを入れます。

カメラ操作において、第0フレームで、カメラパラメータを全て0として登録します。通常はカメラ中心Yが10.0、距離が45.0にデフォルト設定されていると思いますが、これらも0にしてください。

さらに、カメラ操作において、「パース」オン、ボーン追従を「VR180視点f16」の「作業用視点」にして登録してください。視野角はとりあえず好みの値で構いません。

作業が済んだらこんな感じの編集画面になっているはずです。
※図ではf15になっていますが、f15でもf16でも説明は同じです。

視野角について、新規作成の場合、うp主は30°から45°ぐらいをよく使います。1.節から来て元からのpmmにカメラワークがついていた場合は、視野角は固定値にしてあったでしょうから、その値をそのままにしておきましょう。325-301.pmmでは35°固定にしています。

これ以降、最後まで第0フレーム以外で編集点があってはいけません。
全てのカメラワークの動きは2.2.節で導入した「VR180視点f16.pmx」が担います。

参考までに、VR180視点f16.pmxの中のボーン構造は以下のようになっています。このボーン構造によって、カメラ操作をモデル操作に完全に移し替えています。


2.4. カメラワークの移設


ここの作業は、1.節でカメラモーションファイル(vmd)を作成した人のみ対象です。
そうでない場合は読み飛ばしてください。

MikuMikuDanceで、モデル編集モードにして、「VR180視点f16」モデルを選択しておきます。
第0フレームで作業することを忘れないように。
この状態で、1.節で作成した vmd ファイルを順不同でドロップします。(ボーン追従がない場合はvmdファイルは1つだけ、325-301.pmmのようにボーン追従がある場合はvmdファイルは4つあるはずです)
成功すれば、各ボーンに編集点が赤く表れるはずです。

【ボーン追従が含まれている場合のみの作業】
1.2.節でのメモをもとに、「VR180視点f16」の外部親を設定します。該当するフレームで、「VR180視点f16」モデルの「▽移動」ボーンに対して親設定を行います。325-301.pmmの例では、ボーン追従開始フレームの第300フレームと、通常復帰フレームの第409フレームで親設定を行います。
VR180視点f16モデル「▽移動」ボーンの親設定:300フレームと409フレーム

全ての作業が終了したら、カメラ編集モードにして再生してみてください。
カメラに編集点がないのに、元のpmmと全く同じ映像が確認できるはずです(感動‥)。


2.5. 2Dカメラワーク調整


カメラワークを1.節から持ち込んできているかどうかに基づいて、ここでの調整方法を変えたほうがよいと思います。なお、ここではまだ2Dでのカメラワークです。(視野角は一定値を保つようにしてください)

方法1:円軌道カメラワーク(新規作成)
カメラワークを1.節から持ち込んできていない場合の推奨方法です。
慣れてないうちは、ほうりき様の提案のように、円軌道だけで制御するのが見やすくてよいと思います。
・「VR180視点f16」モデルにおいて、4つのボーンで制御します。
 ⇒★注視点:カメラ中心の位置X/Y/Zを注視点にしましょう。
 ⇒★注視水平角:注視方向になります。
 ⇒★アーム長Z-:半径になります。(Zの負値で指定。X,Yは0のまま!)
 ⇒★見回し:カメラの最後の方向を調整します。(回転X/Y/Zで指定)


最後の「★見回し」ボーンは、三脚をそこにおいてその上に載せたカメラの向きを変えるイメージで操作するといいでしょう。特に見上げや見下ろしに便利だと思います。
※2021/03/18の改定でうp主的に便利そうだったので追加しました。

わかりにくければ、「可視化」モーフもつけてあるので参考にしてください。一時的に視点の「追従」をオフにして「ボーン」のチェック外すと可視化した構造を見ることができるでしょう。下図が「可視化」した状態です。緑の箱がカメラを、その中の赤箱が右目カメラ、青箱が左目カメラに相当します。水色の棒がアームに相当して、黄色い小球が注視点を表しています。
・外部親をつけることもできます。対象モデルの動きが激しくないのなら、「★注視点」ボーンの外部親を注視対象モデルの センターボーンにすることが一案です。例えば、 https://youtu.be/ULWMTE1ul5s の59秒目以降と1:56秒以降の数秒がその一例です。(
さらに根本側の「▽移動」ボーンで外部親設定してもよいです。この場合は、「▽」「▼」で始まる名前がついたボーンの影響も受けます)
・見上げや見下ろし等の斜め方向カメラワーク(円軌道そのものを傾けるようなカメラワーク)はしないほうがいいと思います。単純に注視点を上下させ(円軌道の水平を保ったまま上下だけさせ)、VR視聴者側が自分で見上げる・見下ろすよう促すほうが自然な感じです。どうしても斜め方向の角度をつけたい場合は、円軌道カメラワークの外の「▼移設カメラ」ボーンで行うのがいいでしょう。
 
方法2:カメラワーク移設からの調整
1.節で調整済みのはずなので、ここで調整することはないはずです。どうしても変更を加えたい場合は、「▼移設カメラ」ボーンか、「▽距離」ボーンの値を変更するのがよいでしょう。
[メモ] カメラワーク移設からの調整時に円軌道カメラワークを(重ねて)使ってももいいのですが、2.3.節のボーン構造を空間的に理解できていないと何が起こっているのか把握することが難しいのでお勧めしません。挑戦するにしても相当慣れてからにしましょう。
 
2Dでのカメラワークが決まったら、325-302.pmm として保存しておきましょう。
これで2D動画としてできることは済みました。
2.節の作業は終了です。

次は3.節で 物理停止 の作業をします。


 




2021/03/04

MMD-VR180 HOWTO Chap.1 カメラワーク移設

1. VR180用カメラワーク移設


元になるMMDがある場合、そのカメラワークをVR180に移すことが可能です。
そのための手順を本節で示します。
サンプルはMikuMikuDanceに標準添付の「サンプル(きしめん).pmm」を少しだけ弄ったもので示します。
VR180のために新規にpmmを作る場合は、本節の内容を読み飛ばして構いません。 
[メモ] MMDでは、カメラ操作と物体操作とはいろいろ概念が違います。本来ならカメラワークはカメラ操作の中で行って完結すべきだと思うのですが、今回使わせていただく EquirectanglerX.x(v1.1) とその補助ファイルの組み合わせにおいて、さらにカメラワークを組み込むのは困難そうでした(=うp主にそこまでの技量がなかった)。そこで、その外側に無理矢理カメラワークと等価なモデル操作を外部親を用いて実現してしまえ、というのが今回の趣旨です。うん、説明が下手で申し訳ない。


 1.1. 元pmmでのカメラワーク変更


VR180での最終的なカメラワーク調整は後で行うことができます。しかし、使い慣れた通常カメラでできるだけカメラワークを整えておいたほうが、最終的なカメラワーク調整が楽です。
下記の方針に従ってカメラワークを調整し直したpmmを、サンプル(きしめん).pmm から 改名して 325-301.pmm とします。

1.1.1. 視野角固定


VR180でのカメラワークでは、常に半球全体を描画するため、視野角(画角)という概念がなくなります。そのため、視野角を変更しての画作りは今のうちに排除しておく必要があります。パースが付いた状態で、視野角を全編にわたって固定にしてください。その状態で映像が納得のいく形になるよう、カメラの位置・回転・距離を変更してください。視野角の値は、経験上、30°固定ぐらいがお勧めです。(私は30°ぐらいから45°ぐらいの間の値を使うことが多いです。325-301の例では35°です。)
(325-301の第0フレーム)

1.1.2. カメラ角度は±180°まで


カメラの回転角度について、±180°以上の値は、後述するカメラワーク変換で無効にされてしまいます。今のうちに、角度については、±180°未満になるようにカメラワークを修正しておきましょう。


1.1.3. カメラ補間曲線操作?


カメラの位置・回転・距離の補間曲線操作は変換できるのかどうかよくわかりません。
[メモ] うp主はカメラワークを補間曲線で動かすことがほぼないので検証する気なしw


1.1.4. カメラ効果を加えるようなMMEの扱い


VR180に対しては、相性の悪いカメラ効果用MMEがあります。特に、カメラの方向を変えると効果が色合いが変わるようなMMEはよくないです。これは、EquirectanglerX.xがカメラ方向を5回変えて撮影を行うからです。それらを貼り合わせるときに色違いなどが境界に発生します。
私はMMEをそれほど用いないのでどれがOKでどれがNGかよくわかりません。VR180になったときにあまり意味のないMMEは今のうちに削除しておいたほうがよいでしょう(レンダリング時間も短縮できるでしょう)が、わからなければとりあえずそのままでもいいと思います。
私の好きなdiffusion7.xや、xdof.x等は相性の悪いMMEです。本来は削除しておいたほうがよいです。ただ、今回説明していく方法では、貼り合わせ時にぼかしをいれるようにしたので、だいたいのMMEは(継ぎ目の境界がばれにくくなるぐらいの)対応可能だと思います。


1.1.5. ボーン追従


カメラワークによっては、ボーン追従している場合があるかもしれません。ボーン追従なしで希望のカメラワークが実現できるのなら、今のうちにそう変更しておいたほうが後の作業が楽です。ただ、できなくはないです。
325-301の例 https://youtu.be/33KdPGdBSQ4 では、10秒目からの1カットは初音ミクさんのセンターボーン追従になっています。
(325-301の第300フレーム)
他にも https://youtu.be/WWntkbEm_Ug では約22秒目以降最後までずっとカメラワークはグレ子(黒パーカーモデル)のセンターに追従させています。ボーン追従させる場合でも、視野角は一定値にして映像確認しておくことを強く推奨します。

全ての調整が済んだら、325-301.pmmとして保存します。

1.2. 元pmmからのカメラワークファイル保存


元になる 325-301.pmm ファイルから、カメラワークを抜き出してファイル保存します。カメラのフレーム点を最初から最後まで選択し、モーションデータとして保存します。保存したファイルをここでは 325-301-camera2D.vmd とします。
ボーン追従をしている場合は、ボーン追従区間の開始フレームと終了フレーム、およびそのときの追従先(モデルとボーン)を全てメモしておきましょう。325-301の例では、
300f-408f, 初音ミクv2e00(モデル)のセンター(ボーン)
が覚えておくべきボーン追従カメラワークの情報です。

1.3. VR180へのカメラワークファイル変換


VMDファイルエディタとそのプラグインを使います。
・VMDファイルエディタ (あきら / seriousakira 様)
カメラワークは、距離、位置、回転、視野角、パースで構成されています。このうち、視野角とパースは固定のはず。ここでは、距離、位置、回転を分離して、モーションファイルに変換します。「VR180視点f16」モデルに適合するようにモーションファイルを作成します。
下記は、 325-301-camera2D.vmd をVMDエディタで表示してみた様子です。


1.3.1. カメラワーク表現モデルファイル


カメラワークを移す先のモデルには、うp主の作った「VR180視点f16.pmx」を用います。(後の2.2.節で登場します。ここでは紹介のみ)



1番目から4番目のボーンに対応するモーションファイルをこれから作成します。


1.3.2. カメラワークをモーションに変換


この作業はVMDファイルエディタとそのプラグインで行います。(編集については、google spreadsheet や excel に慣れてる方はcsvにしてそちらで行ってもよいでしょう)

VMDファイルエディタに 325-301-camera2D.vmd をドロップします。[カメラ]以外のウィンドウが現れた場合は関係ないので閉じて構いません。

メニューから、編集⇒プラグイン⇒カメラ→モーション変換プラグイン⇒設定、を選びます。現れた設定ウィンドウで、
・カメラの位置X/Y/Z:▽移動
・カメラの回転X/Y/Z:▽回転
・カメラの距離:▽距離
と設定して、OKをクリックします。

設定が済んだので、プラグインを実行します。

メニューから、ウィンドウ⇒モーションウィンドウを開く、を選ぶと作成されたモーションを確認できます。

[カメラ]のほうはもう不要なので閉じておきます。

メニューから、ファイル⇒csv形式で保存、を選んで[モーション]の内容を保存します。ここでは 325-301-cameramotion2D-f16.csv とします。

[モーション]も閉じていったんVMDエディタを空にします。325-301-camera2D.vmd は保存しないで破棄しましょう。そのあと、先ほど保存したcsvファイルをドロップして開きます。(必ずこうしてください。そうでないと後でハマります)

ここからは、作ったカメラワークにボーン追従があるかないかで作業内容が変わります。

【ボーン追従がない場合】
このままVMDとして保存します。メニューから、ファイル⇒名前を付けて保存、としてください。これで1.節の作業は終了です。
次の2.節 2Dカメラワーク作成 に進みましょう。

[memo] (例えば、雑ですが325-301-cameramotion2D-f16.csvにおいて、300フレームと408フレームに相当する6行を削除すればボーン追従がないカメラワークとなります。305-507-▽移動回転距離.vmdとして保存します)

【ボーン追従がある場合】
以下、4回作業をして、ボーンごとにモーションファイルを作成します。VMDエディタの操作は各自で頑張ってください。ボーン名をクリックするとソートできるので、以下の削除作業で便利でしょう。

▽移動
1. ▽移動 行以外を削除
2. ボーン追従中に相当する行の位置X/Y/Zの値を0に変更
3. 325-508-▽移動.vmd として保存
▽回転
1. ▽回転 行以外を削除
2. 325-508-▽回転.vmd として保存
▽移動follow
※ちょうど「▽移動」とあべこべになる形の作業です。
1. ▽移動 行以外を削除
2. 編集⇒名前の一括変更[モーション] で、「▽移動」を「▽移動follow」に全変更
3. ボーン追従中に相当しない行の位置X/Y/Zの値を0に変更
4. 325-508-▽移動follow.vmd として保存
▽距離
1. ▽距離 行以外を削除
2. ボーン追従に相当する行の位置Zの値を0に変更
3. 325-508-▽距離.vmd として保存

4つのvmdファイルを作成したら、ボーン追従版のほうの1.節の作業は終了です。

次の2.節 2Dカメラワーク作成 に進みましょう。





2019/09/18

YouTubeの運営さんってホント謎ですよね

TubeP(多重アカウントの集合体)からの昔話と現況(2019/9/18)に関する与太話です。

初代 TubeP @ YouTube


ご存知の方はもはやごく少数でしょうが、TubePアカウントは、最初ニコニコ動画で2011年頃に始まりました。それからしばらくして(2014年ぐらい?)、YouTubeでもアカウントを取得し(初代つべアカウント)、チャネルを開設しました。まだYouTubeも運用がテキトーな時代で、いろいろあるとは言っても今よりは紳士的に緩い感じでした。

事の発端:初代アカウントの停止


ところが、そのアカウントが2016年に、予告も警告もなく突然停止されました(ちなみに、停止されたのはYouTubeに関してだけで、Gmailその他は継続利用可能でした)。通知文によると、「他サイトへの誘導を図ったから」で、紳士動画の紳士さが原因だろうと思い込んでいたこちらとしては、ええ~って感じ。当時は、つべの投稿動画の説明文に元となるニコニコ動画のURLを張ってたのですが、それがダメだったようです。(だから、今のTubeP-Bustedの投稿動画の説明文にはYouTube以外のURLを書かないようにしているのです)
ちなみに、この初代アカウントの停止処分は、数年後にいつのまにやら解除されていたりします(もし本当に規約違反であれば時効という概念はないと思っているので、要するにつべ運営さん的に私のアカウントをつぶしたのはヤリスギた、と思ったのではないかと推察してます)。

ちなみに復活した初代アカウントによるTubeP channel (今はもぬけの殻):
https://www.youtube.com/channel/UCUr8Tdqcu2yqX8xm-OyU_LA
解除はされたのですが、コンテンツは全て抹消されてるので、もう意味はないですね‥

TubeP-Bustedでの出直し


TubePのYouTubeアカウントを潰されて、(その後も2回ぐらいアカウント停止喰らって、)もうYouTube出入りするのやめようかな、と思っていたのですが、紆余曲折を経て、2016年から別のgoogle accountを取り直して、今も続く TubeP-Busted チャネルを開設しました。

TubeP-Busted
https://www.youtube.com/c/TubePBusted

設立するときに、このチャネルではエッチぃのはほどほどにしようと決めました。このころ、iwara.tvが大丈夫そう、という判断ができるようになったことも大きいです。つまり、
・健全なYouTube(お色気成分は否定しないものの、年齢制限がつかない程度を目安に投稿)
・微エロなニコニコ動画(一般向けだったり、R-18だったり。全般的にYouTube向けよりは紳士)
・ガチエロなiwara.tv(ecchi側では紳士の夢を。general側はバックアップ的利用)
という3種の使い分けになりました(2019/9現在もほぼこの運用形態)。

リベンジ?達成


この記事の本題にやっと入ります。初代TubeP channelが停止処分されたとき、朧げな記憶では、チャネル登録者3000人ちょっと、一番再生数の多い動画は10万回再生ぐらいにはなっていました。
2016年に設置したTubeP-Bustedはそう強い気持ちで始めたわけではないので、特に当初はやる気がでなかったのです。そこで、自分なりにハッパをかけるつもりで、密かに、3000人 / 10万回再生に追いつけるかどうか、自分で賭けをしてみることにしました。
初代と違って、健全(っぽい)動画だけだし、昔と違って煌びやかなMMDerさん達のほれぼれするようなチャネルもたくさんある時代になったので、無理かなぁと思いつつも、開設当初からの1年ぐらいの経過をみてると、まあオリンピック(2020年)後ぐらいには可能性が見えてくるかも、と思ってたんです。

思ってたんですが‥

またしても運営さんの気まぐれに振り回されることにw。
牛さん動画 https://youtu.be/DRScFZ9GiRs を2018年12月に投稿して、最初は他の動画と同じく全然再生数が伸びてなかったのですが、2019年3月になぜかつべ運営さんがこれをお勧めすることを決意したらしく、突然の再生数躍進。これに伴ってチャネル登録者数も急増。でも2019年4月ぐらいに運営さんが正気に戻ったらしく、まあそれ以前と同じ感じに。
と、思っていたら、お盆のころにまたしても運営さんが目覚めたらしく、えらいキャンペーンを勝手に始めてくれたようで、正直、うp主の印象としては「やりすぎ(やられ過ぎ)」ですw


牛さん動画で10万回再生はあっさり達成できてしまいました(てか2019/9時点で46万回再生‥作って投稿しておいて言うのもなんですが、もっと他にお勧めするべき佳い動画あるでしょ>運営さん)。そして、この2019/9/18(ぐらい)に、予想より数年早く、賭けの対象になっていた登録者数3000人突破を達成できたのです。パチパチ。


参考までに、ときどき個人的にログを取っていたTubeP-Bustedの全動画の再生数合計をグラフ化すると、まさにバズる、という感じです。ほぼほぼ牛さん動画1本で稼いでいます。動画は200本ぐらい(!)投稿してるんですけどね。

総再生数と、登録者数の伸びはほぼ同じです。


ついでにもっとどうでもいい話。iwara.tvでは、一般公開できない動画(なんでそんなものたくさん作るんでしょうかねぇ>自分)をprivateでうpしてます。これを見るためには、私と friend の関係になる必要があります。ってことで、iwara.tvでのTubePのフォロア数とフレンド数のグラフがこちら。

フォロア数よりフレンド数のほうが多いのってたぶん珍しいんじゃないかなぁとw

さらにおまけで、ニコニコミュニティ「TubePの暇つぶし」のフォロア数とその中のプレミアムアカウント数のグラフです。フォロア数はここのところず~~~っと3700人ぐらいを維持してるのですが、2017年以降はプレアカが結構な勢いで減っています。大丈夫かいな(と一般アカしか持ってない私が言うことでもないですが‥)


あとがき


興味ない人のほうが多いでしょうけど、動画製作にまつわる裏事情とかわかると少しは面白いかなぁ、と思って投稿しました。

もともとTubeP始めたのは、(前にもどこかで書きましたが)自分の見たい感じのエッチいMMD動画がなかなか少ないし、それらの再生数が(うp主の感覚からすると)驚くほど少なくて、もうこれは自分で作るしかない!と思ったのが動機です。世間的に評判の良い(再生数が多かったり、運営さんからのお勧めだったり)動画を見ても、うp主のハートをぎゅっとしてくれる感じではないことが多かったんですよね‥

くだらない記事ですが、こんなのがきっかけで1人でも紳士MMDerが増えてくれれば嬉しいです。そういう方々が増えれば、自分でいちいち作らなくて済む素晴らしい世の中にwww

TubeP 拝 [2019/09/18]


2016/09/16

showcase test-000

気にしないで下さい.vimeoも追われる身となった(2016/9/16)ので模索中なのですw