KeyShot 3.2がリリースされました。

本家のサイトでも告知されている通りKeyShot 3.2がリリースされました。今回のアップデートでは既存の機能の拡張、UIのクリーンアップ、安定性の向上などに主眼が置かれています。以下がリストとなります。

  • マテリアルテンプレートの機能拡張 – パーツとマテリアルをテンプレートアイテムとして使用。ワイルドカード(*.*)のサポート
  • ライブラリーコンテンツの読み込み(マテリアル/環境/テクスチャー等を読み込む待ち時間が無くなりました)
  • UNDO機能の再設計。新たに実装し直しました。
  • スケールと移動のサポート(スケールと移動の値が記憶されます)
  • パラメータ入力時の小数点の設定を無限に
  • 円筒テクスチャマッピングの機能拡張
  • シーンツリー上での矢印キーの採用。カメラリストなどを選択する際便利です。
  • シーンツリー上での全て畳む/全て展開機能の追加
  • レンダーダイアログ上でのリアルタイムと詳細設定を同期(レイバウンス、影の品質など)
  • 新しいカメラ“保存しない状態”機能の追加
  • リアルタイム上でレイバウンスの上限を64に設定
  • UIのクリーンアップとシステム全体のパフォーマンスの向上
  • SolidWorksインポータの機能向上(読み込み速度の向上と安定性の改善)
  • Aliasインポータの機能向上(レイヤーとシェーダ毎にインポート)
  • Creo 2.0のサポート
  • Autodesk ALIAS 2013のサポート
  • Autodesk Maya 2013のサポート
  • その他バグフィックス
  • スペイン語のサポート(UIのみ)
  • 新しいマテリアル。

注目すべきはUndo機能が改善されたことでしょうか。こちらで見た限りは3にメジャーアップ後、3.1でソフトウエア自体がかなり安定してきました。3.2では更に良くなっています。上のリストを御覧頂ければわかります通り今回は使い勝手の部分に主眼が置かれているようです。話は逸れますがV3になってからのKeyShotは製品としてはユニークで市場で固有のポジションを得たと考えています。スタンドアローン製品としてプロダクトデザイン、設計/製造寄りの機能を持ち、リアルタイムレイトレーシングを実現しているソフトウエア製品では見たところ現状これといった対抗製品は見当たりません。一方プラグイン製品としてはV-Rayが確固たる地位を築いています。ただこちらは良くも悪くもMayaやMaxの中で使うソフトです。機能が豊富な分、パラメータの数も多くKeyShotほどお手軽に、というわけにはいきません。(目指す市場が違うので当たり前ですが)KeyShotを使って3DCAD→ビジュアライゼーションソフトというワークフローがもっと広まっていくと、結果的に3Dデータももっと有効に活用されるようになるでしょう。

KeyShot3.2のデモ版はこちらから、アップデート版のダウンロードはこちらからお願いします。

またこれに伴い、Creo、SolidWorks、Rhinoのプラグインもアップデートされています。
プラグインのダウンロードはこちらからお願いします。

iRayとコースティクス

AreaというAutodesk社が提供するサイトがあります。主にエンタメ業界向けに情報発信を行っているサイトなのですがなかなか面白い記事もあり筆者=長谷川もよく見ています。日本版の他にアメリカ版もあるのですが(多分その他多くの言語があるのだと予想されます)、アメリカのフォーラムに面白い記事がありました。“iRay renderer not supporting caustics “というタイトルです。フォーラム風のスレッドなのですが、iRayのコースティクス表現に関するものです。多くの人がMentalRay、iRay両方を使ってレンダリングしたその結果も一緒に載せており興味深い内容です。かなり長いので結論(めいたものとこの場合お考えください。)をこちらでまとめてみました。

  • iRayはパストレーシングを使ってコースティクスを表現しようとしている。その手法はBDPT=bidirectional path tracingといわれるアルゴリズムで光線をカメラ、光源両方からトレースして真ん中で繋ぐという複雑なものである。
  • ただこの手法では制限があり、コースティクス内のリフレクションは表現できない。(文中でreflection of caustics またはdeep causticsと呼ばれているものです)表現しようとするとこの手法ではfirefliesというノイズが飛んでうまくいかない。
  • 上記の制限を具体的にいうと光源が小さい、オブジェクトが複雑な場合にうまくいかない。
  • 基本的にはコースティクスを表現するにはフォトンマッピングが未だ一番優れている。この手法もCPUベースでないと現状難しい。
  • 一緒に比較したMentalRay(こちらはCPUベースです)では全てうまく出来ている。

