2016年1月10日日曜日

Modo 901/902 チップス:カーブフィル

Modoのポリゴンには幾つかの種類あります。フェイスポリゴンやサブディビジョンサーフェイスをはじめ、カーブやベジェカーブ、ポリライン、テキストなどもポリゴンとして定義されています。サポートされているポリゴンは、Statistics & Info (状態と情報)パネルのPolygon > By Type (ポリゴン > タイプで)で確認することが可能です。

Modo 901には、カーブフィルという新しいポリゴンタイプが追加されています。これは閉じた曲線で構成されている内側を塗りつぶす領域を表現するポリゴンタイプです。これはテキストポリゴンに良く似ていますが、テキストとフォント形式の代わりにカーブやベジェカーブ、ポリラインを使ってアウトラインを構成します。また、アウトラインにある内側のカーブを穴として認識することができますので、穴の空いた領域を一つのポリゴンとして扱うことが可能です。



使い道としては、テキストポリゴンで作成した形状をプラットフォームに依存しない形式でシーンに保存する為に使うことが一つあります。テキストポリゴンはそれを作成したコンピュータにインストールされているフォントからアウトラインを取り出すため、そのシーンを開いたコンピュータに使用したフォントが存在しないと同じグリフを読み出すことができません。また、EPSFファイルやSVGファイルなどから読み込んだベジェカーブなどからカーブフィルを作成することも可能です。

カーブフィルポリゴンを作成するには、アウトラインとなるカーブやベジェカーブ、ポリラインを選択してから、poly.makeCurveFillコマンドを実行します。poly.makeCurveFillは、システムメニューのGeometry (形状)> Polygon(ポリゴン)> Make Curve Fill(カーブフィルの作成)から実行することができます。

また、カーブフィルポリゴンはフリーズコマンドを使用して、三角形のフェイスポリゴンに変換することが可能です。




2016年1月1日金曜日

Modo 901/902 チップス :作業平面

Modo 902がリリースされました。今回のリリースはバグ修正に加えて、デジタルマットペインティングにフォーカスしたカメラマッチングや画像投影、プロジェクションインクなどの新機能が追加されています。カメラマッチングの機能はThe FoundryがAfter EffectのプラグインとしてリリースしているCAMERATRACKERのテクノロジーが使用されています。今後も特定のワークフローにフォーカスしたリリースを行う予定があります。

サービスパックは不具合の修正やパフォーマンスの改善が基本的ですが、幾つかワークフローに関する小さな改善が行われている機能もあります。作業平面に関しても改善が行われました。

作業平面を原点に固定

Modoには、作業平面という概念があります。レイアウトの右上の方に「作業平面」というボタンがあり、選択したポリゴンやエッジに併せて仮想的に座標系を設定することが可能です。ここで設定する機能は指定した座標系に作業平面を一致させるカスタム作業平面ですが、Modoでは作業平面は常に定義されており、3Dビューのナビゲーションに合わせて自動的に変更されています。パースペクティブビューに表示されている白いグリッドが作業平面です。

ボックスツールなどのプリミティブ作成ツールで3Dビュー上でインタラクティブにプリミティブを作る時は、この作業平面上にプリミティブが作られます。例えば原点から離れている場所にあるメッシュの位置に並べて別のプリミティブを作成する場合、作業したい形状がある位置でビューのズーミングを行うと作業平面の中心位置がその形状の付近に移動されるのでプリミティブ作成などの作業を自然に行うことが可能です。




一方、ビューの原点を基準に作業を行いたい場合、この作業平面がビューのナビゲーションなどで動いてしまうとプリミティブの奥行き(Z値)が三面図上でまちまちになってしまう場合があります。そこでこのような場合は、作業平面を原点に固定というオプションを有効にすると作業平面の中心位置が原点に固定され、問題を解決することができます。この場合、自動作業平面の画角は通常通りナビゲーションに合わせて変化します。




作業平面表示

