2019年2月

参考資料

Ralph Breaks the Internet

Wreck It Ralph 2のインターネットを視覚化にプロセスに関するビデオが公開されています。映画見たあとで見よう。

インターネットの大都市を建設することは決して簡単なことではありませんでした。最小の建物はエンパイアステートビルのサイズです。それから世界はキャラクターで占められる必要がありました、インターネットの一般市民(ネチズン)から、ワールドワイドウェブを運営するサービスワーカーやアルゴリズムまで、さまざまです。映画制作期間中、制作チームは絶え間なく変わり、一見無限に見える世界をビジュアライズする上で、芸術的にも技術的にも限界を超えることに挑戦しました。

Tips

modoでキューブが揺れる表現

modoのTransform EffectorとSoft Lagを使用して、並んだCubeアイテムが揺れる表現について書いてみます。

サンプルファイル

処理は単純です。Transform Effectorとフォールオフを使用してPlaneメッシュを変形します。変形が加わった頂点にSoft Lagが作用してバネのように揺れます。CubeアイテムはReplicatorを使用して配置しているので、メッシュを直接Soft Lagで変形する場合に比べて軽く動作します。


Transform EffectorとSoft Lagの変形順はデフォーマリストで指定します。

Soft Lagの動作がおかしい場合は、フレーム間の計算がスキップされないように「デフォーマキャッシュ」や「リアルタイム再生」をOFFにすると改善します。

単純なシーンですが、よく見かける感じの表現が簡単に作れるんじゃないかと思います。

参考資料

アニマのインハウスツール「AnimaToonShader」「Animaline」

アニマさんのインハウスツール「AnimaToonShader」「Animaline」の紹介記事が公開されています。ラインがジオメトリベースなので「FoV補正」のようなパース的なゆがみを補正する機能が面白いですね。

このツールはアニメ「モンスターストライク」でも使用されてるそうです。アニマさんはLWのイメージがありましたが3dsMaxを経て、2018年からMAYAに移行されてるんですね。パイプラインやmGearを含め内製のツール開発されてるのは素晴らしい。

AnimalineとAnimaToonShaderのご紹介

 

続きを読む

参考資料

アニマのプロダクションパイプライン構築

アニマのプロダクションパイプライン構築に関する記事が公開されてます。パイプラインについて「注力している点として、データフローをアプリケーションに依存しない」とありますがジオメトリキャッシュなのかな?

だいぶ前から海外プロダクションではAlembicを使用したパイプラインが主流になってるとの話を見かけますね。リグなどの複雑なデータが含まれてるファイルをレンダリングに回すとエラーやファイルのロード時間が長くなるため、Alembicを使用した方が映画のような大規模なシーンではメリットがあるようです。国内でも映像向けで増えるのかしら。
https://cgworld.jp/interview/201902-ren-kikuchi.html

続きを読む

Tips

modoのフォールオフプローブでアニメーション制御

modoのフォールでアニメーション再生のタイミングを制御する方法について書いてみます。modo 12.0以降のバージョンで動作します。

サンプルファイル

スケマティックはこんな感じです。基本的にはカーブプローブを使用したアニメーションの制御方法と同じで、ノードが違ってもスケマティックで同じように処理してるのがわかるかと思います。

木のモデルにキーフレームアニメーションを設定して、DummyMeshにペアレントした物をReplicatorで複製します。
DummyMeshの「ワールド位置」を Matrix Vector ノードでマトリクスに変換してFalloff Probe にリンクします。Falloff ProbeのOutputは、フォールオフと複製されたDummyMeshの位置に応じて0~1の値を出力します。0~1の値を使ってアニメーションを再生したいので、Relationshipノードを Time Offsetノードにリンクしてアニメーションの再生速度を調節します。

カーブプローブを使用した時と違い、フォールオフの値がそのままアニメーションの再生速度になってるので、もう少し処理を考える必要があるかも知れません。

 

簡単な木が生えるアニメーションを作ってみました。

プロシージャルモデリングは道路のように繰り返しコピーされてるような形状を作るときに便利ですね。あとから白線の太さや道幅を調整したいとき、1つのメッシュを変更すれば、他のメッシュにも変更が反映されます。

道路と地面は別々のアイテムとして作ったものを、Merge Meshで1アイテムに統合しています。道路はMerge Mesh後に直線状に複製してVertex Mergeで頂点結合した後、メッシュ全体をベンドで曲げてます。

ベンド後の背景アイテムを移動させることで車が走ってるように見せてます。デフォーマとトランスフォームを組み合わせた定番手法です。

 

CG News

EdgeFlow 2.0 for MODO

EdgeFlow 2.0が発売されました。価格はインディー版が14ユーロ、スタジオ版が60ユーロ。v1.0を持ってる場合は8ユーロ引きで購入できるようです。こういうモデリング機能は標準で搭載して欲しいですね。
https://gumroad.com/l/edgeFlow2
https://community.foundry.com/discuss/topic/145739/edgeflow-2-0-teaser

新機能
  • より良くてより速い
  • ビューポート内のGLハンドル
  • 同じツールに基づいた新しいmeshOperator
  • 円弧分布、曲面上のボリュームをより良く保つ
  • 右クリックで反復処理にマッピング

 

 

 

参考資料

Live2Dで制作されたショートアニメ「Beyond Creation」

ゲーム用ミドルウェアLive2Dを使用して制作されたショートアニメとインタビュー記事が公開されています。
https://www.inside-games.jp/article/2019/02/20/120604.html

Live2Dはアニプレックスと業務提携して長編アニメーション映画の制作を発表してましたが、「Live2Dによる長編アニメーション映画制作」に向けた第一歩目のプロジェクトだそうです。手描き頑張ってるので、ギャルゲのOPなんかの髪だけ揺れる映像よりリッチに見えますね。長編映像になったときどういう印象を受けるのか興味深いです。