下の写真を見て頂くとよくわかるとお思います。上がMentalRayでレンダリングしたもの下がiRayでレンダリングしたものです。ここでいうとティーポットの影の中に表現されている真ん中の明るい部分がコースティクス内のリフレクションにあたります。こうしてみるとわかりやすいですね。MentalRayはご存じの通りいわばデファクトのそして100%CPUベースのレンダリングエンジンです。iRayと同じMental Images社(NVidiaに買収された会社)の製品です

こちらがMentalRayでレンダリングしたもの

こちらがiRayでレンダリングしたもの。

皆様ととやりとりをしていてよくCPUとGPUベースどちらがいいか?Biased vs Unbiasedどちらが良いか?みたいな話になります。この手の論議はマーケティングトークでして実はあまり実態がなく正直深く考察する必要はありません。また最近KeyShotより○×のほうが綺麗だ(あえて製品名は避けますがiRayを使用した製品です)みたいな話をビジネスパートナーからされたことがありまして、ここに書いたような内容を踏まえて割合きちんと議論しました。こちらの印象としてはマーケティングトークをただ鵜呑みにしていた感があったのですが、こういう場合はきちんとテストして製品の機能や特徴を見極めるのが重要ではないかと考えております。○×が良いとか悪いとか印象論だけで語っても意味がありません。大抵は一種の宗教論争に陥って結論が出ないと思われます。また特定の製品を批判することが本稿の目的ではないことを改めて念押ししておきたいと思います。

iRay renderer not supporting caustics

iRay caustics issues

CATIAファイルの読込とレンダリング

既にご存じの方多いと思いますが、KeyShotはCATIA V5ネイティブデータをサポートしています。.catproductデータを読み込むとCATIA上でのアセンブリ、ツリー構造などがそのままKeyShotに渡ります。(CATIA上とは異なるパーツ分けを行いたい場合はKeyShotにインポートする前にフェースに異なる色をアサインしておいてください) もちろん.catpart単体でも大丈夫です。IGESやSTEPなどの中間データを介する必要はありません。これは使ってみるとなかなか便利な機能です。また大規模なアセンブリデータも物理メモリが許す限りの範囲で読み込みます。その制限はありません。この辺はGPUを使うレンダラーにはないメリットでもあります。

今回はクボタシステム開発株式会社様にお邪魔してテストを行ってみました。手順はいつも通りに行います。(ファイル>インポート)

CATIA上でのデータ

お借りしたデータを読み込んでみると下記のようなインポートダイアログが表示されます。テセレーション値を細かく調整したい場合はアドバンスをクリックしてテセレーション値を表示させます。今回はデフォルトの設定ではややポリゴンが粗かったので細かく調整し直しました。

インポートダイアローグ

アドバンス設定値

読み込むとCATIA上のアセンブリ構造がそのまま保持されていることがわかります。

 

読み込んだデータにマテリアルを適用してレンダリングを行ってみました。このようにこちらが行った操作が画面上ですぐに反映されるのがKeyShotの最大の利点です。またKeyShot自体はあまりメモリを使用しないソフトですので(CPUはフルに使用しますが)他の3Dアプリケーションを立ち上げたままでも操作充分に可能です。

 

完成したイメージ


