2019年2月

CG News

MODO用の作画支援ツール「TMSCAM」

アニメ制作会社トムス・エンタテインメントが企画・開発したMODO用のカメラツールの情報が公開されています。「この春目標にダウンロード公開を予定いたしております」とのことなので、どんなツールなのか公開が楽しみですね。modoでアニメというのが興味深いです。
http://modogroup.jp/modo/free_kits/tmscam

TMSCAM

TMSCAM(トムスカム)は、MODOの機能を独自にカスタマイズした作画(2D)とCG(3D)の相互支援ツールです。

2Dと3Dそれぞれのカメラを共通化することで、アニメ制作における双方の連携強化やレイアウト作業の効率化などを実現するために開発されました。現在、アニメ業界ではデジタル作画や3Dレイアウトといったデジタルを活かしたアニメ制作が行われています。TMSCAMは、これらをスタジオに限らず個人でも利用しやすいツールにすることを目指しています。

 

参考資料

ディープラーニングを用いたアニメの自動彩色開発インタビュー

OLMデジタルと奈良先端科学技術大学院大学共同研究による、チームディープラーニングを用いたアニメの自動彩色のインタビュー記事が公開されてます。
「ピカチュウは高確率でサトシの肩に乗っているので、どこの領域までがピカチュウで、どこからがサトシなのかを機械に判断させるのが難しい」というような話は面白いですね。
https://cgworld.jp/feature/201902-autocolor.html

Presentation

CG News

Unityが300個のフリー測定マテリアル公開

Unityが300個のフリー測定マテリアルを公開したようです。このライブラリーは自動車のレンダリングに合わせて作られており、皮革や布地、クロム、ガラス、プラスチック、自動車用塗料、木材や布地のような内部仕上げの実世界の測定されたマテリアルで構成されてるみたいです。
https://blogs.unity3d.com/jp/2019/02/08/we-have-you-covered-with-the-measured-materials-library/

Unity Store
https://assetstore.unity.com/packages/2d/textures-materials/unity-measured-materials-library-138814

Tips

modoのセンターとピボット

modoの「センター」と「ピボット」について書いてみます。とりあえず他の3Dソフトで言う「ピボット」を編集したい場合、modoでは「センター」を使っておきましょうという話です。

 

modoはアイテムモードで移動/回転/スケールするとき、メッシュのどの位置を基点にするか指定する機能として「センター」と「ピボット」という2つの要素があります。「センター」はメッシュの基準となる位置、「ピボット」はセンターからのオフセット位置と、アイテムを移動/回転/スケールするときの基点となる位置として使用されます。

ピボットはセンターからのオフセットとして動作しています。

センターはアニメーションできませんが、ピボットはキーを設定してアニメーションしたりリギングに使用することができます。

サンプルファイル

 

modoのピボットはトランスフォームアイテムです。ピボットの位置を編集するとピボット用のトランスフォームアイテムが追加されます。ピボットを編集しない場合はセンターがピボット位置として機能します。
トランスフォームアイテムの計算順はチャンネルビューポートで確認することができます。

 

ロケータで親子関係を設定すればピボットを直接アニメーションしなくても同じようなことができますが、サイコロを転がすようなアニメーションの場合は、ピボットを使用した方がアイテムリストがスッキリしていいかもしれません。

 

ちなみに、メッシュの中心にセンターやピボットを移動したいときは、専用のコマンドがあるので便利です。

 

とりあえず「センター」を使うとよい

他の3Dソフトを使用した経験があると「センター」と「ピボット」の関係が少しややこしいですが、回転などトランスフォームの基点になるという意味ではmodoも他のソフトと同じで「ピボット」が使用されます。ピボットのオフセット位置を計算するための基点として「センター」という概念が導入されているのだと思います。

それでは他のソフトのピボットと同じような感覚で、modoのピボットを使用すればいいかと言うと違います。理由は以下の通り。

  • modoはFBX出力するときにセンターをピボットとして出力する
  • modoのリジッドボディダイナミクスは回転の基点にセンターを使用する

