About Edit

発端 Edit

3Dモデル&アニメーションの中間データとして「Collada」が存在する。
しかし、3Dモデルに貼り付けるテクスチャには、
中間データとして位置づけられるフォーマットが存在しない。
そういうフォーマットがあってもいいのではないか?

Targaフォーマットをベースとして採用 Edit

テクスチャの中間フォーマット、全く新しいフォーマットを作ることも可能だ。
しかし、新しいフォーマットだと、テクスチャを扱うアプリケーション(例:Maya、Photoshop、etc...)ごとに
プラグインを開発する必要が出てくる。それは避けたい。

そこで、いろんなアプリケーションでデフォルトで使え、かつ独自に拡張可能なイメージフォーマット、Targa(以下、TGA)を選択した。

拡張する事柄 Edit

データ量の少ないテクスチャフォーマットに対応 Edit

作成した3Dモデルを描画する環境が、もしメモリを気にしない環境であれば
Targaがサポートする24bit(RGB8)、もしくは32bit(RGBA8)のピクセルフォーマットを選択すれば解決する。
しかし、メモリを節約しないといけない環境(例:家庭用ゲーム機,旧世代のPC,etc...)で描画するのであれば
極力テクスチャのデータ量は節約したいものだ。

そこで、テクスチャに求めるピクセルフォーマットを埋め込むことにした。
「このテクスチャは地面に貼り付けるものだから"DXT1"」
「このテクスチャはは2値のアルファを持っているだけなので"A1"」
といったように、テクスチャの使い道からピクセルフォーマットを決定する。

TGAのイメージデータ領域に存在するピクセルは、指定したピクセルフォーマットで減色する。
減色前の元のピクセルは拡張領域にバックアップしておく。
こうすることで、テクスチャを扱うアプリケーションで減色されたデータをプレビューできるようになる。

想定しているデータフロー Edit

その1

  1. PhotoshopからTexTarga形式で画像を出力する。(プラグインはまだ作成していない)
  2. 出力した画像を用いて3Dモデリングソフトでモデルを作成する。
  3. 作成したモデルをColladaなど中間データとして出力する。その際、TexTargaも一緒にコピーする。
  4. モデルの中間データ、およびTexTargaデータを、プラットフォームに最適化されたデータに変換する。

その2

  1. Photoshop、GIMPなどの画像処理ソフトからTarga形式で画像を出力する。
  2. 出力した画像をtextga_convを使ってTexTarga形式に変換する。
  3. 以下、その1の2以降の流れと同じ。

設計思想 Edit

  • Colladaと併せて使いたい。
  • あくまで中間フォーマット。プラットフォームに最適化されたフォーマットに変換することを推奨。
  • 最終的にプラットフォームに最適化できればいい。だから、データサイズは気にしない。

History Edit

  • 初稿 -- あっきー? 2007-12-28 (金) 20:06:08

リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Fri, 28 Dec 2007 20:06:08 JST (5957d)