Modo

Tips

modoのアイテムインフルエンス

modoのアイテムインフルエンスについて書いてみます。アイテムインフルエンスはアイテムのトランスフォームを変形する機能です。アイテムインフルエンスとフォールオフを組み合わせると、複数のアイテムをデフォーマを使用してアニメーションすることができます。

 

インフルエンスを説明するために、少し回り道になりますがmodoのデフォーマ構成について書いてみます。

 

modoのデフォーマ

modoのデフォーマはプロシージャルモデリングやパーティクルシステムと同じようにノードベースの設計になっています。modoのデフォーマは主に以下のノードで構成されます。

  • アイテム
  • インフルエンス
  • エフェクタ

「アイテム」は変形対象になるアイテムです。「エフェクタ」はベンドやマグネットのように、どんな風に変形するか指定します。「インフルエンス」はどこを変形するか指定します(ウェイトマップやモーフマップなど)。

Soft Lag、Push Influence、MDD Influenceのようにインフルエンスとエフェクタ両方の機能を持った特殊なデフォーマも存在しますが、modoではこれらのノードを組み合わせることで、様々な変形アニメーションに対応しています。

 

アイテムインフルエンスを説明するために、ジェネラルインフルエンスについて書いてみます。

ジェネラルインフルエンス

ジェネラルインフルエンスはメッシュを変形する最も利用頻度の高いインフルエンスです。ベンドやスケルトン変形など一般的に「デフォーマ」でイメージされるメッシュ変形には「ジェネラルインフルエンス」が使用されます。

下の画像はベンド エフェクタを使用してメッシュを変形した例です。ベンドによってメッシュが変形しているのがわかると思います。

 

アイテムインフルエンス

アイテムインフルエンスはアイテムのトランスフォーム(移動/回転/スケール)を変形する機能です。ジェネラルインフルエンスと違いメッシュは変形しません。計算量が少ないので動作が軽いという特徴があります。

下の画像はベンドエフェクタを使用してトランスフォームを変形したものです。ベンドによってアイテムのトランスフォームが変形していますが、メッシュは変形していないことがわかると思います。

 

アイテムインフルエンスの使用方法

アイテムインフルエンスを使用するにはスケマティックを使用して、アイテムをアイテムインフルエンスにリンクします。

 

アイテムインフルエンスは「移動」「回転」「スケール」を個別に制御可能です。フォールオフを使用するとアイテムを連続的にアニメーションすることができます。

サンプルファイル

 

球体を「シャッター & グルー」でバラバラに粉砕したもの。アドバンスドビューポートなのでフレームレートが少し低いですが、アイテム数が380個くらいならリアルタイムで動きます。

 

modoのサンプルファイルにある車をアニメーションしてみた。アイテムの移動はアイテムインフルエンスの「スケールの影響」をOFFにして、スケールをアニメーションしています。元の組み上がってる状態がスケール100%。

 

アイテムインフルエンスを使用するとブレイクダウン映像のように画面の上からオブジェクトが降ってくるようなアニメーションや、オブジェクトが組み上がるようなアニメーションが手軽に作ることができて便利ですね。同じアイテムを大量にアニメーションする場合には、フォールオフプローブを使用したアニメーション制御がお勧めです。

 

modo 601ではじめてデフォーマを使ったとき、エフェクタとインフルエンスとが分かれてる理由がよくわかりませんでした。他のソフトではエフェクタとインフルエンスがセットで「デフォーマ」として扱われている場合が多かったため、modoのノード構成が複雑に思えました。601の頃はノードベースというのがよくわからなかったというのもあります。

今となってはエフェクタとインフルエンスが分かれてることで、エフェクタが違っても同じようにウェイトマップ等のインフルエンス機能を使用ことができることや、新しいインフルエンスが追加された場合でも既存のエフェクタを組み合わせて使用できるように現在のノード構成になっているのかなと思います。

CG News

Rigging Master Course 3

modo用のリギングチュートリアル「Rigging Master Course 3」の進捗ムービーが公開されています。modoでキャラクターリギング のプロセスを追加する予定とのことです。
https://community.foundry.com/discuss/topic/145422/rigging-master-course-3

著者のRichardさんは元PixarのキャラクターTDの方です。modoのデフォーマシステムは市販のソフトの中では最もPixarのソフトに似ている話を見かけますが、スレッドには「modoは私がPixar(およびRhythm and Hues)で学んだことに基づいて、必要なリグを組み立てることを可能にする唯一のセルフアプリケーションです」というコメントもあり、Pixarに通じるキャラクターリグの解説が期待できそうです。
https://community.foundry.com/discuss/post/1159525

Tips

modoのユーザーチャンネルをFBXに出力する方法

modoのユーザーチャンネルをFBXに出力する方法について書いてみます。modoでリギングする場合はユーザーチャンネルを使用することが多いと思います。このユーザーチャンネルの値を他の3Dソフトに渡したいことがあるかもしれません。