他のソフトやゲームエンジンとの連携を考えると、ピボットを直接アニメーションしたいとき以外は「センター」を編集した方が何かとトラブルに遭遇しなくてすむと思います。
Foundryのフォーラムで「センターはピボット、ピボットはピボット オフセットに名称を変更した方がいい」という書き込みを見かけましたが、確かにその方が他のソフトを使用してるユーザーにはなじみがいいように思いました。

 

3dsMaxやLightWaveなど設計の古いソフトはピボットをアニメーションすることができませんでした。このためセンターという概念や用語がありませんでした。
MayaやMaxのプラグインBipedやCAT、Messiahなどアニメーションに強いと言われるソフトはピボットのアニメーションに対応してる場合が多かったように思います。modoの「センター」と「ピボット」はその辺りをふまえた設計なのかもしれません。

 

参考

http://modogroup.jp/modo/column/animation05

CG News

Paintstorm Studio 2.32 アップデート

Paintstorm Studioが2.32にアップデートされました。細かいところが便利になってきてますね。Paintstormは葉っぱブラシが用意されてるのと、ブラシサイズがパースに対応してるので、サクッとそれっぽい背景が欲しいときに便利に使ってます。
http://www.paintstormstudio.com/index.html

 

アップデート内容

  • 万華鏡モード追加。それは信じられないほどの装飾品を作成するための強力なツールです
  • フレームと “Free transform”ポイントを移動するためのアンドゥ/リドゥオプションが追加されました。また、 “Free transform”フレームはエッジを越えて移動することができます
  • 「ハイライトレイヤー」機能追加(ハイライトオプションは、[オプション] > [メイン] > [ハイライトレイヤー]でカスタマイズできます)
  • 「スナップ」機能追加。レイヤーを動かすときだけでなく “Free transform”フレームを動かすときにそれを使うことができます
  • レイヤーをそろえる機能が追加されました。対応する[整列]ボタンが[レイヤー移動ツール]パネルに表示されます
  • 「最近使ったファイル」パネルが完全に変わりました。ドキュメントのプレビューを確認したり、対応するファイルのあるフォルダにすばやく移動することもできます
  • [自動保存]設定がオプションパネルに追加されました。自動保存は “FileName-date-time”形式で保存され、保存するフォルダと最大ファイル数を選択できます。またjpgの “Drawing Stage”に自動保存機能を追加しました
  • レイヤーやフォルダを隣の文書にドラッグ&ドロップできるようになりました
  • トップメニューでドキュメントをポイントしたときにプレビューが表示されるようになりました。オプションはOptions-> Interfaceで無効にできます
  • ブラシのアンチエイリアシングを無効にできるようになりました
  • キャンバスに近似したピクセルのグリッドを表示できるようにする機能が追加されました([オプション] > [openGL] > [ピクセルグリッドを表示])
  • 「グラデーション」パネルに反転ボタンを追加
  • いくつかの新しいホットキーが追加されました。「左右にレイヤーを反転」「上下にレイヤーを反転」「画像のサイズ変更」「キャンバスのサイズ変更」「次のドキュメントに切り替える」
  • 複数のレイヤーの「不透明度」と「ブレンドモード」を一度に変更できます。
  • 一度に複数のレイヤーを複製することができます。
  • いくつかのレイヤーを選択した状態でフォルダーをクリックするとグループ化されます
  • ブラシの透明度を「オプション」で変更できる機能を追加しました
  • 「オプション」に「TABのメニューを隠す」機能を追加しました
  • パネルアニメーションを有効または無効にできるようになりました([オプション] > [インターフェイス] > [パネルアニメーションを有効にする])
  • 現在のフォルダとテクスチャが青でハイライトされている間、テクスチャウィンドウはテクスチャの中心になります。 「カスタムフォーム」にも同じ機能が適用されます
  • すでに開かれているファイルを開くことはできなくなります。このファイルを再度開くように指示されます。
  • 小さなバグ修正
Tips

modoで車リグの作り方

modoで車リグの作り方について書いてみたいと思います。本格的で複雑なリグではなく、タイヤが地形に合わせて動くような単純なものです。

 

タイヤの回転