3Dビューポートオプションにある作業平面表示の動作も901 SP2で変更されました。以前は、この作業平面表示のオプションをオフにすると自動作業平面とカスタム作業平面で表示される白いグリッドは両方とも非表示になっていましたが、901 SP2から自動作業平面の白いグリッドのみが非表示になり、作業平面を選択に合わせるなどで設定した作業平面のグリッド表示は影響を受けないように変更されました。自動作業平面で表示されるグリッドは時として煩雑に感じられ非表示にしたいときがありますが、カスタム作業平面のグリッドは常に表示するべきだという要望から変更されました。




2013年4月20日土曜日

modo 701: スカルプティング

Modo 701では、主にマルチレゾリューションメッシュのスカルプティングに改善が行われました。まず、最初の変更は処理速度の向上です。Modo 701では、いろいろな分野で処理速度の改善が行われていますが、スカルプティングの処理速度も601と比較してもらうと飛躍的に改善されていることが体感できる思います。



また、ユーザーインターフェイスに関する改善点としてSculpt HUDを使用した3Dビュー上のユーザーインターフェイスがあります。ちなみにHUDはヘッドアップディスプレイの略で文字情報などが眼前に表示されるヘルメットやゴーグルなどから起因しています。最近だとグーグルグラスでしょうか。このSculpt HUDは、スカルプティングツールを起動すると同時に画面上に表示され、サブディビジョンレベルやマルチレゾリューションのオンオフの切り替えを画面上で行う事が可能です。パネルは半透明で表示されますので作業の邪魔にはならないと思いますが、左上のSculpt HUDボタンを押して手動で表示・非表示を切り替えることができます。


Modo 701では、マスク機能もサポートされています。通常、スカルプトしたくない場所を指定する場合は、対象となるポリゴンを非表示にしたり、ロックしてスカルプトツールが編集できないようにすることがいままでの方法ですが、マスク機能を使うと編集したくない場所をマイクロポリゴンのポイント単位でウェイトとして指定することが可能です。マスクの指定は、スカルプトツールメニューバーのMaskにあるツールを使ってペイントしたり、コマンドで操作することが可能です。Bake Falloffはマイクロポリゴンのポイントに対して指定したディスプレースメントの値もしくはマスクの値を数値で設定するコマンドです。Lassoなどのフォールオフを使用して値を設定する領域を限定することが可能です。


その他の便利なコマンドにConvert to Multiresolutionがあります。UtilitiesタブのSculpt Commandsに追加されているコマンドです。これはテクスチャベースのディスプレースメントマップをマルチレゾリューションメッシュに変更するコマンドです。テクスチャに記録されているディスプレースメントは浮動小数点形式のTIFFやOpenEXRなどの画像に保存されておりUVマップを基準にサーフェイス上にマッピングされています。Convert to Multiresolutionは、画像ファイルに保存されているディスプレースメントの情報を対応するマイクロポリゴンの位置にコピーします。変換時にはマルチレゾリューションのサブディビジョンレベルを手動で設定します。マルチレゾリューションとテクスチャとでは解像度の概念がことなりますので、完全にディーテールを復元することはできませんが、サブディビジョンレベルを大きくすることで誤差を少なくすることができます。MARIやZBrushなどの別アプリケーションで作成したテクスチャーベースのディスプレースメントをmodoのマルチレゾリューションに変換することが可能になります。

ディスプレースメントマップを適用したメッシュ

マルチレゾリューションメッシュに変換後

2013年4月16日火曜日

modo 701: モデリングワークフロー

modoの開発ではメイン機能の開発以外にユーザーの方々からいただいた様々な機能改善要求やアイディアを取り込んでいます。モデリングツールやワークフローに関してもいつもフィードバックがあり、改善をおこなっています。以前のブログでリトポロジーのワークフローの改善に関して紹介いたしましたが、今回はそれ以外のモデリングに関する改善を解説いたします。

コピーアンドペースト
ポリゴンや頂点、UVデータをクリップボードにコピーし、別のメッシュレイヤーやポリゴンにペーストする機能はmodo 101からありますが、modo 701ではこの機能に若干の改善を加えています。頻繁に使用する機能ほど細かな改善が求められます。

