### 3-3　PVM Converter

PVRテクスチャの情報をまとめて持つ「PVMファイル」を出力します。
PVMファイルを使用すると、テクスチャのロード回数を減らす事ができます。
また、オリジナルテクスチャからPVRを作成し、格納する事も可能です。
さらに、作成したPVMファイルにたいして編集を行なうこともできます。

変換可能なオリジナルテクスチャ（元画像）の形式

.bmp | PCビットマップ
.pic | SOFTIMAGEテクスチャ
.pix .mask | Aliasテクスチャ。.maskはαイメージファイル
.tga | LIGHTWAVE、3D Studio MAXテクスチャ

####

3-3-1　動作環境

PC版（MS-DOSコマンドラインプログラム）と、SGI版（UNIXコマンドラインプログラム）があります。

コマンドファイル名 : pvrconv.exe（PC版） , pvrconv（SGI版）

####

3-3-2　インストール

#### PC版

SDK CD-ROMの「\dc_graph\pc\3dstudiomax\pvmconvpc」フォルダ下にある「pvmconvpcSDK[pc]ディレクトリ下にある「pvrconv.exe」を任意のディレクトリにコピーします。

#### SGI版

SDK CD-ROMの「dc_graph/sgi/softimage」ディレクトリ下にあるファイルを使用します。
[ninjasgi____.tar.gz]があります。
「____」は作成日を表す数字です。
スーパーユーザーでログインして、アーカイブを展開し、Installを実行してください。
例
[ninjasgi0925.tar.gz]を例にとって説明します。
展開用のディレクトリ[/tmp]に移動します。

>     # cd /tmp

[ninjasgi0925.tar.gz]をCD-ROMから展開します(レイアウト上、2行になっていますが、改行はいれないでください)。

>     # zcat /cdrom/dc_graph/sgi/ninjasgi0925.tar.gz | tar xvf -

展開されたディレクトリに移動します。

>     # cd ninja

Installを実行します。

>     # Install

Installを実行すると、/usr/local/ninja/dsoにlibnjo.so、libsso.so、libtextool.soが、また、/usr/local/ninja/binに[pvmconv]が展開されます。

上記操作により[DscToNj],[gigen],[njaconv],[pvmconv],[pvrconv],[PvrResEdit]がインストールされます。従って、既にいずれかをインストールされている場合、この操作は必要ありません。

####

3-3-3　PVMファイルの構造

PVMファイルにはPVRテクスチャデータの他にも様々な情報が格納されます。

まず、PVMファイルの基本構造について理解しておきましょう。

PVMファイルには「チャンクデータ」と呼ばれる以下の情報が格納されています（詳細は、SDK内のドキュメント「バイナリフォーマット仕様書」を参照してください）。

PVMH | PVM Header Information : PVMファイル・ヘッダ情報です。PVMファイルの先頭に置かれます。格納されているPVRの名前、数、パレットデータの有無などPVMファイルの内部情報が記録されています。
MDLN | Model Name List : このPVMファイルをテクスチャに使用するモデルデータ群のファイル名リストです。
CONV | Converter : コンバートに使用されたコンバータ名、コンバート時に指定するオプションを記述できます。
PVMI | PVM Information : PVM作成時に使用した元画像ファイルの名前とパス、コンバータで使用したオプションを保存します。これにより、オプションを変更してテクスチャの再変換ができます。
IMGC | Original Image Container : コンバータで変換する前の元画像データを格納します。テクスチャの再変換が可能です。最終的には削除してゲームに使用します。
PVPL | PVR Palette : パレットデータです。
PVRT | PVR Texture : テクスチャデータです。
COMM | Comment : データの確認などに使用するコメント文を格納できます。

####

3-3-4　入力書式

pvmconv [<入力ファイル名>] ［オペレーション・コマンド］ [PVRオプション] [コンバート・オプション] [<出力ファイル名>]
（PC版の例 c:\pvmconv ）

■［<入力ファイル名>］ | : | 入力ファイル名を指定します。オプションによっては設定しなくてもよいので、注意してください。
■［オペレーション・コマンド］ | : | PVM Converterのオペレーションを指定します。
■［PVRオプション］ | : | オリジナルテクスチャーから.pvmを作成するときに使用します。PVR Converterのオプションです（PVR Converterの頁を参照してください）。
■［コンバート・オプション］ | : | コンバート時のオプションを指定します。
■［<出力ファイル名>］ | : | 出力ファイル名を指定します。ファイル名の指定が無い場合は、コンバータが入力した最初のファイル名が使用されます。

