« 2010年12月 | メイン

2011年01月06日

LuxFolio Application for the iPad

Luxology社より、ステレオスコーピックの3D映像をiPadで見るためのポートフォリオ・アプリケーションLuxFolio発表されました。

LuxFolioは、iTuneファイルシェアリングまたはiPadフォトアルバムからインポートしたステレオ可能なイメージを読み込み、読み込んだ画像を3Dステレオスコーピック効果を使って表示します。この画像は3D撮影可能なカメラやステレオレンダリングをサポートするLuxology社のmodoなどのソフトウェアで作成することができます。LuxFolioはMPOステレオスコーピック画像、サイドバイサイドステレオ画像、左右のペア画像を読み込むことができます。

また、iPadを外部モニターに使うことによってステレオスコーピック画像をプレゼンテーションの目的で使用することもできます。

LuxFolio Stereoscopic Portfolioは、iTuneストアで350円でお求めいただけます。

※ modo 501の新機能解説の記事の続きは、執筆者の都合によりこちらのブログに移行になりました。


投稿者 mars : 09:58 | コメント (0)

2011年01月04日

modo 501: キット

modo 501では、キットのコンセプトがワンランク上の存在としての取り扱われるようになりました。キットはコンフィグファイル、リソース画像、スクリプト、プラグイン、コンテントで構成されるパッケージでmodoに特定の機能を追加する物です。代表的なキットには、HDRESplashSLIKなどがあります。

icon_hdre02_landscape2.jpg

icon_splashkit.jpg

icon_SLIK.jpg

modo 501は、起動時に任意のディレクトリにキットがないか検索します。この検索ディレクトリにはuser:Configsとリソースディレクトリが含まれます。キットはindex.cfgというファイルを含むサブディレクトリです。これは一般的なコンフィグファイルですが、キットの名称を持つ宣言文があります。

<?xml version="1.0" encoding="UTF-8"?>
<configuration kit="kitName">
  [...]
</configuration>

キット名は内部名称でありグローバルかつユニークでなければなりません。このコンフィグファイルは自動的にキットを認識させるためだけのファイルです。その他の必要なファイルはこの場所から必要に応じて参照されます。キットは自動的にkit_<name>と呼ばれるキットのディレクトリを示すパスのエリアスを得ることができます。

<?xml version="1.0" encoding="UTF-8"?>
<configuration kit="kitName">
  <import>resrc</import>
  [...]
</configuration>

もしくは個々のリソースを名称を指定してインポートします。

キットにはプラグインを使うこともできますので、サブディレクトリにプラグインを配置し、32ビットと64ビットのプラグインを自動識別させて読み込ませることも可能です。

<?xml version="1.0" encoding="UTF-8"?>
<configuration kit="kitName">
 <atom type="Extensions32">
  <list type="AutoScan">extra</list>
 </atom>
 <atom type="Extensions64">
  <list type="AutoScan">extra</list>
 </atom>
 [...]
</configuration>

上記の例はキットが32ビット版と64ビット版のプラグインを持ち、正しいバージョンを"extra"フォルダにインストールされるように設定しています。もしくは、単一のキットが異なるディレクトリに入れた両方のバージョンのプラグインを同時に持つこともできます。

<?xml version="1.0" encoding="UTF-8"?>
<configuration kit="kitName">
  <atom type="Extensions32">
    <list type="AutoScan">x32</list>
  </atom>
  <atom type="Extensions64">
    <list type="AutoScan">x64</list>
  </atom>
  [...]
</configuration>

キットにアイコンやその他の目的の為に使用する画像を定義することもできます。アイコン画像は使用するコンフィグ自身のファイルパスからの相対位置が検索されます。この例では"icon.tga"ファイルは、コンフィグファイルと同じディレクトリに置かれます。画像リソースのキーはグローバルでユニークでなければなりません。

 <atom type="UIElements">
  <hash type="Image" key="testKit_icons">icon.tga</hash>
  <hash type="Icon" key="item.val.test.texture">
    <atom type="Source">testKit_icons</atom>
    <atom type="Location">0 0 13 13</atom>
  </hash>
 </atom>

スクリプトもキットから参照可能です。これはスクリプトへのエリアスを定義することで実現されています。画像の場合のように、スクリプトがキットディレクトリの中にある場合は、スクリプト名称以外なにも必要ありません。

 <atom type="ScriptSystem">
  <hash type="ScriptAlias" key="myScript">doit.pl"</hash>
  <hash type="ScriptAlias" key="myScript2">dir/doi2t.pl"</hash>
 </atom>

上記のように定義するとエリアスはスクリプトのある場所を参照するために使用されます。例えば、"@myScript"は上記の"doit.pl"を実行し、自動的にエリアスとキットの置かれている場所を認識します。これによってスクリプトを直接ユーザーが呼び出したり、キット自身から呼び出せるようになります。

