iclone

Iclone7 IRAYレンダリングでの問題点と課題。

キャラクターのアニメーション、BGM及び背景モデルデータのインポートと一通りレンダリングが出来る状態になったので、IRAYで2回目となるレンダリングに入りました。

レンダリングの際に気になった事や問題となった点に関して、今後の参考程度に記載をしたいと思います。

【フレームレート(FPS)について】

Icloneのマニュアルやヘルプを検索しては見たのですが、フレームレートを指定できるようなメニューが見当たらず、通常は60FPSでの設定となっているようです。 ポリゴンメッシュの数により、フレームレートが左右されるようで、恐らくハードウェアの構成によっても変わるかと思われます。 上位スペックのCPUやビデオカードなら、それなりのフレームレートでオペレーションが可能なのかも知れませんが、そこまで検証ができないので残念です。

今回は下記のパソコン構成での検証結果となりますので、参考程度にして頂けたらと思います。

  • CPU : Intel® Core™ i5-9600K
  • メモリ: 16.0 GB
  • グラフィックス : GeForce GTX1060 6GB

アニメーション再生には2通りあり、「リアルタイム」と「フレーム単位」が切り替え出来るようになっています。(下記参照)

リアルタイム再生
フレーム単位再生

「リアルタイム再生」では実際のスピードでアニメーションが再生されるようですが、環境次第なのかも知れませんが、カクつきやコマ落ちなどが生じる場合があるようで、レンダリングの際には「フレーム単位」で再生した方が良いようです。

高スペックのパソコンならリアルタイム再生でもフレームレート落ちがないかも知れませんが、何せそのような検証が出来ませんもので…(=_=)

同じデータファイルを 「リアルタイム」と「フレーム単位」 で比較したキャプチャー画像が下記になります。 

リアルタイム再生 (約24FPS)
フレーム単位再生 (約60FPS)

再生中のフレームレートは変動しますが、 通常の映像フレーム再生基準に沿って合わせると、検証したデータでは、だいたいリアルタイム再生 では24フレーム/秒、 フレーム単位再生 では60フレーム /秒となっていました。

今回のレンダリングテストでは、BGM合わせてダンスアニメーションを作成したので、フレームレートの問題がレンダリング後に起こってしまいました。 

IRAYでのレンダリングを30FPS設定で出力をしたので、レンダリング後の動画とBGMが合わない現象が生じてしまい、はじめは何で?と思ったのですが、BGMとキャラクターの調整を「リアルタイム再生」で行っていた為、24FPSであれば大丈夫なのでは…と思い、編集で 24FPS に調整したところ、ほぼほぼアニメーションタイミングが合いました。

音楽との同期をしなければ、 フレーム単位再生 でのレンダリングは問題ないのですが、ダンスアニメーションなど音楽との同期が必要な場合は注意が必要そうです。

IRAYレンダリングではなく、通常のレンダリングではどうなのか?などまだ色々と検証は必要そうですが。


【IRAYレンダリングでの謎】

IRAYで今回のダンスアニメーションを通りしてレンダリングをしてみたのですが、いくつか不具合が出てしまいました。

今回の動画はかなり長いので、1レンダリングファイルデータを500カット(60FPS)くらいにして、複数のレンダリングファイルに分けてから、スタンドアロンレンダリングをしました。

1フレームのみレンダリング
連番画像レンダリング

上記画像の「 連番画像レンダリング」をみると、ほくろ?シミ?と思うようなものがキャラクターの顔部分に出てしまったいました。  そこで確認の為、同じフレームを1枚だけレンダリングしたところ、そのようなシミみたいなものが出ませんでした。 今のところ原因不明です。 影もおかしな箇所があるので、再度レンダリング検証してみたいと思います。

また、前項でライティング失敗の事を書いたのですが、ライティング設定以上に 箇所不具合が出てしまい、特に何もしていないカットでライトの点滅のような現象も起こっているので、このカットも再度レンダリングして、検証したいと思っています。 原因が分かると良いのですが…。 なかなか難関かとは思っています。


【クロスシミュレーションのキャッシュについて】

今回のレンダリングで感じたのですが、ある程度長めの動画となると、最初から最後まで1台のパソコンでレンダリングするというのは、時間もかかり、パソコン本体への負荷も生じてしまうので、複数のレンダリングファイルに分ける事で、時間と負荷の軽減が出来ないか検討してみました。

適用なカット毎にレンダリングデータを分ければいいんじゃない?って思うのですが、ここで問題となるのが軟体シミュレーションです。 Icloneを使うと分かるかと思いますが、なんとシミュレーションのキャッシュがないようで、都度スタートフレームから演算処理をしているようなので、適当なカットでレンダリングファイルを分けてしまうと、スカートがめくれ上がった状態でアニメーションがはじまってしまったりとか、大変な事になってしまいます。

演算シミュレーションができる3Dツールは、ほぼシミュレーションのキャッシュがあるので、このような問題は起こらないので、出来たらIcloneにもシミュレーションのキャッシュ機能を付けて欲しいですね。

現状はその機能がないようので、応用的に同じような事が出来ないものかと試行錯誤してみました。

Icloneのプロジェクトメニューの中の演算処理設定に「アニメーションをベイク」という項目があります。 これはアレンビック形式で外部ツールへ書き出す際の機能と思いますが、クロスシミュレーションもベイクしてくれるはずなので、実際に試してみました。 下記動画にて検証してみました。

結果的には無理でした。 ざんねん…

クロスシミュレーションのキャッシュまでは大丈夫のようで、しっかり布系も動いてくれるのですが、エラーが出てしまうとデータ自体が壊れてしまうようで、再度ファイルを開ける事が出来なくなってしまいます。

注意!

・プロジェクトメニュー内の演算処理項目にある「アニメーションをベイク」をONにするとクロスシミュレーションをベイクしてくれます。

※要注意です   アニメーションベイクは、データ書き出しの時だけ使用した方が良いと思われます。 アニメーションベイクを使う場合は、別名でこまめにデータをセーブしておく事をおすすめします。

次項はレンダリングした動画について、記載をしたいと思います。

-iclone