設計者同士ではお互いに共通言語が暗黙知として形成されているので、3Dデータを綺麗にレンダリングして見せる、という用途あまりないかもしれません。只例えば、エンドユーザや経営者層などCAD上でのOpenGLシェーディングを見せてもぴんとこない(3D設計に直接関わってない層)人達に見せる時には非常に効果を発揮するかも知れません。また弊社ユーザでも部品メーカーなどがKeyShotを使ってカタログなどのコンテンツを作るケースも徐々にではありますが着実に増えてきています。そういうわけでビジュアライゼーションと呼ばれるこの分野実は未だ発展途上です。ユーザ側がKeyShotのようなツールをいかに賢く使うかがポイントとなりそうです。

最後にご協力頂いたクボタシステム開発株式会社の雉子波様、北澤様ありがとうございました。

 

3D Studio Maxプラグイン

 

本家のサイトにアップされているのですが3D Studio Max向けプラグインがリリースされたようです。こちらでもダウンロードして試してみました。こちらの環境はWin XP SP3 64bit & Max 2012です。

  • 手持ちのファイルを開いて

  • ファイルをエクスポートを選んで

  • KeyShotネイティブ .bipファイルを探したのですが、見つかりませんw。

日本語環境でデバッグされていないせいか、現状ではうまく動かないようです。まあこの手の現象はKeyShotに限らずあちらのソフトの場合よくあります。コンパイラが英語環境の場合ですと作った.dllファイルが通らない、というケースです。念のためWin 7 & Max 2012を試してみたのですがやはり結果は同じでした。バージョンが上がってバグが修正されれば使えるようになると思います。それまで少々お待ちください。因みにMaxからファイルを持ってくる場合は.3DSはネイティブを読めます。また.maxの場合は.fbxで書き出すことをお勧めします。今まで試した結果では一番良好でした。テクスチャも渡ります。

KeyShot アニメーション by abed sabeh

本家のサイトにも何回か告知されていますが、あちらでは現在レンダリングコンテストを行っています。そこに応募された作品の一つらしいのですが、Abed SabehというCGアーティストの方の作品です。確かBunkspeed、HyperShot時代からユーザであった方だと記憶しています。下記がその作品なのですが見てみますと

YouTube Preview Image
  • 尺が結構長い上にHD解像度ですのでこれはかなりパワフルな環境でレンダリングを行っている
  • コンテストの条件はポスト処理OKなのでAE等でエフェクトをかなり加えている。リストバンドがてかる部分などなど
  • アニメーションはおそらくMayaなりでつけて.fbxで持ってきている(アニメーションパスを書かないと無理っぽい)

なのが気付いた点なのですが、綺麗に出来てます。個人的な感想というと、やや下世話な話になってしまうのですが、正直レンダリングコンテストとか実案件ではないものにこれだけ労力を割ける余裕がむしろ羨ましいな、と感じましたw。音まで入れてしまっております。探してみるとAbed Sabeh氏のサイトもありました。Maxwellも使われているようですがなかなか面白いです。

 

 

 

 

 

 

 

Rhinoceros内のレンダリングメッシュ設定とプラグイン

 