続きを読む

参考資料

「ファイトリーグ ギア・ガジェット・ジェネレーターズ」メイキング

XFLAG ANIME公式YouTubeチャンネルで配信中のアニメ「ファイトリーグ ギア・ガジェット・ジェネレーターズ」のメイキング記事が公開されています。
https://cgworld.jp/feature/201902-fight-league1.html
https://cgworld.jp/feature/201902-fight-league2.html
https://cgworld.jp/feature/201902-fight-league3.html

続きを読む

参考資料

オープンソースのプロダクショントラッキングツール「Kitsu」

オープンソースのプロダクショントラッキングツール「Kitsu」が販売開始したようです。「Kitsu」はフランスの企業が開発してる中小規模のスタジオ向けのプロダクショントラッキングツールで、「エクセルより良く、ショットガンよりも安い」というキャチが直球でいいですね。
https://www.cg-wire.com/en/kitsu.html

価格はユーザー数で大中小の3プラン。

  • € 99 /月 (1〜10人のユーザー、200GBのストレージ)
  • € 299 /月 (11~50ユーザー、1TBのストレージ)
  • € 999 /月 (51~150ユーザー、3TBのストレージ)

このシステムはオープンソースで商用クラウドホスティングソリューションとしても利用可能。フランスの主要なVFX施設と共同で開発中らしいです。

参考資料

DeNA「AIによるアニメ生成の挑戦」の資料公開

DeNAが「AIによるアニメ生成の挑戦」の資料公開を公開しています。「構造的生成学習」技術開発により従来AI生成で難しかった “複雑な構造での高品質生成”、”構造変化が大きい画像間の補完生成・中割” 等の課題を解消しているとのことです。

確かに人の全身のような画像生成が実現できてるみたいです。中割に関してはフレーム間がクロスフェードっぽくなっちゃうのが気になりますが、だいぶ綺麗に補完されてる気がします。

 

Tips

modoでオーバースキャンレンダリング

画像を外側に広げた大きさでレンダリングしたい時に便利な、オーバースキャン レンダリングについて書いてみたいと思います。

 

オーバースキャンとは

もともとはブラウン管テレビの外周にある黒縁のように、データは存在するけど映像が見えない目隠しされている領域を「オーバースキャン」と言います。3DCGでもカメラフレーム外側の領域をレンダリングすることを「オーバースキャン レンダリング」と呼んだりします。

CGではコンポジットで被写界深度やレンズのゆがみを追加したとき画像の端が綺麗に処理されるように、または画面揺れを追加できるように、一般的な映像フォーマット(720p、1080p)より少し大きめのサイズでレンダリングすることが多いと思います。静止画でも印刷用途だと「裁ち落とし」部分まで画像を用意すると思います。

 

オーバースキャン スクリプト

オーバースキャン レンダリングしたいときは「bd_overscan.py」を使うと便利です。

 

オーバースキャン レンダリングの計算方法

大抵は3Dソフトごとにオーバースキャン レンダリング用のスクリプトや機能があるのですが、カメラのフィルムバックを使用すると簡単に計算することができます。

元となるカメラの設定です。

レンダー解像度
  • 幅 1280
  • 高さ 720
フィルムバック
  • フィルム幅 36 mm
  • 高さ 24 mm

カメラのフレームはこんな感じです。

デフォルト設定1280×720ピクセルのレンダリング結果です。オブジェクトを左右ギリギリに配置して、球体の影はフレームにかかるよう配置してます。このデータを使ってオーバースキャンを計算してみます。

 

パーセント指定する方法

「フィルムバック」を使用する方法

例えば120%に拡大したい場合は、現在の「レンダー解像度」と「フィルムバック」に1.2を掛けます。フィルムバックを使用するとカメラの「焦点長」を変更せずに済むので便利です。

レンダー解像度
  • 1280 * 1.2 = 1536
  • 720 * 1.2 = 864
フィルムバック
  • 36 mm * 1.2 = 43.2 mm
  • 24 mm * 1.2 = 28.8 mm

120%したプロパティです。

120%でレンダリングした画像です。

 

「焦点長」を使用する方法

フィルムバックの設定がないソフトの場合は「焦点長」を1.2で割る方法が使えます。3dsMaxの「レンズ」でも同じ計算方法が使えます。

レンダー解像度
  • 1280 * 1.2 = 1536
  • 720 * 1.2 = 864
焦点長
  • 50 mm/1.2 = 41.666 mm

120%したプロパティです。

120%でレンダリングした画像です。

ピクセル数を指定する方法

1280pixを1600pixのようにピクセル数を指定する場合は「変更したいサイズ÷現在のサイズ*フィルムバックサイズ」で計算できます。

レンダー解像度
  • 1280 → 1600
  • 720 → 900
フィルムバック
  • 1600 / 1280 * 36 mm = 45 mm
  • 900 / 720 * 24 mm = 30 mm

1280×720を1600×900に変更したプロパティです。

1280×720を1600×900でレンダリングした画像です。

 

ピクセル数を指定して「焦点長」を求めるにはアークタンジェントとかいう計算が必要っぽいので、今回はスルーします。どうして計算方法を書いたかというと、他のソフトでも使うことができるんじゃないかなと思いました。

modoでオーバースキャン レンダリングするときは、シーンを別名で保存/管理する方法もありますが、カメラの動きを修正した場合を考えてレンダーパス使う方法や、バッチレンダリング時にコマンドでオーバースキャンの値を設定する方法が柔軟性があって便利な気がしますね。

 

参考

https://www.pixelfondue.com/blog/2016/12/9/overscan-rendering