まず、エッジデータのコピーアンドペーストです。エッジデータというのはポリゴンとポリゴンの境界であり、頂点と頂点をつなぐ実体を持たないリンクの情報です。modo 601までは、エッジを選択してコピーしてみても何もクリップボードにコピーされなかったのですが、modo 701では頂点と頂点を結ぶ線分を線ポリゴンとしてクリップボードにコピーされるようになりました。これによりエッジをダブルクリックしてコピーした後、別のメッシュレイヤーにペーストすると選択したエッジと同じ位置に線ポリゴン(2ポイントFACEポリゴン)が追加されます。この線ポリゴンはブリッジツールを使って面ポリゴンを内装したり、回転体ツールなどのプロファイルとして使用することもできます。また、エッジを選択してカットしたときの動作は、BACKSPACEキーに割り付けられているedge.removeと同じになり、そのエッジを挟む両方のポリゴンが結合されるように変更されました。



また、コピーアンドペーストするポリゴンの選択ルールを細かく初期設定パネルで指定することも可能になりました。modo 601でポリゴンを幾つか選択してコピーし、直ぐにペーストを行うと元のポリゴンとペーストしたポリゴンの両方が選択されてしまうため、移動ツールを使用してペーストしたポリゴンだけを直ぐに移動したい場合、元のポリゴンまで一緒に動いてしまうのが操作の邪魔でした。初期設定パネルで”Deselect Elements after Copying”にチェックを入れておくとコピー後に元ポリゴンは直ぐに解除されるため、ペースト後は新しくペーストポリゴンだけが選択状態になります。また、ペーストを行ったタイミングで元ポリゴンの選択を解除したい人は、"Deselect Elements before Pasting"の方で試してみてください。これによりペーストしてから直ぐに移動ツールで新しくペーストしたポリゴンを動かすことが可能になります。



UVのコピーアンドペーストは、3Dのポリゴンや頂点とは異なるクリップボードを使用する独立したコマンド群です。選択してコピーしたUVポリゴンは、選択した順番にクリップボードに保存され、貼り付けるポリゴンに選択された順番にペーストされます。今回の変更はクリップボードに保存されているUV情報を選択されていないメッシュにペーストした場合、可能な限り選択元のポリゴンの位置情報を利用して最も近いポリゴンを見つけてペーストを行うように変更されました。たとえばどう形状の別々のメッシュレイヤーのUVをペーストする場合、元のメッシュのポリゴンをダブルクリックしてコピーし、別メッシュレイヤーを選択した後、ポリゴンを選択しないでペーストすると元のポリゴンに近いUVが自動的にペーストすることが可能になります。以前はコピーした時と同じ順番でペースト先のポリゴンを選択する必要がありました。

エッジベベルのシェイプオプション
エッジベベルに新しくシェイプオプションが追加されました。通常、エッジベベルは選択した面をフラットに削るか分割数を指定して丸め処理を行います。シェイプオプションでは、丸め処理以外の方法で選択したエッジ周辺のポリゴンを分割することが可能です。Sharpモードはちょうどポリゴンに対してインセットを行ったのと同じような分割を行います。Squareモードはエッジからオフセットした位置にスライスを行います。このSquareモードを使うとサブディビジョンサーフェイスにエッジウェイトを追加せずに丸みを帯びたシャープなエッジを追加することができます。

 Sharpモード
Squareモード
Squareモードでベベルしたサブディビジョンサーフェイス


メッシュのマージとアンマージ
アイテムリストにMerge MeshesUnmerge Meshというメニューが追加されました。Merge Meshesは、選択した複数のメッシュアイテムを最初に選択したアイテムに結合するコマンドです。選択したメッシュのポリゴンをコピーして別のメッシュにペーストするのと同じ処理を行います。アイテムのトランスフォームの変換もオプションで行うことができます。Unmerge Meshは、マージコマンドと逆に同一メッシュを連結ポリゴングループ単位に別々のメッシュアイテムに分割するコマンドです。連結ポリゴングループはポリゴンをダブルクリックして選択されるポリゴンと考えてもらえば間違いありません。一つのメッシュアイテムに含まれている複数の部品を別々のメッシュアイテムに分離してアニメーションさせたい時などに便利な機能です。