RhinoファイルをKeyShot内に読み込む際いくつか留意すべきポイントがあります。プラグイン設定も含めて簡単にまとめてみました。

  • KeyShotはRhinoジオメトリーを読み込むわけではない。(他のCADファイルをと違いKeyShot上でテセレーション設定を行うわけではない)。代わりにRhino上で作成されたレンダリングメッシュを読み込みます。
  • Rhino上でテセレーション調整を行います。ツール>オプション>ドキュメントプロパティ>メッシュを選択。デフォルト設定は粗い&高速化ですがこれは例えば表示されるスピードは速くなります。(拡大、回転など。)グラフィックカードのスペックに余裕がある場合は滑らか&やや遅いを選択してください。但しメッシュ操作にもこれは影響を与えます(トリム、分割、消去、抽出など)
  • カスタム設定で細かい設定を行うことも可能です。例えば、最大角度 – 任意の箇所でのサーフェスの法線とメッシュの頂点の間に許される最大角度、なにもいじらないとデフォルトは20°に設定されています。数値を下げるとそれにつれてポリゴン数も増えます。平面では全ての三角形が同じノーマルを有する為このパラメータによってポリゴンの増減はありません。最大縦横比 – 最初に四角形にメッシュ化される際の大きさを整えます。1から5を入力すると縦横比が整えられ、極端に細長い三角形が作成されなくなります。0の値はオプションがオフの設定になります。こちらでの推奨設定は下記になります。(これはモデルの大きさ、ハードのスペックなどとの兼ね合いになりますので絶対的なものではありません)

 

プラグインの使用方法

次にプラグインの使用方法について説明します。筆者=長谷川の環境ではRhino V4 SR9とKeyShot3.1.48をWin 7 64bit環境で使用しています。

  • ツールバーからPlugin>KeyShot3>Renderを選択
  • レイヤー毎にテセレーション設定が必要な旨告げる次のウインドウが立ち上がります。

 

  • OKを押すと下のウインドウが表示されます。ここから詳細設定を選ぶと下記のウインドウに移行します。

  • ここで最初のオプションウインドウ内で説明したものと同じ値を入力します。このモデルの場合、黄色い部分が細かくテセレート(三角形に分割される)されてるのを確認できます。

 

  • 全レイヤーのテセレートを終えるとKeyShotが立ち上がりモデルが表示されます。

Rhinoのモデルを選んで全体をメッシュ化、それをKeyShotで読み込んでも結果は同じです。プラグインの場合はレイヤー毎にテセレーション設定ダイアログが立ち上がります。デフォルト値=

粗い&高速化のままKeyShotに出力すると全体的にレンダリングには粗いポリゴンが作成されます。ほとんどの場合もう少し細かい設定が必要です。また小さなモデル(特に宝飾品などは)もっと細かいメッシュが必要です。最大角度、最大縦横比をきつめに調整するといいと思います。プラグインのダウンロードはこちらからどうぞ。

 

KeyShotでのテクスチャ設定

前回のエントリーではテクスチャーの作成方法について触れました。その続編というべきエントリーがありました。こちらでは実際にKeyShot内でのテクスチャの設定方法について説明を加えています。こちらも役に立ちそうなので転載します。テクスチャ周りはこの辺りの基本を理解できればOKです。また今回もGrabCADにあるUniversal Jointというモデルを使っています。以下拙訳となります。

KeyShotは基本的には3DCAD内でのアセンブリやその構造をそのまま保持します。例えば特定のフェースに特定のテクスチャを適用したい場合、その面に異なる色を予めお使いの3DCAD内で適用してください。

ステップ1:マテリアルの適用

マテリアルライブラリからドラッグ & ドロップでマテリアルを適用してください。自分が使うものに類似したものをライブラリから選択すると後の微調整が楽になります。この場合、Standard Steel=一般的な鉄を選択してパーツ全体に適用、色を調整します。


ステップ2:テクスチャの適用

テクスチャを適用したいパーツをダブルクリックしてテクスチャタブを選択します。メタルマテリアルにはカラーマップ、バンプマップ、透明マップの各選択項目があります。カラーマップをダブルクリックして作成した画像を選択します。バンプマップも同様に選択します。

 

ステップ3: マップの同期

次の作業に進む前に“同期”にチェックを入れます。スケーリング、移動を行った際に各マップ同時に適用されるの大変便利です。忘れずにチェックを入れてください。

ステップ4:マッピングタイプの選択