キットだけでなく任意のスクリプトにエリアスを設定することが可能です。エリアスのパスは絶対パス、参照、エリアスパスもしくはユーザースクリプトフォルダのスクリプト名称でなければなりません。

 <atom type="ScriptSystem">
  <hash type="ScriptAlias" key="myScript">pathAlias:dir/doit.pl"</hash>
 </atom>

ユーザーがキーカスタマイズを確実に行えるように、キットで使用する全てのスクリプトにスクリプトエリアスを使用することをお勧めします。もしくはスクリプトをキットのパスエリアスの相対位置として直接実行する方法もあります。

キットを特定のシステムに対してのみに有効にしたり、逆に無効することができます。例えば、このキットはPCにだけにロードされます。

<?xml version="1.0" encoding="UTF-8"?>
<configuration kit="kitName" and="nt">
  [...]
</configuration>

こちらはMacの32ビット版のmodoにだけロードされます。

<?xml version="1.0" encoding="UTF-8"?>
<configuration kit="kitName" and="app32" or="mac">
  [...]
</configuration>

この論理値は読み込まれた順番に評価されます。グループ化はできません。"!x86"などの記述は負の論理値を表すために使うことができます。サポートされているキーには、pp32, app64, x86, x64, mac, osx, win, ntがあります。この規則には制限がありますので対応できない組み合わせもあります。

modo 501用には既にLaubwerk Plants(樹木のキット)などサードパーティのキットの開発も進んでいます。

このmodoのキットの仕組みと変幻自在なUIを使うことによってアイディア次第で特定用途向けのCGパッケージを作ることが可能です。キットは、modoを3DCGのツールキットとしてコンテンツパッケージを作る手段を提供しています。

投稿者 mars : 20:41 | コメント (0)

2011年01月02日

modo 501: レンダリング性能の改善

modo 501では、レンダリングに様々な改善が行われています。中でもレンダリング速度の大幅な改善は501の大きな改善事項の一つです。CPUの性能が幾ら高速化されてもレンダリング速度向上は重要ですね。

基本的にmodoのレンダリングは、GPUを使用せずCPUの機能のみを使ってマルチスレッディングの処理に最適化されています。CPUで必要な命令はSSE2ですので、最近のCPUでしたらほとんど問題なく動作します。レンダリングの単位であるバケットは各スレッドに割り当てられますのでコア数が増えるほど並列化され高速にレンダリングされます。下記はmodo 401とmodo 501のレンダリング速度を比較した結果です。もちろん、レンダリングするシーンの特性によりスピードアップのバラツキはありますが、1.5倍ぐらいは普通に速度アップしています。シーンによっては3倍以上のパフォーマンスを発揮します。

Room, modo 401: 66.3s
Room, modo 501: 44.1s (1.50x speedup)

8Spheres, modo 401: 64.6s
8Spheres, modo 501: 40.1s (1.61x speedup)

TeaTime, modo 401: 55.3s
TeaTime, modo 501: 32.2s (1.72x speedup)

AngerManagement, modo 401: 42.8s
AngerManagement, modo 501: 24.0s (1.78x speedup)

WMD_Full_Scene, modo 401: 111.4s
WMD_Full_Scene, modo 501: 58.1s (1.92x speedup)

TestTubes, modo 401: 44.0s
TestTubes, modo 501: 22.6s (1.95x speedup)


特にレンダリング速度がアップした物にMDDファイルを使ったアニメーションのレンダリングがあります。MDDはモデルデータの頂点座標の時系列情報を保存したファイルでLightWaveを始め、多くの3DCGソフトウェアがMDDファイルをサポートしています(※一部のソフトウェアはPointOvenなどサードパーティのソフトが必要になります)。他のソフトでアニメーションを作成し、modoでレンダリングをするフローで仕事をする方には特に恩恵が大きいのではないでしょうか。

また、ファーを使ったシーンではレンダリング速度の向上に加え、使用メモリーの節約も同時に行っています。レンダリングに不必要な視野外のファーを可能な限り除去することによってレンダリング速度とメモリー節約を同時に行っています。ファーを使用したレンダリングは時間が掛かる処理ですので効果は大きいと思います。リリース版ではありませんがMac OS版も64ビットになり、2Gバイトメモリーの制限からは解放されますが、使用メモリーの効率化もまだまだ重要です。


ファーカリング(オフ)


ファーカリング(オン)


その他、バンプマッピングの改善もレンダリング速度とメモリー節約に貢献しています。ディスプレースメント・バンプ(Displacement as Bump)は、同じ条件でのレンダリング効率がアップした物ではありませんが、ディスプレースメントを使用してレンダリングしたイメージと同じぐらいの品質のイメージをバンプで実現する機能です。条件によっては見た目でわからないディスプレースメントのレンダリングを高速かつ少ないメモリーで行う事が可能です。また、バンプマップそのもののアルゴリズムも改善されましたので、よりリアルな凹凸を表現できるようになりました。


通常のディスプレースメントでのレンダリング


ディスプレースメント・バンプを使ったレンダリング

投稿者 mars : 19:15 | コメント (0)