スプリットノーマル
スプリットエッジ(edge.split)というコマンドがありますが、このコマンドは選択したエッジ上の頂点を複製し、エッジの両サイドで別々に共有する頂点を分けるコマンドです。エッジを部分的に鋭くする目的で使用しますが、頂点が物理的に分割されてしまうため、用途が制限されてしまう場合がありました。これに対してスプリットノーマルは、頂点は複製せずに法線ベクトルマップの頂点法線ベクトルを操作して同様な表現を可能にするコマンドです。法線ベクトルマップは非連続の頂点マップですので各ポリゴンのコーナー単位に独立した法線ベクトルを頂点に持たせることが可能です。



2013年4月14日日曜日

modo 701: オーディオサポート

modo 601では、大幅にアニメーション機能が強化され、フルタイムIKエンジン、デフォーメーションシステムが搭載されたことにより、キャラクターアニメーションの制作のワークフローが提供されました。modo 601リリース後にアニメーションに関する機能要望で一番多かったのがオーディオのサポートです。modoは、3DCGツールですので高機能なオーディオ編集機能は必要ありませんがオーディオにあわせてアニメーションを作成するためには最低限アニメーションの再生にあわせてオーディオを再生する必要があります。modo 701では、ネイティブにオーディオデータを取り扱うことができるように大幅にアップデートが行われました。

modo 601リリース後、modo 601上でオーディオを再生することができるAudio ApeというプラグインをCelfさんというmodoユーザーの方が開発し、公開してくれています。Audio Apeは、modo 701とプラグインの互換性の問題で衝突するらしく、modo 701で起動したときはプラグインが無効になる新しいバージョンが公開されているようです。

サポートされているファイル形式
オーディオファイルの取り扱い方は、画像ファイルの取り扱い方とよく似ています。画像ファイルのフォーマットにPNGやJPEGがあるようにオーディオファイルにもさまざまなフォーマットが存在します。まず、modoがデフォルトで読み込める形式として最も基本的な非圧縮のWAV(8ビット・16ビット整数)があります。その他のフォーマットは、各OSが提供するフレームワークを使用したプラグインとして提供されています。WindowsはDirectShow、OSXはAudioTookitを使用して各OSが取り扱えるmp3, aiffなどのオーディオファイルをmodoに読み込むことができます。このプラグインによりさまざまなオーディオ形式が取り扱えますが、エンコーディングはOSの環境に依存しますので、異なるコンピュータでオーディオファイルを交換するときは使用しているエンコーディングに注意が必要です。

オーディオの読み込みと再生
オーディオファイルを読み込む方法は、複数用意されています。一番簡単な方法は、オーディオファイルをデスクトップからドラッグしてmodo上でドロップする方法です。3Dビュー上にドロップするとオーディオファイルは読み込まれますが、ドロップするオーディオファイルを直ぐに再生したい場合は、タイムスライダーにドロップします。modoでは、複数のオーディオファイルを読み込むことが可能ですが、再生できるオーディオクリップはタイムラインに設定したオーディオクリップ一つのみです。タイムラインにオーディオクリップをセットするとタイムライン上にウェーブフォームが表示され、アニメーションの再生ボタンを押すと直ちにオーディオが連動して再生されます。また、下記の方法からもオーディオファイルを読み込むことが可能です。

  1. システムメニューのLoad Audio...もしくはLoad Audio to Timeline...から読み込む
  2. オーディオビューポートの(Load Audio)メニューから読み込む
  3. プリセットブラウザからオーディオファイルをダブルクリックもしくはドラッグアンドドロップで読み込む


