【 2002.03.19 】
【 TeddySaver Ver03 】
【 作:小林 均 】
【 HOME:
http://www.interq.or.jp/rabbit/hitoshi/index.htm
【 Mailto:
hitoshi@rabbit.interq.or.jp


TeddySaver

・3次元お絵描きソフトTeddy、Chameleonで作ったキャラクターを表示するスクリーンセーバーです。
・自分で作ったキャラクターを表示することもできます。
・フリーソフトです。

・Windows95以降、DirectX7以降必須で動作します。
・ハードウェアにT&L(トランスフォーム&ライティング)機能がある場合は使えます。(GeForceなど)
・動作が遅い場合には2Dモードでも動かせます。

・添付しているファイルの一部("teddy.obj")は五十嵐健夫さん作のものです。
また、"panda.obj"は"teddy.obj"を使っています。
・Teddy、Chameleonの詳細とダウンロードは
五十嵐健夫さんのページでどうぞ。


スクリーンショット
スクリーンショット。

スクリーンショット2
設定を変えた時のスクリーンショットの一部。


設定

TeddySaver03.scrを [右クリック] - [インストール] - [設定]ボタンを押す か、
TeddySaver03.scrを [右クリック] - [設定] を選ぶと、このようなダイアログが出てきます。

ダイアログ

いろいろ試してみて、お好みの設定にしてください。

* 注意 *
・デスクトップが256色以下だと設定のダイアログが出ません。


自分が作ったキャラクターを表示する

Chameleonで保存したキャラクターのデータファイルをTeddySaverのChameleonフォルダにコピーしておくだけで、自分のキャラクターを表示することができます。

"
*_painted.obj"と"*_painted.bmp"の2つのファイルで一つのキャラクターです。

* 注意 *
TeddySaver Ver03の場合、対応しているのはChameleonで保存したキャラクターのみで、最大10種類までしか読み込みません。


その他

* 2Dモード *
3Dが遅い場合、2Dモードで動かすこともできます。

ただし、
・キャラクターが回転しない
・メモリ(VRAM)使用量が多い
・アンチエイリアスをオンにするとエッジが変になる
・ポスタリゼーションは速い(初期化の時に処理するため)
という違いがあります。

メモリ使用量は、画面の解像度/色数・キャラクターの大きさ/数・背景を使うかどうか(背景の明るさが0%か、そうでないか)の組み合わせで変わります。
(ダイアログに、おおよそのメモリ使用量(誤差あり)が表示されます)
また、メモリ使用量をビデオカードのVRAM容量よりも少なくなるようにしておくとスムーズに動きます。


* Chameleonでちゃんと色を塗ったのに、TeddySaverだと色が変になる部分がある *
ごめんなさい、直せないかもしれません。
ちょっとした誤差だと思います。
Chameleonで色を塗る時、細かく描き込んだりするとよく起こるみたいです。


* キャラクターが真っ白になってしまう *
ハードウェアの制限で大きいテクスチャー画像を読み込めていないのかもしれません。
ペイントソフトを使って、テクスチャー画像を 128x128 か 256x256のサイズに縮小してみてください。


* 起動するが、すぐに終了してしまう *
他のソフトとの干渉によるのではないかと思います。
TeddySaverの設定ダイアログ(大きく開いた状態)の[終了]-[マウス]のチェックをオフにしてみてください。


* 背景の設定が効かない *
24ビットカラー時は、背景等のエフェクトが制限されます。
16ビットカラーか32ビットカラーに設定してください。


* 拡張設定 *
その他の設定を簡単に説明しておきます。

ダイアログ2 マウス オンの時にはマウスの動き・クリックで終了します
キーボード オンの時にはキーが押されると終了します。
ただし、オフにしていても[ESC]キーだけは感知します
ポスタリゼーション キャラクターにポスタリゼーションの効果をかけて表示します。3Dモードの場合は遅くなります。
現在のところ24ビットカラー時には効きません
AVI出力 動作画面をAVI形式のムービーとして出力します
半分のサイズ AVIを画面の半分のサイズに縮小して出力します
画面のちらつき防止 オンにしていると画面のちらつきが抑えられます。
ただし、一部のハードウェアで画面表示が出来なくなることがあります
アンチエイリアス オンにしているとキャラクター周囲のギザギザが軽減されます。
ハードウェアにその機能がない場合は選択できません
ハードウェアT&L オンにしているとハードウェアT&Lを使います。
ビデオカードのT&L性能によっては、オフにしておいた方がスムーズに動作する場合があります。
ハードウェアにその機能がない場合は選択できません

 


* 謝辞 & 参考にしたもの *
Botchyさん作のDirectX用のフリーライブラリ el(Easy Link Library)を使用しました。これがなければ作れませんでした。
・五十嵐健夫さん作のキャラクター("teddy.obj")を許可を頂いて添付させて頂きました。
AVI出力部分は岩本一樹さん Video for Windowsについての解説・ソース、そのBMP出力部分はあゆしゃさんのソースを参考にさせていただきました。
大変参考になりました。ありがとうございました。


* 開発(動作確認)環境 *
AMD K6-2 300MHz、RIVA128(4MB)GeForce2MX(32MB)、Windows95(OSR2.5)
Borland C++ Compiler5.5.1+BCPad2.27、VC++5.0(ダイアログ作成のみ)、el(2002.01.20版)Michael FoetschさんのBorland用DirectX8ライブラリ


* 今後の予定(と希望) *
・Teddy2、AlicePaint3Dファイルへの対応
・移動/回転の方向・スピードを可変に
・Chameleonの"ふわふわ"の動き
・BMP(スクリーンショット)出力
背景を壁紙のみにできるようにする(済)
・アイコンを増やす
・いろいろ高速化(データ読み込みなど)
オブジェクト数の変化による拡大・縮小処理をちゃんとやる(済)
・トゥーンレンダリング(無理かも)
・ファーシェーディング(無理かも)

・その他いろいろ


* 履歴 *  
2002.03.19 2Dモードの追加。ウインドウの透明度(壁紙透過)設定を追加。Zバッファの範囲を大きくしすぎていたのを修正。ハードウェアT&Lをオフにできるように。Ver03
2002.02.21 不必要にメモリを確保するバグを修正。大きさ・数による大きさの変化を修正。輪郭・切りしろの大きさ調整。設定ファイルへの解像度情報書き込みを修正。アンチエイリアスの追加。Ver02_1
2002.01.13 輪郭・切りしろの追加。プレビューの改善。ポスタリゼーションを32ビットカラーのみだったのを16ビットカラーにも対応(24ビットカラーは未対応)。Ver02
2001.12.24 公開。Ver01
2001.10.29 制作開始



* バグやら要望やらアドバイスなど *
メールでいろいろ頂けると嬉しいです。


* その他 *
個人的な使用であればコピー/再配布は制限しませんが、
雑誌などへの掲載/転載の際は事前に連絡をお願いします。