modoはユーザーチャンネルの「チャンネル名称」の先頭を「FBX_」にすると、FBXファイルにユーザーチャンネルを出力することができます。

 

出力可能なチャンネルタイプ

modoがFBXに出力可能なチャンネルタイプは以下の通りです。ただし「正数」やベクターモードの出力には問題があるように思います。

  • 正数
  • 浮動小数点
  • 距離
  • 角度
  • パーセンテージ
  • クォータニオン
  • 焦点距離
  • XYZ
  • RGB
  • RGBA
  • UVW

 

全てのチャンネルタイプを追加してFBX出力して試してみた。

 

Mayaに読み込んだ画像、カスタムアトリビュートとして読み込まれてるのがわかる。一部のチャンネルタイプと値が読み込まれていない。

 

3dsMaxに読み込んだ画像、Mayaと比べるとAngleの値がおかしいのとキーが正しく読み込めてないような気がする。MaxってRGBAのUI存在するんだね、知らなかった。

 

キーフレームの出力

ユーザーチャンネルにキーフレームを設定している場合、modo 12.2以前のバージョンではエクスポート時にmodoがクラッシュするので注意が必要です。

modoからMayaに出力する場合は「浮動小数点」タイプ「スカラー」モードのチャンネルを使用しておくのが無難に思います。またユーザーチャンネルの読み込みはFBXインポーター側の対応状況にも依存するので、事前に調べておく必要がありますね。

Tips

modoのパーティクル モディファイヤ

modoのパーティクル モディファイヤについて書いてみたいと思います。モーショングラフィックのような規則的なアニメーションを手軽に作成することができます。

 

パーティクル モディファイヤとは

パーティクル モディファイヤはメッシュの頂点やシミュレーションされたパーティクルのトランスフォーム情報(位置/回転/スケール)を編集することがでるノードで、Replicatorでアイテムを複製するときに使用すると便利です。

 

 

例えば Particle Look At Modifierを使用すると、Replicatorで複製されたアイテムが指定したアイテムの方向に回転することができます。

 

Particle Modifier

Particle Modifierノードは最もシンプルな機能のノードで、パーティクルにトランスフォームを加えることができます。フォールオフと組み合わせると、フォールオフの範囲内のパーティクルにだけ影響をあたえることができます。

サンプルファイル

 

フォールオフはテクスチャにも使用することができます。うろこがめくれると、質感が変わるような表現にも便利に使えます。サンプルファイルの質感の設定がちょっと雑です。

サンプルファイル

 

アドバンスドビューポートとGradientを使用した例。アドバンスドビューポートはGradientが表示出来て便利なのですが、テクスチャのフォールオフなど、もっと色々な表示に対応してくれたら面白いんですけどね。

パーティクル モディファイヤはモーショングラフィックのような用途以外にも覚えておくと便利だと思います。他のパーティクルモディファイヤの解説ムービーを貼っておきます。

 

参考

Sentinel Skin Transition Effect

https://cgi.tutsplus.com/tutorials/sentinel-skin-transition-effect–cms-22497

 

Particle Modifier

 

Particle Look At Modifier

 

Particle UVT Modifier

 

Particle Snap Modifier

 

Particle Sieve Modifier

 

Particle Audio Modifier

 

関連

modoではVertex Transform Mapを使用すると、パーティクルごとに手動でトランスフォームを編集することができて便利です。静止画用途で便利に使えると思います。

CG News

CHAOS CLOUDサービス開始

V-Rayのクラウドレンダリングサービス「CHAOS CLOUD」が利用可能になったようです。20クレジットを無料配布中のようです。
https://www.chaosgroup.com/cloud

 

概要

新しいクラウドレンダリングサービス、Chaos Cloudを開始しました。Chaos Cloudは5年間のR&Dと6か月間で600万フレームと50万以上の仕事をレンダリングした広範なベータプログラムによって支えられています。これらのテストのおかげで、アセットを追跡したり、ライセンスを管理したり、仮想マシンを設定したりすることなく、1フレームをレンダリングする時間でアニメーション全体をレンダリングできます。

 

Chaos Cloudを試すと20個の無料クレジットがもらえます

V-Ray for 3ds Max, Maya, Rhino, Cinema 4D, Revit, Modo, Houdini , SketchUp (Next and 3.6 editions)は、Chaos Cloud内のボタンを介してアクセス利用可能です。

Chaos Cloudの機能は次のとおりです。

SmartSync

SmartSyncテクノロジを使用すると、データをChaos Cloudに一度アップロードするだけで済みます。その後はシーンの変更された部分だけを再同期します。アップロード時間を最小限に抑え、作業中の迅速な繰り返しを保証します。

SmartVault

Chaos Cloudを介してアップロードされたすべてのデータは安全なSmartVaultデータベースに保存され、簡単に呼び戻したり追加のレンダリングを行うことができます。SmartVaultはアセットの「指紋」を追跡しているため、名前の付け方、使用されているシーン、またはローカルの場所に関係なく、それらを再度アップロードする必要はありません。