車のタイヤ(ホイール)の回転にはRevolveノードを使用します。Revolveノードはオブジェクトの移動距離から、回転を計算してくれる便利なノードです。

スケマティックはこんな感です。

ロケータに円柱をペアレントして、ロケータに移動アニメーションを設定しています。Revolveの「方向軸」はロケータをどの軸方向に移動したとき回転するかを指定します。また画像では直径1mのプリミティブの円柱を使用しているので、「半径」に半径500mmを設定します。

ロケータを直接アニメーションする場合は、ロケータの進行方向に沿って回転する必要があります。スケマティックを見るとわかる通り、Revolveは「ワールド位置」と「ワールド回転」を計算に使用します。移動方向に回転が設定されていない場合は、回転の計算が正しくおこなわれません。

Revolveを使用する場合は、パスコンストレイントを使用すると手軽に回転させることができると思います。

 

タイヤの接地

タイヤと地面の接地には、Intersectノードを使用します。Intersectはメッシュにロケータを沿わせることができるノードです。メッシュに近い位置のパーティクル色パーティクルのサイズを変えたりすることもできる便利なノードです。

Revolveで制御してるタイヤをIntersectでメッシュに沿わせたロケータにペアレントすると、地面の起伏に沿って回転するタイヤを表現することができます。ただしRevolveは平面上の移動から回転を計算するので、起伏がある地形では少しずれが発生してると思います。

 

車体の制御

起伏がある地形で車を走らせる場合、タイヤの位置にあわせて車体の傾きを制御したいと思うかもしれません。車体の傾き制御は以下の2つの処理で行います。

  • 車体のバンク角は前輪と後輪の平均した角度を使用します。
  • 車体ピッチ角は前輪と後輪の位置を使用します。

スケマティックはこんな感です。

左上の水色のグループはIntersectを使用して接地させる処理です。タイヤ4個ぶんロケータを作成しています。

左下の緑色のグループはRevolveを使用してタイヤを回転させる処理です。タイヤは全部同じように回転しています。Time Offsetはロケータの移動から、自動でステアリングを回転させる処理に使ってます。現在の回転値と-10フレームの回転値を減算することで、カーブでステアリングが回転して10フレしたら回転値が0になるようにしてます。動かないと違和感があったので、いいかげんな処理ですが入れてみました。RelationShipはステアリングの角度を±35°に制限するためと、イーズの効いた自然な動きにするために使用してます。

右側の紫色のグループが車体の制御の処理です。Position Constraint に2つのロケータの「ワールド位置」をリンクすることで、左右のタイヤの中間位置にロケータをコンストレイントしてます。Direction Constraint も同様で、左右のタイヤの平均にするためにコンストレイントしてます。(Position Constraintの変わりにMatrix Blendを使用しても問題ありません。気分的にDirection Constraintに合わせて、コンストレイント系のノードにそろえてみました)

前輪と後輪の中間位置にあるロケータの「ワールド位置」を Matrix Blend_1 にリンクして、前輪と後輪の中間位置を車体制御用のロケータ(Body_Rotation)にリンクします。Direction Constraint はピッチ角制御です。前輪と後輪の高さに合わせて、車体の前後方向をコンストレイントしています。Matrix to Eulerを使用して マトリクスを3軸の角度に分解して、車体制御用のロケータにリンクします。

Matrix Blend_2 はバンク角制御です。Matrix Blendを使用して前輪と後輪の中間の回転値を求めてます。Time Offsetは車体が回転するタイミングをずらすことで、サスペンションが揺れてる感じが出せないかと思って入れてみました。本格的にバネのようなサスペンションの揺れを再現するには、CBOXのマッスルデフォーマを使用すると作れると思います。

手作業で車体の揺れが調整できるように、車体制御用のロケータ(Body_Rotation)に車体のメッシュをペアレントしています。下の画像の最後の揺れは、自動ではなく手付けです。

 

制御用のロケータを表示した画像です。青色のシリンダーがホイールの中心位置、紫のピラミッドが車体の傾き制御用のロケータです。

 