テクスチャをどのように適用するかの選択項目になります。KeyShot内には7種類のマッピング方法が用意されています。一番適当なものを通常選択します。以下その詳細です。

  • X平面 – テクスチャはX軸に沿って表示され他のどの軸に対しても拡がって/伸びて表示されます。
  • Y平面 – テクスチャはY軸に沿って表示され他のどの軸に対しても拡がって/伸びて表示されます。
  • Z平面 – テクスチャはZ軸に沿って表示され他のどの軸に対しても拡がって/伸びて表示されます。
  • ボックスマッピング – テクスチャはX、Y、Zどの軸に沿って表示され継ぎ目がある場合もそのまま表示されます。
  • UV座標 – テクスチャは平らな3Dジオメトリに沿って表示されます。通常モデリングツールなどでUVは作成されます。
  • 球体マッピング – 仮想の球体に沿って表示されます。
  • 円筒マッピング– 仮想の円筒に沿って表示されます。

通常はボックスマッピングを選択してください。

 

ステップ5:マッピングの調整

ここで、スケールや位置を望む状態になるよう調整します。色やライトなどの質感は後から調整します。この段階では余り気にしないでください。まず、デフォルトの環境を使用してマッピングを調整します。バンプの高さ、角度、スケールなどを微調整します。お好みのマッピングができたらカメラをロックしてください(カメラタブを選んでアンロックボタンをクリックします。ボタンがロックに変更されます。)

ステップ6:ライト、マテリアルの調整

テクスチャを適用してカメラを固定したらライトやマテリアルの質感を調整します。この辺りは個人的な好みに大きく依存しますが変更する前に各パラメータをメモしておくといいと思います。良い設定が出来上がったらファイルを保存して今度は別ファイルで当たりをつけるというのも賢い方法です。

下記が完成品です。こちらから.kspファイルもダウンロード頂けます。テクスチャ、マテリアル、HDRI全て付属しています。

おわりに

実際のモデルを見てみたのですがテクスチャが凝っていて金属の表面の傷などが非常にリアルに表現されています。上手いですねぇ。(この辺りバンプでやっています)。ここまでやるかどうかは必要としてとても参考になるのではないでしょうか。
あと一点、マッピングに関してですが、3DCADで作った工業製品、機械部品、コンセプトモデルなどでは大抵ボックスマッピングでうまくいきます。一方有機的な形状を持つものはUVを貼る必要があります。KeyShotの場合は.obj、.fbxが渡りますのでCGモデラーなどではこれらの形式で出力するとうまく行くようです。またモデラー側で貼ったテクスチャも渡ります。

KeyShotでのテクスチャ操作。バンプ、カラー、スペキュラー、オパシティマップの作成

本家のブログにテクスチャに関する記事があったのでこちらにも紹介します。当ブログではあまり触れていなかったように記憶してますがトレーニングなどでは質問の多い項目です。ご存じの通りCGはテクスチャの表現が上手だとぐんとリアリズムが増します。テクスチャの操作も(他のKeyShotのオペレーション同様)特に難しいことはありません。基本を理解すると色々と応用が効くと思います。以下拙訳です。

KeyShotには100以上のテクスチャーが付属しています。木材、金属、その他多くのマテリアルが揃っています。但し世の中全ての素材をカバーすることは到底不可能です。自分で作る場合どうするか、Photoshopを用いての手法を簡単に紹介します。

バンプ、カラー、スペキュラー、オパシティマップとは?

簡単にいうと以下のようになります。

バンプマップ – 白黒の画像を用いて高低を(つまり凸凹を)表現します。
カラーマップ – マテリアルの色を表現(つまり置き換え)ます。
スペキュラー(反射)マップ – 白黒の画像を用いてリフレクションの強い部分、弱い部分を表現します。
オパシティ(不透明)マップ – 白黒の画像を用いて透明の部分と不透明の部分を表現します。

各マップの作成方法

いろいろな方法がありますがここではPhotoshopを使って上記4つのテクスチャーを作成します。(Photoshopの基礎知識があるものと仮定します)

ステップ1:Photoshopでテクスチャーの作成