※コマンドの書式について

[ ]で括られたコマンドは省略できます。

システム環境変数に、ツールのPathを設定した場合は、コマンド入力時にツールのパスを省略できます（詳細はWindowsのマニュアルを参照してください）。

####

3-3-5　オペレーション・コマンド

PVM Converterは、テクスチャのコンバートだけでなくPVMファイルに対する様々な操作が可能です。

まず、何を行なうのかをオペレーション・コマンドで指定します。

#### テクスチャ・ファイルに関する操作

#### -pvm or -pvmcnv

指定されたディレクトリにある全てのテクスチャデータをコンバートして、PVMファイルを作成します。

PVR Converterのオプションを設定できます。

但し、各テクスチャデータごとに、PVR Converterのオプションは指定できませんので、注意してください。

書式 : pvmconv -pvm -suf -path

例 : pvmconv -pvm -suf bmp -path .\ -gi 0 -t -out new.pvm

pvmconv -pvm -suf pic -path c:\temp\data -gi 0 -y -out new.pvm

セーブされるチャンクデータ

[PVMH][PVRT]

[CONV][PVMI][IMGC] …オプションによる

#### -pvr or -pvrfile

PVMファイルを新規に作成して、指定されたPVRファイルをセーブします。

書式 : pvmconv -pvr

例 : pvmconv -pvr ex.pvr -out new.pvm

セーブされるチャンクデータ

[PVMH][PVRT]

#### -pvrl or -pvrlist

PVMファイルを新規に作成して、指定したファイルに記述されたPVRリストのファイルをまとめてセーブします。

書式 : pvmconv -pvr

例 : pvmconv -pvrlist ex.lst -out new.pvm

セーブされるチャンクデータ

[PVMH][PVRT]

##### PVRリストの内容

１行にひとつのPVRファイルを記述します。

例 :

Ex1.pvr

Ex2.pvr

Ex3.pvr

#### -allpvrs or -allpvrfiles

PVMファイルを新規に作成して、指定されたディレクトリにあるPVRファイルを全てセーブします。

書式 : pvmconv -allpvrs -path

例 : pvmconv -allpvrs -path .\ -out new.pvm

セーブされるチャンクデータ

[PVMH][PVRT]

#### -addpvr -add or -addpvrfile -add

指定されたPVRファイルを指定されたPVMファイルに追加します。

追加ファイルのエントリは最後になります。追加の際、PVMファイルのPVMIとCONVチャンクは削除されますので注意してください。同じファイル名のPVRデータを追加する場合は、上書きされます。

書式 : pvmconv -addpvr -add

例 : pvmconv old.pvm -addpvr -add tuika.pvr

セーブされるチャンクデータ

[PVMH][PVRT]

[MDLN]…PVMファイルに設定されていた場合。

#### -addpvrl -add or -addpvrlist -add

指定されたPVRリストファイルに記述されたPVRファイルを指定されたPVMファイルに追加する。追加ファイルのエントリは最後になります。

追加の際、PVMファイルのPVMIとCONVチャンクは削除されますので注意してください。同じファイル名のPVRデータを追加する場合は、上書きされます。

書式 : pvmconv -addpvrl -add

例 : pvmconv old.pvm -addpvrlist -add

セーブされるチャンクデータ

[PVMH][PVRT]

[MDLN]…PVMファイルに設定されていた場合。

##### PVRリストの内容

１行にひとつのPVRファイルを記述します。

例 :

Ex1.pvr

Ex2.pvr

Ex3.pvr

#### -addpvrs or -addallpvrs

指定されたディレクトリにある複数のPVRファイルを追加します。

追加の際、PVMファイルのPVMIとCONVチャンクは削除されますので注意してください。また、同じファイル名のPVRデータを追加する場合は、上書きされます。

書式 : pvmconv -addpvrs -path

例 : pvmconv old.pvm -addpvrs -path .\

セーブされるチャンクデータ

[PVMH][PVRT]

[MDLN] …PVMファイルに設定されていた場合。

#### -pvmgi or -pvmglobaIndex

エントリされているPVRデータのグローバル・インデックスを指定番号にエントリ番号を加算した値に変更します（Global Index Baseの変更）。

