Octane Renderingでの目

Octane RenderでPoserをRenderするとデフォルトでは虹彩の部分の光が過剰で、目線がはっきりわからないときがある。そんなときには、5_CorneaでのOpacityの値を小さく(1.0->-.1ぐらい)にしてやると良いようだ


Poser & Octane2.0で3Dムービー

先にOctane2.0で3D(立体)Poser静止画作成を書いたが、今回は3D movie作成について述べる。最後の出力は、裸眼で立体視が可能なFujifilm Finepix real 3Dディスプレイを想定している。

  • まずPoserでアニメーションを作成する。これは通常通り。但し最後の出力を考え、フレームのサイズは1280×720にしておく。
  • 続いてOctaneRenderを3D設定する。stereoModeは静止画と同じく交差法(Off-Axis)で他はdefaultでよい。resolutionを先ほどと同じく1280×720にしておく。stereoOutputをRight/Leftに指定し、それぞれ1回ずつレンダリングすることになる。
  • OctaneRenderでAnimationを開く。Start FrameとEnd Frameを指定する。ここではMaximum Render Time per Frameを指定できるので、1コマあたりレンダリングに最大何秒掛けてよいかを見積もって入力する。たとえば30コマのレンダリングを1時間で終わらせたければ左右30分ずつなので、1コマあたりのレンダリングは60秒となる。他はほぼデフォルトで良い。Render Animationを押すとレンダリングが開始される。
  • 終了したら、Left/Rightを入れ替えて再度作成する。このときOutput Folderの中の結果を退避させておかないと上書きされるので注意。
  • 出来上がった左右のpng静止画群から左右別々のムービーを作成する。今回はAdobe Premiere10を使って作成したのでこれに沿って説明する。新しいプロジェクトを作成し、左の静止画を全部読み込む。続いてこれらを全選択し、ビデオ1のタイムラインにドラッグする。時間を調整するために、先頭画像を右クリックでタイムストレッチを選び、適切な値に設定する。一つ変えると全部の画像のタイムストレッチが変化する。
  • Premiereで書き出し-コンピュータ-MPEGを選択。プリセットはとりあえずHD720p 25にした(25はPALなので30 NTSCにすべきだったのかも知れない)。xxxL.mpgのような左MPEG動画を作成する。同様に右の静止画も新たに全部読み込んでxxxR.mpgを作成する
  • ステレオムービーメーカーをダウンロードする。これでファイル-左右ムービーを開く、で先ほどのxxxL.mpg, xxxR.mpgを読み込ませる。AVIの種類によってはこの段階で読めないケースも多く、そのため先ほどのPremiereでHD720pを選択している。ここで他の動画も読めるようなら、Premiereでなく、他のフリーソフトでの動画作成も大丈夫だろう。
  • ステレオムービーメーカーで、位置調整-左右位置自動調整を選択し、位置を調整する。このあと再生(G)-再生(同期確認)などで、うまく再生できていることを確認する。
  • ファイル-3D-AVI形式で保存、を選択しターゲットファイル名を入力して3D-AVI形式の動画を作成する。パラメータとしてFinepix real 3Dの1280×720を選択。ただしこの作成段階でプログラムが異常終了することがある。何度か試すしかない。
  • 出来上がったファイルをUSBメモリに移し、Fujifilm Finepix real 3Dディスプレイに装着して動画を選択すると、リアルな3D(立体)動画が現れる。以上出来上がると、なかなか感動モノだ。

  • Octane Render2.0で3D CG

    Octane Render2.0になってPoser の出力を3Dの独立の画面として出力することができるようになった。こうして出力される2枚の画像をステレオフォトメーカーなどでステレオ化すれば、3Dテレビなどで3D画像を映すことが可能になる。

    ここでは、3D画像を裸眼で手軽に見られるディスプレイとしてFujifilm Finepix Real3D Displayを利用することとし、さらにFujifilm Finepix Real3D W3Sの立体カメラで写した画像との重ね合わせを行うためのパラメータチューニングをしてみた。

    まず基本は、本Displayに表示させるときにはOctane RenderをOff Axisモードにする。そして視差間隔を0.06(デフォルト0.02)程度にする。間隔を広げるとRender出力の立体感が増すがあまり広げると目が疲れる。

    スペックによるとW3Sは標準で撮影して35mmカメラ相当からズームを行うと105mm相当の範囲でFocalが変化するようだ。35mmの標準で撮影した写真を背景にすると、Poser側もほぼ35mmのスペックでよさそうに見える。しかしよりリアリティを出すには、若干Poserで設定する距離を長めに、そしてFocalを大きめにしたほうがよさそうだ。10数回カット&トライを行ってみたが、Poserにおいてカメラから本当なら1.8mを想定しているときには、約倍の3.6mぐらいにオブジェクトとの距離を置き、代わりにfocalを35mmから60mm程度に広げ、オブジェクトを拡大させたほうが、よりリアルに映った。

    今後さらにチューニングを進めたい。


    Carraraでテキスト作成

    Carraraで簡単にテキストを立体的に作成ができる。これをexportする場合、
    1) Objでエキスポートすると、フォントの各箇所が別々の要素になる。色をまとめて変えようとすると都合が悪い。その代わり、表の字の部分のみ色を変えることもできる
    2) 3dsでエキスポートするとひとまとめになる。このときは全体の色具合を変えることが割りと簡単にできる


    Carrara->poser

    Carraraで作ったオブジェクトをPoserに読み込むとき、これまでは.objで貼っていたが、どうもマテリアルがうまく移行できなかった。3dsフォーマットでエキスポート/インポートしたらうまくテクスチャも移行できた。


    KINECT->BVH->Poserへのpath(20140601)

    KinectでのモーションキャプチャからBVHを吐かせて、最終的にposerに読み込ませて自分の好きなアバターで動かそうと思っていた。
    参考にしたのは、このサイトだった。これで
    うまくいきそうに思えたが、いかんせん2011年10月の記事でもうかなり古いし、加えてOpenNIもサイトをこの4月で閉じた。とりあえず今入手可能なドライバ/アプリケーションで表題に述べたことができるかどうか、試してみた。OSはWindows 7 64bit professional.

    1.前準備

      これはリンクにはったサイトとまったく同様、Microsoft Visual c++ 2010 Express、最新のDirectX
      それからMicrosoft XNA Framework Redistributable 4.0とMicrosoft .NET Framework 4をインストールした。
      PC環境をテストモードにするという項目もあったので、一応やったが、これが原因でうまくいったのかどうかは定かではない

    2.Microsoft Kinect SDK & OpenNI2
    昔のサイトで述べられたOpenNI for Win32bit 1.3.2.1 & Sensor-Win -5.0.3.3の組み合わせでうまく動作しなかったので、
    ここでは、OpenNI-Windows-x64-2.2.0.33をインストール。そしてMicrosoftの開発環境を利用すべく、KinectSDK-v1.8-Setupならびに
    KinectDeveloperToolkit-v1.8.0-Setupをインストールした。これでKinectを接続すると、デバイスマネージャには、PrimeSenseの配下に、Kinect for Windows Audio Array Control, Kinect for Windows Camera そして Kinect for Windows Security Controlが現れるようになった。
    ここまでうまく行くと、Program Files/OpenNI2/Samples/Bin/simpleViewer.exeが動いてぼんやり自分の姿が映る。

    3.NiTE2のインストール
    NiTEも64bitベースのNiTE-Windows-x64-2.2をダウンロードしてインストール。ここまでできると、Program Files/PrimeSense/NiTE2/Samples/Bin/UserViewer.exeをたたくと、キャリブレーションの後、自分の姿がトレースされることに気づく。ここで注意すべきはKinectが認識するためには、センサから2,3m離れることが大事だ。そうでないといつまでたってもキャリブレーションから進まない。

    4.LiveAnimationのインストール
    bvhを吐かせるために、LiveAnimationをインストールする。このサイトからダウンロード。数々のバージョンがあり、以前の記述だと
    46以前のバージョンでないとPoserが正しく読み込まないとあったが、Poser2014 Proに関しては最新のLiveAnimationでも問題なかった(今回は108をインストールした)。

    5.キャプチャ&BVH出力
    LiveAnimationを立ち上げたのち、アバターを一つ選んで出現させる。このあと左側の”キネクト”を選びその中からMotionCaptureを選ぶ。自分の姿も横に出てくるので、然るべくKinectにモーションを認識させる。そうするとアバターが同期して動き始めるのでゆっくり体を動かしてモーションデータをサンプルする。画面下にFPS(Frames per Second)の値があり、デフォルトは64となっているが30ぐらいで十分だろう。より少ないとPoserでうまく動かないようだ。取得できたらエクスポート/BVHでファイルに出力する。つま先をつけるなどのオプションは選択しない(poserで読めなくなる)

    6.Poserからの読み込み
    Poserを立ち上げ、Andy君を表示させ、これに先ほど出力したBVHを読み込ませる。うまくゆけばAndy君は先ほどの自分の動きと似通った動作をするはずだ。

    以上です。Good Luck.


    Octane renderで背景を透明に

    Octaneでレンダリングすると、背景がenvironment テクスチャをぼかした模様が入る。これを透明 or alpha channelにする手はないかと探してみたら、ここ

    Yes, in the image controls you can check / uncheck keep environment.

    の一文があった。試してみよう


    Perfect V4

    やりかたが2ちゃんにのっていた

    1. まず、シーンに任意のフィギュアを1体を出しておく。Andyでもよい
    2. Pose > XandM PerfectV4 Complete > !Create Perfect V4 を実行
    3. “Please select CR2 to modify”
    PerfectV4化をする元フィギュアをcr2ファイル名で指定。
    (通常はVictoria 4.2.cr2を指定するが、カスタマイズ済みV4フィギュアに埋め込みたいならそれを指定してもよい)
    4. “Please enter an output filename” 
    フィギュアの保存名を聞いてくるから指定。Characterのfigureを入れているフォルダでよいだろう。
    5. 1で呼んでおいたフィギュア(Andy)はもう要らないので消す。
    6. 4で指定した保存フィギュアをシーンに呼び出す。
    7. 呼び出したフィギュアを選択状態にしておいて、
    ライブラリの Pose > XandM PerfectV4 Complete > !The Fixes > !Inject All Fixes Poser を実行。
    8. これを保存。4.のフィギュアに重ねて指定してもよい。