実際にはこれだけでは不完全です。Intersectのモードに「レイ」のY軸を使用しているので平面や多少の起伏なら問題ありませんが、傾斜が大きい場合に前輪と後輪の距離が離れてしまいます。タイヤの距離を一定に保つシャーシのような仕組みが必要です。

Direction Constraintを使用してタイヤの距離を一定に保ったり、Relationshipを使用してタイヤの距離を調整することはできるのですが、すっきり解決する方法が思いつかなかったので、とりあえずここまでの記事としておきます。

 

参考

車はフリー化されたignition-masterのモデルを使用しました。タイヤの回転やスケールに望ましくない値が入っていたので修正して使ってます。
https://github.com/9bstudios

参考資料

Spider-Man: Into the Spider-Verse

映画「スパイダーマン:スパイダーバース」のメイキング記事が掲載されています。機械学習を使用したラインの予測や、ゲームのように2D画像を使用した爆発表現が面白い。

https://www.sidefx.com/community/spider-man-into-the-spider-verse/

 

アーティストはライブラリから画像を選択してから、ビューポートでリアルタイムでアニメーションを表示できます。同じHDAはレンダリング用に別のジオメトリも出力します。

 

爆発は2’sでアニメーション化され、それから1’sにシフトされました。、FXアーティストは単純なパーティクルシステムを使用したり、必要に応じてこれらの要素を手動で配置したり、レンダリングや最終的な外観についてあまり心配せずに要素のタイミングや構成に集中できます。

Imageworksは開発プロセスの早い段階で、インクラインを作成するためのさまざまな解決策をいくつか試しましたが、すぐに「ルール」に基づいてインクラインを作成するアプローチ(トゥーンシェーダなど)は手書きではないことを発見しました。

アーティストは機械学習による予測でショットを開始し、必要な場合にのみ調整します。Houdiniは機械学習に最適です。HoudiniのPythonとの緊密な対話のおかげで、SklearnをHoudini内で直接実行しました。私たちは学習モデルを訓練し、Houdini環境内で直接予測を呼び出しました。

インクラインはHoudiniからKatanaへのポリゴンラインとしてエクスポートされました。アーティストはレンダリング時に照明が線の太さを調整できるようにラインを選択しました。

インクラインツールを使用してHoudiniで絵を描いているアーティストの例。

参考資料

JPEG to RAW AI

JPEG圧縮をAIを使用してRAW品質に変換するソフト。価格は$99.99、2/8まで$79.99だそうです。
https://topazlabs.com/jpeg-to-raw-ai?fbclid=IwAR0walOFniuch4GqoGcv_wusOhCdm-Jh2j6-rhz_v3u59q2uDB0NL4JXoKw

概要

JPEGをRAWで撮影したように編集します。より良い編集のために機械学習を使ってJPEGを高品質のRAWに変換してください。バンディングの防止、圧縮アーチファクトの除去、細部の回復、およびダイナミックレンジの向上。

 

ダイナミックレンジ

JPEGに変換すると画像は大きなダイナミックレンジを失います。RAW AI to JPEGは失われた影とハイライトのディテールを取り戻すことによってこの失われたダイナミックレンジの一部を回復するのを助けます。完全に足りないディテールを回復することはできませんが、それは非常に少量の情報でさえも働くことができます。

 

色空間

色空間は、画像でサポートされている色の範囲を表します。JPEG画像は通常sRGBカラースペースです。これはWebには適していますが、印刷や編集には適していません。sRGBで写真を編集するときは、彩度や鮮やかさを調整すると、醜い色のしみが現れることがよくあります。

あなたはRAW AI to JPEGを実行することによってこれが起こるのを防ぐことができます。RAW AI to JPEGの機械学習モデルは、sRGBカラースペースをProPhoto RGBに拡張します。これは通常のRAWファイルよりも優れています。私たちのモデルが欠けているディテールを高いレベルの正確さで再構築するのに十分な情報が少なくとも1つのカラーチャンネルに通常あるので、これはとてもうまくいきます。

結果として得られる色空間が大きいほど、目に見えるアーティファクトを発生させることなく、彩度と鮮やかさをより適切に編集できます。

色深度