書式 : pvmconv -pvmgi

例 : pvmconv old.pvm -pvmgi 100 -out new.pvm

チャンクデータの変更はありません。

#### -swap or -swapPVR

指定された番号でエントリされているPVRデータをスワップします。

どちらかのPVRデータがオーダー変更のプロテクトがかかっている場合は、スワップされません。

書式 : pvmconv -swap

例 : pvmconv old.pvm -swap 1 3 -out new.pvm

チャンクデータの変更はありません。

#### -upt or -updatetexid

PVMファイル内にモデルファイルが設定されている場合のみ、PVMファイル内のテクスチャ並び合わせてモデルファイルのTexIDを変更します。

PVMファイルにモデルファイルが設定されていて、そのモデルで使用されるPVRデータがすべて設定されている場合のみ、以下のファイルを作成します。

- ヘッダの順番並んだでアスキー形式のテクスチャリストファイル
  ファイル名はnjaファイルのままで、拡張子が「.nat」になります。

  ・テクスチャリストを削除しTexIDを変更したモデルファイル

  ファイル名はnjaファイルのままで、拡張子が「.nad」になります。

なお、テクスチャリストの名称は、outnameを使用します。

書式 : pvmconv -updatetexid -out

例 : pvmconv old.pvm -updatetexid -out new.pvm

チャンクデータの変更はありません。

#### -dPVR or -delPVR ...

指定されたエントリー番号のPVRデータを削除します。

エントリーを一度に複数指定できます。

書式 : pvmconv -dPVR ...

例 : pvmconv old.pvm -dPVR 2 -out new.pvm

pvmconv old.pvm -dPVR 2 4 6

チャンクデータの変更はありません。

#### -pIMGC or -pathIMGC -path

設定されているオリジナルテクスチャデータのパスを変更します。

書式 : pvmconv -pIMGC -path

例 : pvmconv old.pvm -pIMGC 2 -path .\temp\data -out new.pvm

pvmconv old.pvm -pIMGC all -path .\temp\data

チャンクデータの変更はありません。

#### -LpvrOn or -LockPVROn

#### -LpvrOff or -LockPVROff

PVRデータを追加する場合、既にエントリされている同名PVRデータの上書きを［可(Lock Off)/不可能(Lock On)］に設定します。

書式 : pvmconv -LpvrOn

pvmconv -LpvrOff

例 : pvmconv old.pvm -LpvrOn all -out new.pvm

pvmconv old.pvm -LpvrOff 3

チャンクデータの変更はありません。

#### -LodrOn or -LockOrderOn

#### -LodrOff or -LockOrderOff

PVRデータのヘッダデータの順番変更を［可(Lock Off)/不可能(Lock On)］に設定します。

書式 : pvmconv -LodrOn

pvmconv -LodrOff

例 : pvmconv old.pvm -LodrOn 1-5 -out new.pvm

pvmconv old.pvm -LodrOff all

チャンクデータの変更はありません。

#### モデル・ファイルに関する操作

#### -mdln or -modelfile

PVMファイルにモデルデータファイル名を追加します。

追加の際、PVMファイルのPVMIとCONVチャンクは削除されますので注意してください。また、同じファイル名のPVRデータを追加する場合は、上書きされます。

書式 : pvmconv -mdln

例 : pvmconv old.pvm -mdln fish.nja -out new.pvm

追加されるチャンクデータ

[MDLN]

#### -pMDLN or -pathMDLN -path

設定されているモデルデータのパスを変更します。

書式 : pvmconv -pMDLN -path

例 : pvmconv old.pvm -pMDLN 0 -path .\temp\data -out new.pvm

pvmconv old.pvm -pMDLN 0-3 -path ..\

チャンクデータの変更はありません。

#### チャンクデータの削除

#### -dMDLN or -delMDLN

モデルデータチャンクの削除します。

書式 : pvmconv -dMDLN

例 : pvmconv old.pvm -dMDLN -out new.pvm

削除されるチャンクデータ

[MDLN]

#### -dCONV or -delCONV

設定されているコンバータのチャンクデータを削除します。

書式 : pvmconv -dCONV

例 : pvmconv old.pvm -dCONV -out new.pvm

削除されるチャンクデータ

[CONV]

#### -dPVMI or -delPVMI

設定されているテクスチャのチャンクデータを削除します。

書式 : pvmconv -dPVMI