ライブビューとリモートコントロール

Chaos Cloudインターフェースは完全にブラウザベースであるため、スマートフォンを含むほぼすべてのデバイスからそれを制御できます。ライブビューとリモートコントロールを使用すると、ユーザーは進行状況を監視したり、画像をプレビューしたり、インターネットを使用してどこからでもレンダリングを一時停止したりキャンセルしたりできます。

 

価格設定

一部のクラウドレンダリングサービスとは異なり、Chaos Cloudの価格はすべて込みです。ライセンス、アップロード、ダウンロード、保存、またはすぐにレンダリングジョブを開始するための隠れた料金や追加料金はありません。

Chaos Cloudクレジットのパッケージを購入することができます。これは数量割引で利用できます。今のところパッケージは100クレジット$100から始まり、価格はより大きなパッケージでは1クレジットあたり55セントにまで下がります。

Tips

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

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

サンプルファイル

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


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

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

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

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
  • 円弧分布、曲面上のボリュームをより良く保つ
  • 右クリックで反復処理にマッピング

 

 

 

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

CG News

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

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

TMSCAM

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

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

 

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

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

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

Tips

modoのレンダリングウィンドウで進行状況を表示しない方法

modoのレンダリングウィンドウで、レンダリングの進行状況を表示しない方法について書いてみます。

modoはレンダリング実行時に、オレンジ色のバケット単位でレンダリングの進行状況が表示されます。レンダリングの進捗が見れるのでミスがあった場合に気がつきやすくて便利なのですが、進捗表示はレンダリング速度に影響します。

進捗を100%サイズで表示していると画像のアップデートの処理ぶんレンダリングが遅くなり、3.313%のように表示サイズを小さくすると少し早くなります。これはレンダリングウィンドウのサイズを変えてレンダリングしてみると、速度に差が出るのを簡単に確認できると思います。
静止画であれば問題になることは少ないと思いますが、アニメーションの場合は少しでもレンダリングが速いほうが嬉しいと思います。

 

レンダリングコマンド

進行状況を表示しないようにするには、render.animation コマンドのオプションを使用します。

render.animation {C:\Output\FileName_} png16 2

コマンドフィールドに入力してEnterを押すと、進行状況を表示せずアニメーションのレンダリングが実行されます。レンダリングが完了すると最後のフレームがレンダーウィンドウに表示されます。

コマンドリストを検索すると、render.animation の引数について書かれているのがわかると思います。

render.animation <filename:string> <format:string> <options:integer> <group:&item>

<filename:string>は出力先のファイルパスとファイル名を設定します。ファイルパスのような引数は{}で囲んで指定します。<format:string>は出力形式、<options:integer> がレンダリングオプションです。<group:&item>はレンダーパスの設定です。今回レンダーパスは使用してないので省きました。引数がない場合はシーンの設定でレンダリングされます。

コマンドリストにはオプションに関する説明がありませんが、以下のようになってるらしいです。

  • 1 : NOT_WAITING // 次のフレームをレンダリングするまで待機しません
  • 2 : NO_IMAGE // 進捗画像を表示しない
  • 4 : IC_ONLY // ICのみレンダリング
  • 8 : NO_CLEANUP // レンダリング終了後にクリーンナップしない
  • 0 : RENDER_ANIIM // アニメーションをレンダリングしていることを示すためにrender.animationによって使用される。

今回は進捗を表示したくないので「2」を使用しました。このオプションはデバッグ用に用意された物で、現在でも上記のオプション通りに動作するかはわかりません。

アニメーションをレンダリングするときに使うと、時間の節約になって便利かもしれません。ちなみに進捗状況の表示サイズが大きいとレンダリングが遅くなる問題はAfter Effectsでも発生するし、modo同様にビューを縮小するとレンダリング速度が速くなります。

 

参考

https://community.foundry.com/discuss/post/721479

CG News

modo用ノードベースマテリアルエディタ「NoMo」公開

modo用のノードベースマテリアルエディタ「NoMo」が公開されています。価格は£45、現在アーリーアダプター価格で25%OFFとのことです。
https://gumroad.com/l/ZvnKx

現在はmodoのスケマティックでできることと同じ程度の機能ですが、modoのスケマティックより拡張した物を作りたくて開発中とのことです。将来的にノードライブラリとカスタムモードを作成したいとのこと。またノードにプレビューを追加する予定らしいです。
https://community.foundry.com/discuss/topic/145287/nomo-published-a-node-based-material-editor-for-modo

オリジナルのスケマティック追加してるのが面白いですね。modoはこういう拡張性もあるんだね。

 

概要

Modosプロシージャルテクスチャを利用して複雑なテクスチャの作成をスピードアップする、Modo用のノードベースのマテリアルエディタ。