オーディオアイテム
オーディオファイルは、画像ファイルと同じようにアイテムとして読み込まれ、オーディオビューポートで管理されます。オーディオファイルには幾つかの属性があり、アイテムプロパティシートで選択したアイテムの属性を表示させることが可能です。
  • ボリューム(Volume
  • ピッチ(Pitch
  • 先頭からの開始位置(Trim Start
  • 長さ(Duration
Trim StartDurationを使ってオーディオクリップの頭出しと全体の長さを調整することができます。これはクリップ自身の再生開始位置と長さの調整ですので、アニメーションのタイムライン上にクリップを配置し、タイムライン上のどのいちから再生するかは、Audioボタンを押して表示されるポップアップメニューで再生位置を設定します。配置したクリップを繰り返し再生する設定もここで行います。



ウェーブフォームの表示
タイムラインに設定したオーディオクリップは、タイムライン上にその波形が表示されますが、タイムラインは細長いのでいささか見にくいのが難点です。そこでこの波形を3Dビュー上に大きく表示するためのツールが用意されています。Waveformツールは、システムメニューのViewプルダウンメニューから選択するかオーディオポップアップやアニメーションレイアウトのアイコンからの起動することができます。半透明で表示され、大きさや位置を変更することができますので、アニメーション編集作業を邪魔することなく波形を表示することができます。



サウンドチャンネルモディファイア
サウンドデータは、時系列に値が変化する波形データです。この波形データを任意のチャンネルの入力データとして利用するためにサウンドチャンネルモディファイアが用意されています。サウンドモディファイアをスケマティックビュー上に追加し、その出力を任意の入力チャンネルに接続します。サウンドモディファイアの入力にオーディオクリップからの出力がつながれている場合は、そのオーディオクリップが入力されます。オーディオクリップが接続されていない場合は、タイムライン上に設定されているオーディオクリップが自動的に入力として使用されます。このサウンドチャンネルモディファイアを使うことによってオーディオの強弱にあわせた動きをアニメーションに取り込むことが可能になります。







2013年4月4日木曜日

modo 701: リトポロジーワークフローの改善

スカルプティングツールで作成したり、3Dスキャナで読み取った細かいメッシュからポリゴン数が少なくアニメーションで使用しやすいメッシュでモデルを作り直すためのツールセットとレイアウトが用意されています。modo 701では、このリトポロジーのワークフローを改善するための機能追加が行われています。

コンターツール(等高線ツール)
コンターツールは、スライスツールによく似たツールですが、形状をスライスする代わりに非アクティブになっているサーフェイスアイテムとスライス平面が交差する断面の輪郭をカーブポリゴンとして生成するツールです。非アクティブのアイテムはメッシュアイテム以外にスタティックメッシュ、インスタンスメッシュなどの他、ギアなどのプロシージャルサーフェイスアイテムもサポートされています。デフォルトでは、断面はカーブポリゴンとして生成されますが、リトポロジー以外の目的で線分や面ポリゴンとして等高線を作ることも可能です。

ブリッジツール
ブリッジツールは、以前からある基本的なモデリングツールの一つですが、modo 701ではリトポロジー作業を効率化するための便利な機能が追加されています。

まず、modo 701のブリッジは複数のブリッジを一度に行うことができるようになっています。デフォルトはContinuousモード(連続モード)で、コンターツールで作製した断面のカーブをつなぎ合わせてその間に指定した分割数で面ポリゴンを貼ることができるようになっています。Continuousモードをオフにした場合は、選択したエレメントグループの奇数番目と偶数番目が順番にブリッジするペアになります。





コンターツールで作製したカーブをブリッジツールでつなぎ合わせる場合、つなぎ合わせるカーブとカーブの距離が最短になる箇所がブリッジの開始位置となります。連続した複数のカーブをつなぐ場合、この開始位置を意図した場所に設定したい場合があります。"Use Guide Curve"というオプションを有効にすると最後に選択したカーブと各断面のカーブが交差する位置を開始位置として設定することが可能になります。


左:Use Guide Curveなし、右:Use Guide Curveあり

"Auto Connection"というオプションは、リトポロジー作業以外でも使える便利な機能です。選択したエッジをブリッジで結合し、メッシュにあいた穴を塞ぎたいとき、このオプションを指定すると選択したエッジの端点をからもう一方の選択したエッジの端点を検出し、自動的に最適な分割数で穴を塞ぐことができます。



トポロジーペン
トポロジーペンにも新しいモードが追加されています。Pointモードは、頂点ツールと同じようにクリックした場所に頂点を作製します。このPointモードを使ってポリゴンを作製するためのポイントを背景メッシュ上に先に配置します。またFillモードは、マウスカーソル付近にある4つのポイントでポリゴンを作ります。マウスカーソルを移動すると自動的に近傍に円が表示されます。その円の中にポリゴンとして作成可能な4つのポイントが見つかると四角形がプリハイライト状態になりますので、マウスの左ボタンを押すと四角形が作製されます。







2013年3月30日土曜日

modo 701: ユーザーインターフェイス

modo 701では、ユーザーインターフェイスに関するさまざまな工夫が行われています。3Dアプリケーションは、三次元の世界を2Dのデバイスで表示したり、複雑なモデルを操作したりする必要があるため、ユーザーインターフェイスの操作性が生産性に大きく影響するソフトウェアだと思います。

レイアウトスイッチャー
まず、目玉の機能として搭載されたレイアウトスイッチャーを紹介します。これはショートカットキーを使用してレイアウトを素早く切り替える機能で、Ctrl+TABキーを押すとビルトインされたレイアウトを選択するためのインターフェイスが表示されます。OS Xでコマンドキー+TABを押すと表示されるアプリケーション切り替えによく似ています。このレイアウト選択の画面にはビルトインされているレイアウトに加え、ユーザーが定義したレイアウトも表示されます。ユーザー定義のレイアウトにはデフォルトでレイアウトを作成したときのスクリーンスナップがサムネイルとして作成されます。レイアウトメニューにあるReplace Layout's Switcher Icon With Image...を使って他の画像と変更することもできますが、このサムネイルは、user:Configs/LayoutThumbnailsフォルダに保存されますので、自分で画像処理ソフトを使って書き換えることもできます。


下記はCtrl+〜(チルダ)キーで表示されるFavoriteモードでの表示で、パイメニュー形式でレイアウトが表示されます。このモードは表示できるレイアウトの数が固定されていますのでよく使うお気に入りを入れ替えて使用します。


プリセットワークフロー
modo 701では、プリセットの作り方が簡単になりました。シェーダツリーからマテリアルをドラッグしてプリセットブラウザにドロップするとそのマテリアルのプリセットが自動的に作成されます。このプリセットのサムネイル画像は、プリセットブラウザ上で右ボタンを押して表示されるコンテキストメニューにあるReplace Icon with Image...を使って任意の画像に入れ替えるか、Replace Icon with Last Renderを使って最後にレンダリングした画像と入れ替えることができます。


レイアウト単位のキーボードショートカット
modoは、ビューポートやツールなどさまざまな条件で、固有のキーボードショートカットをInput Editorで設定することができますが、modo 701では各レイアウトごとにキーボードショートカットを定義できるようになりました。使いやすいショートカットは、キーボードの左側に集中していますので、モデリングレイアウトとアニメーション作業用のレイアウトで別々のショートカットが使えるようになるのは便利です。自分で作成したレイアウトに個別ショートカットを定義できるようにするには、作成したXMLリソースに"InputRemappingContext"を定義する必要があります。また、"PostRestoreCommand"というタイプをレイアウトに定義することでレイアウトを切り替えた後で実行するコマンドを設定することができます。Resrcフォルダにある、701_lyt_*.cfgファイルに既存のレイアウトが定義されていますので、カスタマイズしたい場合はこれらを参考にすることができます。


ツリーナビゲーション
アイテムリストやシェーダツリーは、ツリー構造を持つビューポートです。modo 701では、これらのツリー構造を持つビューポートをナビゲートするための一般的な操作方法が用意されました。矢印キーを使ってアイテムを順番に移動したり、アイテムリストの目玉アイコンをマウスでドラッグして一括してオンオフを切り替えることが可能になりました。また、アイテムの色分けもできるようになりましたので、アイテムの分類がしやすくなっています。



その他、各ビューポートの右上には、オプションを表示するためのギアボタンと最大化ボタンが追加されています。また、Mac固有の機能ですが、アプリケーションをフルスクリーンで表示するモードのサポートとRetinaディスプレイでフォントを綺麗に表示するための改善なども行われています。