ソウルキャリバー その7

テクスチャ画像(DDS)について



==前置き==============
DDSファイルを扱ったことがない私が書く補足です
この2週間でわかったこと書きます
初心者レベルの私が書くことなので、
書いてあることをそのまま信用しないように
===================

私は、無料ペイントソフト「GINP」使ってます。
DDSのプラグイン入れてます。

ソウルキャリバー4(SC4)のDDSは、「mipmaps」形式です。
3D描写の場合、近景ではオリジナル画像、遠景では小さく描写する画像を計算して描写となる。
その計算する負担と時間を軽減するために、
あらかじめオリジナルの4分の1サイズの画像を1つのDDSファイルに収めます。
更に4分の1、4分の1、4分の1・・・と画像を収めます。
レイヤーが重なっていて、4分の1毎の画像になっているのです。
詳しくは検索して、理解した方が良いと思います。

4分の1画像を1*1ピクセルまで行うので、
1024*1024ピクセルだと、メイン1枚+10枚重なりです。
512*512ピクセルだと、メイン1枚+9枚重なりです。
b0030122_23372713.jpg

SC4のDDSは、元サイズにかかわらずメイン1枚+2枚重なりの計3枚です。
SC4で使うDDSファイルは、mipmaps 1+2枚の形式にします。
b0030122_23374114.jpg

この1+2枚に保存する方法がわかりません。
標準形式から外れているのか、私がGINPの操作方法を熟知してないからかわかりません。
GINPのDDSプラグインのサイトでは、次期リリースでmipmapsをいじれるようにも書いてあるような?
他のソフトの利用も考えましたが、いまいちmipmapsに関することがわかりませんでした。

よって、私はGINPで保存した後、バイナリエディタで1+2枚に修正しています。
誰か、一発で保存できるソフトや方法知っていたら教えてください。

-----------------------------------------------------------------

mipmaps 1+2枚の形式にする方法(暫定)

1.GINPを使って画像を描きます
 ・オリジナルをベースに書き加える
 ・別の画像を持ってくる
 ・ゼロから描く
 どのような形式からでもよいので絵を描く
 サイズはオリジナルと同じに整える
 書き終えたら1枚のレイヤーに統合する
 この時点では、mipmaps形式の必要なし

2.保存する
 名前を付けて保存するを選ぶ
 画像の保存形式を「DDS」にする
 エラーメッセージ出ますが、OKですすむ
 Compressionは、「DXT1」か「DXT5」です
 抽出したDDSはDXT1かDXT5です
 透過部分があるとDXT5です
 Generate mipmapsにチェック入れます
 これで保存します
 保存したDDSは、オリジナルDDSよりサイズが大きくなっています
b0030122_23382519.jpg
b0030122_2338392.jpg
b0030122_23385847.jpg

3.オリジナルDDS形式に合わせる
 データは単純に、ヘッダの後に順番に画像データがくっついています
 オリジナルDDSのデータは
  ヘッダ+メイン画像+mipmap1+mipmap2
 手順2のDDSのデータは
  ヘッダ+メイン画像+mipmap1+mipmap2+mipmap3+mipmap4・・・

 バイナリエディタを使って、
 手順2のDDSのヘッダを、オリジナルデータのヘッダに変える
 手順2のDDSのファイルサイズを、オリジナルデータと同じにする(切り捨てる)
b0030122_23392299.jpg
b0030122_23393635.jpg

 私はバイナリエディタStirling使ってます
 「指定アドレスへ移動」でカーソルを任意の位置へ移動できます
 「shift + ctrl + end」でカーソルから最後まで選択出来ます
 
4.手順3で出来たDDSをGINPで確認する
[PR]

by ayasuke_aya | 2011-12-13 00:07 | ソウルキャリバー | Comments(0)

<< ソウルキャリバー その8 ソウルキャリバー その6 >>