1200 x 1200ピクセルのイメージを作成します。新しいレイヤーを追加してブラシツールを選択します。任意のブラシ、テクスチャーに加える色を選択します。brusheezy.comにはその他色々なブラシがあります。ウインドウ>ブラシ>ブラシからも調整が可能です。今回は下記のようなイメージを作成しました。

ステップ2:カラーマップの作成。

ペイントされていない部分(白い部分)を透明にしたい場合、バックグラウンドレイヤーを隠して.PNGフォーマットで保存します。この場合、マテリアルのディフューズ色が(テクスチャーが透明な為)そのまま表示されます。下記のようになります。

 

ステップ3:スペキュラーマップの作成

色をつけたレイヤーをダブルクリックしてレイヤースタイルを表示します。カラーオーバーレイをを選択して黒を選択します。.PNG形式で保存します。ご存じのように.PNG形式は透明な部分を保持します(アルファチャンネルを持っているので)。黒い部分は0%のリフレクション、白いエリアは100%のリフレクションとなります。下記のようになります

 

ステップ4:バンプマップの作成

背景レイヤーを表示して保存します。黒い部分が低く、白い部分が高く表現されます。ブラーを追加すると(フィルター>ぼかし>ぼかし(ガウス))高低差がよりスムースに表現されます。下記のようになります。

 

ステップ5:オパシティマップの作成

レイヤー>画像を統合、を選択、イメージ>色調補正>階調の反転を選択。KeyShot内では透明マップのパラメータがいくつかあります。但し、基本的にはこの設定で黒いエリアは完全に透明、白いエリアは完全に不透明となります。つまりペイントした部分は目に見えるエリアとなります。下記のように表示されます。

 

通常、透明マップはメッシュやワイヤーのように(つまり穴が空いた部分があるマテリアル)を表現するのに用いられますが錆びたもの、壊れたパーツにも効果的です。カラーマップを使って色の追加やグラディエーション、木目、ペイント自体の表現も行えます。

このように全てのマップを一度に作成するとスケールや配置が同じですのでその部分の調整が要らず便利です。

下記のイメージは異なるディフューズカラー、ディフューズマップを使用したものです。

おわりに

KeyShotは3.1になってかなりテクスチャー周りの機能が充実してきました。HyperShotの最初のバージョンは確かテクスチャーが扱えなかった(と記憶しています)ので、それから考えると着実に進歩しているといえます。

KeyShot 3.2

 

連休中の火曜日ですが、皆様いかがお過ごしでしょう。筆者はタイに行っていた間に溜まっていた仕事に追われております。orz.. さて、KeyShot 3.2のニュースが入って来ました。今回は新しい機能の追加はなくレンダリングスピードの向上、インターフェースのブラッシュアップ、バグフィックスに主眼が置かれているようです。

 

主な機能追加は

  • シーンツリー上での矢印キーの採用。カメラリストなどを選択する際便利です。
  • マテリアルテンプレートでパーツネームとワイルドカード(*.*)のサポート
  • ライブラリーコンテンツの読み込み(マテリアル/環境/テクスチャー等を読み込む待ち時間が無くなりました)
  • レンダーダイアログ上でのリアルタイムと詳細設定を同期(レイバウンス、影の品質など)
  • スケールと移動のサポート(スケールと移動の値が記憶されます)
  • リアルタイム上でレイバウンスの上限を64に設定
  • UIのクリーンアップ

その他の機能拡張は

  • SolidWorksインポータの機能向上
  • Autodesk ALIAS 2013のサポート
  • Autodesk Maya 2013のサポート
  • Creo 2.0のサポート
  • スペイン語のサポート(UIのみ)

となります。今後数週間以内にリリースされる予定です。バージョン3も3.1以降だいぶ安定してきました。未だアップグレードされていない方はこれを機会に是非お勧めします。2に比べるとやはり段違いにいいです。