Model 概要

Sce.PlayStation.HighLevel.Model は基本的なモデル表示の機能を提供します。

モデル

BasicModelは基本的なモデルデータを表すクラスであり、モデルデータが格納されたファイルをロードして作成します。

BasicModelにはワールド行列設定、カレントモーション設定、アニメーション計算、行列計算、グラフィクス描画などのAPIがあり、それらを呼び出すことでモデルを表示することができます。

モデルファイルの拡張子は .mdx であり、FBX XSI X COLLADA などの一般的なモデルデータから変換されたバイナリ形式です。 モデルファイルには階層構造、形状データ、マテリアル、テクスチャ、アニメーションなどの情報が格納されています。

プログラム

BasicProgramは基本的なシェーダープログラムを表すクラスであり、ライティング、フォグ、スキニングなど基本的な効果を適用することができます。

BasicProgramには行列、マテリアル、ライト、フォグ、描画モードなどのパラメータがあり、それらを設定することでシェーダー機能を制御することができます。

シェーダーファイルは設定されたパラメータに応じて自動的にロードされます。そのため、BasicProgramが必要とするすべてのシェーダーファイルをアプリケーションのディレクトリにコピーしておく必要があります。

パラメータ

BasicParametersはBasicProgramのパラメータを管理するクラスであり、上述のパラメータはこのクラスに格納されています。

BasicProgramは一つのBasicParametersを持ちますが、必要ならば、複数のBasicProgramが一つのBasicParametersを共有することもできます。これはカメラやライトなどグローバルなパラメータの設定に便利です。

プログラムコンテナ

BasicProgramContainerはロードずみのプログラムを管理するクラスであり、文字列をキーとする辞書にプログラムを登録することができます。

モデルをロードした後、このクラスを使用してプログラムをモデルに関連づけます。 それにより、キー文字列に応じて適切なプログラムをモデルに適用することができ、またロードずみのプログラムを複数のモデルが共有することができます。

テクスチャコンテナ

BasicTextureContainerはロードずみのテクスチャを管理するクラスであり、文字列をキーとする辞書にテクスチャを登録することができます。

モデルをロードした後、このクラスを使用してテクスチャをモデルに関連づけます。 それにより、キー文字列に応じて適切なテクスチャをモデルに適用することができ、またロードずみのテクスチャを複数のモデルが共有することができます。

コンバータの使用方法について

ModelConverter と ModelViewer は、以下のフォルダーにあります。

%SCE_PSM_SDK%/tools/ModelConverter

ModelConverter と ModelViewer のショートカットをデスクトップに作成してください。

ModelConverter に入力ファイルをドラッグ&ドロップすると、同じフォルダーに出力ファイルが作成されます。

./image/model_converter_usage.png

ModelViewer に出力ファイルをドラッグ&ドロップすると、モデルデータを表示することができます。

./image/model_viewer_usage.png

モデルを変換するとき、もし存在すれば、テクスチャの画像ファイルが読み込まれ、出力ファイルに格納されます。

画像ファイルは、入力モデルファイルの中で記述されたテクスチャファイル名のフォルダーだけでなく、入力モデルファイルが存在するフォルダーからも検索されます。画像ファイル拡張子は、入力モデルファイルの中で指定されたテクスチャファイル名の拡張子にかかわらず、DDS, PNG, JPG, BMP, GIF など利用可能な拡張子から自動的に選択されます。

コンバータのオプションについて

コントロールキーを押しながらドラッグ&ドロップすると、プロンプトが表示されキー入力が可能になります。

そこで、以下のようなオプションを指定することができます。

-o <filename>
出力ファイル名を指定します。
-s <scale>
モデルデータのサイズをスケールします。
-t <scale>
アニメーションの速度をスケールします。
-S
テキスト形式で出力します。拡張子は .mds です。
-N
最適化をおこないません。
-B
BLENDINDICES を使用しません。
-models
複数ファイルのモデルを、一つのファイルに出力します。
-motions
複数ファイルのモーションを、一つのファイルに出力します。

コンバータの入力ファイルについて

以下のファイル形式が利用可能です。

FBX
動作確認は Autodesk Maya 2013 でおこなっています。利用可能であることが確認されているフォーマットバージョンは FBX 2013 です。コンバータが使用しているツールキットは Autodesk FBXSDK 2011.3 です。 なお FBX ファイルに対応する Maya ASCII ファイルが同じフォルダーにあれば、さらにいくつかのパラメータを取得できます。
XSI
動作確認は Autodesk SoftImage 2013 でおこなっています。利用可能であることが確認されているフォーマットバージョンは 3.6 と 6.0 です。コンバータが使用しているツールキットは Autodesk Crosswalk 2013.0 です。 なお XSI ファイルを変換するには、Autodesk Crosswalk 2013.0 が PC にインストールされている必要があります。
X
動作確認は NewTek LightWave 11 でおこなっています。利用可能であることが確認されているフォーマットバージョンは 3.3 (DirectX8 形式) です。コンバータが使用しているツールキットは Microsoft DirectX SDK (June 2010) です。
COLLADA
動作確認は Autodesk Maya 2009 でおこなっています。利用可能であることが確認されているフォーマットバージョンは COLLADA 1.4.1 です。コンバータが使用しているツールキットは OpenCOLLADA 2011 です。
MDX / MDS
これらのファイル形式は、入出力が可能です。

テストデータは、以下のフォルダーにあります。

%SCE_PSM_SDK%/tools/ModelConverter/testdata

変換可能なモデルパラメータは、以下のとおりです。

./image/model_param_list.png

"Maya ASCII" と書かれたパラメータは、同じフォルダーにある Maya ASCII ファイルから取得することができます。

モデルファイルフォーマットについて

モデルファイルフォーマットについての詳細は、以下のページに記述されています。

PlayStation(R)Mobile MDX ファイル形式