色深度(ビット深度とも呼ばれます)は、画像に保存できる色情報の量です。ビット深度の低い画像を編集するときは、空のような滑らかなグラデーションでカラーバンディングが見えます。

8ビットJPEGは、1チャンネルあたり256個の値しかありません。そのJPEGからRAW AI to JPEGを実行すると、1チャンネルあたり65,532の値に拡大されます。これにより、画像のコントラストを調整したときにポスタリゼーションやバンディングが防止されます。

アーティファクト

高圧縮された画像を編集すると、画像内に目に見える圧縮アーティファクトが表示されます。RAW AI to JPEGは、自然な画像の特徴を維持しながらこれらのアーティファクトを除去するのに優れています。

ディテールレベル

JPEGは小さなセンサーや処理が重いため、細部がスムーズになっていることがよくあります。たとえば、iPhoneの写真は保存される前に大量に処理されるため、多くのディテールが削除されることがあります。

RAW AI to JPEGは、あなたが変換プロセスの間に取り除かれる細部を回復するのを助けます。

 

CG 日記

3Dソフトのキーマップ

3Dソフト(3dsMax、Maya、CINEMA 4D、MODO、Houdini、Unity、Unreal Engine)の基本操作の比較表を見かけたのでメモっておきます。知ってるソフトについてはショートカット追記してみました。
https://developer.blender.org/T54963

3dsMax
Maya Cinema4D Modo Houdini UnrealEngine Unity
ビューポートナビゲーション
軌道 Alt+MMB Alt+LMB Alt+LMB Alt+LMB Alt+LMB Alt+LMB Alt+LMB
パン MMB Alt+MMB Alt+MMB Alt+Shift+LMB Alt+MMB Alt+MMB Alt+MMB
ズーム Ctrl+Alt+MMB Alt+RMB Alt+RMB Ctrl+Alt+LMB Alt+RMB Alt+RMB Alt+RMB
選択の中心 Z F Shift+A Space+G F F
ビューポートを切り替える L、F、B、P Space F1-F5 1、2、3、.
Ctrl + Space
Space+
1-5
Alt+J、Alt+K、Alt+H 該当なし
選択
モード/ツールを選択 Q Q 該当なし Q S 該当なし 該当なし
選択する LMB LMB LMB LMB LMB LMB LMB
選択を解除 何もないところをクリック
Ctrl+LMB
何もないところをクリック
Alt+D
何もないところをクリック
何もないところをクリック
select.dropコマンド
??? ??? ???
選択に追加 Ctrl+LMB Shift+LMB Shift+LMB Shift+LMB Shift+LMB Shift+LMB Shift+LMB
選択から減算 Alt+LMB Ctrl+LMB Ctrl+LMB Ctrl+LMB Ctrl+LMB Ctrl+LMB Ctrl+LMB
ボックス選択 LMBドラッグ LMBドラッグ LMBドラッグ LMBドラッグ LMBドラッグ LMBドラッグ LMBドラッグ
ボックス選択に追加 Ctr+LMBドラッグ Shift+LMBドラッグ Shift+LMBドラッグ LMBドラッグ Shift+LMBドラッグ Shift+LMBドラッグ Shift+LMBドラッグ
ボックス選択から減算 Alt+LMBドラッグ Ctrl+LMBドラッグ Ctrl+LMBドラッグ Ctrl+LMBドラッグ Ctrl+LMBドラッグ Ctrl+LMBドラッグ Ctrl+LMBドラッグ
ループ選択 Shift+隣接ポリゴンクリック(頂点、えっじ)
エッジをダブルクリック
Shift+隣接ポリゴン(頂点)ダブルクリック
エッジをダブルクリック
エッジをダブルクリック L
エッジをダブルクリック
??? ??? ???
メニュー
状況依存コマンド RMB RMB RMB RMB RMB RMB RMB
トランスフォームツール
移動 W W E W T W W
回転 E E R E R E E
スケール R R T R E R R
メッシュ編集
メッシュ要素モード 1-5 F9-F11 Enter 1-3 1-4 該当なし 該当なし
押し出す Shift+E Ctrl+E D Shift+X 該当なし 該当なし 該当なし
インセット 該当なし 該当なし I B(ベベルモード) 該当なし 該当なし 該当なし
ループカット Ctrl+Shift+E 該当なし K(ナイフツールモード) Alt+C 該当なし 該当なし 該当なし
ベベル Ctrl+Shift+B 該当なし M+S B 該当なし 該当なし 該当なし
アニメーション
再生/一時停止 / Alt+V F6 / ↑(上矢印) 該当なし 該当なし
キーフレームを設定 K S S K

 