例 : pvmconv old.pvm -dPVMI -out new.pvm

削除されるチャンクデータ
[PVMI]

#### -dIMGC or -delIMGC

設定されているオリジナルテクスチャのチャンクデータを削除します。

書式 : pvmconv -dIMGC

例 : pvmconv old.pvm -dIMGC -out new.pvm

削除されるチャンクデータ

[IMGC]

#### -dALL or -delALL

ヘッダチャンクとPVRTチャンク以外のチャンクを全て削除。

書式 : pvmconv -dALL

例 : pvmconv old.pvm -dALL -out new.pvm

削除されるチャンクデータ

[MDLN][CONV][PVMI][IMGC] …PVMファイルに設定されている場合。

#### その他の操作

#### -info or -pvminfo

PVMファイルにセーブされている内容を表示します。

書式 : pvmconv -info

例 : pvmconv new.pvm -info

チャンクデータの変更はありません。

#### -mrg or -marge

指定されたディレクトリにあるPVMファイルをすべてマージして出力ファイルにセーブします。

複数のPVMファイルに同PVRファイル名が存在する際は、データは逐次上書きされます。

出力ファイル名と同じPVMファイル名がディレクトリに存在する場合は、同じファイルはマージされず、その他のPVMファイルをマージして、その結果を上書きしてしまうので注意してください。

書式 : pvmconv -mrg -path

例 : pvmconv -mrg -path .\ -out new.pvm

チャンクデータの変更はありません。

#### -game or -gamemode

PVMファイルを最小化します。

結果はヘッダチャンクとPVRTチャンクのみになります。

PVMファイルにモデルファイルが設定されていて、そのモデルで使用されるPVRデータがすべてて設定されている場合のみ、ヘッダの順番をモデルファイルのテクスチャ順に並び替えます。それ以外の場合には、モデルファイルのバックアップファイルを作成後にモデルファイルのTexIDを変更します。

書式 : pvmconv -game

例 : pvmconv old.pvm -game -out new.pvm

セーブされるチャンクデータ

[PVMH][PVRT]

#### -v or -ver

現在のPVMConverterのバージョンを表示。

書式 : pvmconv -v

チャンクデータの変更はありません。

#### -h or -help

PVMConverterの使用方法を表示。

書式 : pvmconv -h

チャンクデータの変更はありません。

####

3-3-6　コンバート・オプション

PVMファイルに対して各操作を行なう場合に、ディレクトリ・パスや作成するチャンクデータなどを指定するコマンドです。

#### -out or -outname

出力ファイル名の指定。

例 : -out file.pvm :カレントディレクトリにfile.pvmを作成します。

-out .\file.pvm :カレントディレクトリにfile.pvmを作成します。

-out ..\file.pvm :１つ上のディレクトリにfile.pvmを作成します。

#### -path

パスを指定します。

絶対パス、もしくはカレントディレクトリからの相対パスのどちらかを指定します。

例 : -path c:\temp\newpath :絶対パス

-path .\newpath :相対パス

#### -suf

読み込むファイルタイプをサフィックス（拡張子）を利用して判断します。

例 : -suf .bmp or -suf bmp

-suf .pvm or -suf pvm

#### レンジ指定

PVMファイルに設定されているPVRデータを変更する際にレンジを指定します。

指定の方法は以下の３種類です。

n | n番目にエントリされたPVRデータを指定。
n-m | n番目からm番目にエントリされたPVRデータを指定。
all | エントリされているすべてのPVRデータを指定。指定番号はエントリ番号ですので「0」から「エントリ数−1」の数字を指定してください。

#### -oCONV or -outCONV or -xCONV

オリジナルデータからPVMファイルを作成するときにコンバータのチャンクデータ[CONV]を作成しない。

#### -oPVMI or -outPVMI or -xPVMI

オリジナルデータからPVMファイルを作成するときにテクスチャのチャンクデータ[PVMI]を作成しない。

#### -oIMGC or -outIMGC or -xIMGC

オリジナルデータからPVMファイルを作成するときにオリジナルテクスチャのチャンクデータ[IMGC]を作成しない。

#### -iCONV

オリジナルデータからPVMファイルを作成するときにコンバータのチャンクデータ[CONV]を作成します。

#### -iIMGC

オリジナルデータからPVMファイルを作成するときにオリジナルテクスチャのチャンクデータ[IMGC]を作成します。

[←] | [INDEX] | [→]