参考

3dsMax既定のホットキー
https://knowledge.autodesk.com/ja/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2018/JPN/3DSMax-Basics/files/GUID-6D38579A-C018-47F6-AC57-2578CF903F2D-htm.html

Maya のすべてのホットキー
https://knowledge.autodesk.com/ja/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2016/JPN/Maya/files/GUID-30CACC9D-8FBE-4B85-8A8F-C5ADF32DDD4E-htm.html

CG News

Clarisse 4.0 リリース

ライティング&レンダリングソフト「Clarisse 4.0」がリリースされたようです。レンダラーの強化やUSD対応など、着実に進化してますね。
https://www.isotropix.com/products/clarisse/whatsnew

続きを読む

CG News

新しいモーションデザインツール「Cavalry」

「3Dのパワーと柔軟性、2Dの使いやすさを兼ね備えた」新しい手続き型アニメーションアプリ「Cavalry」が発表されました。現在クローズドベータ版中のようです。AfterEffectsっぽいですね。
https://mainframe.co.uk/cavalry

Cavalryは2Dの使いやすさと3Dのパワーと柔軟性を組み合わせた、新しい2Dアニメーションアプリケーションです。際立っているのは、Cavalryは完全に手続き型であるということです。いつでも戻って何でも変更することができます。手続き主義への私たちのアプローチはかなり過激です。

Cavalaryは3Dアニメーション用ではありませんが、3Dアニメーターにはなじみのあるワークフローが組み込まれています。キーフレーム作成や曲線編集だけでなく、本格的なグラフエディタを備えています。つまり、変形、リギング、ダイナミクス、スキャッタリング、インスタンス化が可能です。
ユーザーは既成の動作をオブジェクトにドラッグアンドドロップするだけで、複雑な手続き型アニメーションシステムを構築することもできます。

参考資料

インテルがオープンソースのイメージ デノイズ ライブラリを公開

IntelがApache 2.0ライセンスの下でOpen Image Denoiseと呼ばれる新しいオープンソースのイメージ デノイズライブラリを公開しました。
https://openimagedenoise.github.io/
https://github.com/OpenImageDenoise

 

オープンイメージDenoiseの概要

インテル Open Image Denoiseは、レイトレーシングでレンダリングされたイメージ用の高性能・高品質のデノイズ フィルターのコレクションです。Open Image DenoiseはIntel Rendering Frameworkの一部であり、Apache 2.0ライセンスの下でリリースされています。

Open Image Denoiseの目的は、レイトレーシングベースのレンダリングアプリケーションでレンダリング時間を大幅に短縮できる、オープンで高品質、効率的で使いやすいデノイズ ライブラリを提供することです。パストレーシングなどの確率論的レイトレーシング法に固有のモンテカルロノイズを除去し、1ピクセルあたりの必要なサンプル数を数桁(グランドトゥルースへの望ましい近さに応じて)減少させます。

Open Image Denoiseは、インテル64アーキテクチャー・ベースのCPUと互換アーキテクチャーをサポートしており、ラップトップからワークステーション、HPCシステムの計算ノードまで、あらゆるもので動作します。オフラインレンダリングだけでなく、使用するハードウェアによっては、インタラクティブレイトレーシングにも十分効率的です。

Open Image Denoiseは、ディープニューラルネットワーク用インテルマス・カーネル・ライブラリー(MKL-DNN)の上に構築され、インテルSSE4、AVX2、AVX-512などの最新の命令セットを最大限に活用して、高いノイズ除去性能を実現します。Open Image Denoiseを実行するには、少なくともSSE4.2をサポートするCPUが必要です。