アニメプロップ

 
       フォーラムトップ -> SimCity4改造関連掲示板
前のトピックを表示 :: 次のトピックを表示  
投稿者 メッセージ
過密市長


登録日: 2004.11.23
記事: 33
所在地: TOKIO
アニメプロップ
日時: Mon Oct 08, 2007 11:54 am
 

ビットマップアニメーションの作り方が、SimtropolisのSTEXに掲載されています。
原題はAnimated Props Tutorial、作者はdenham2010さんです。
添付ファイル(PDF)は、その日本語版です。

SC4のアニメに興味があったのでこのTutorialを読んでいたのですが、構造を解析しようとすると、英語では構造イメージの保持が困難で、読み返すうちに頭の中が混乱してきたので Rolling Eyes 、重要な部分を日本語にしてワードパッドにメモしました。

メモしてるうちに、翻訳に興味が出てきて、生翻訳を日本語風に書き直しはじめました。I とか You を削って、欠けた主語は作者または読者であるという日本語文の特性が出るように修正しました。そして、調子に乗って全訳。
間違った訳もあるでしょうが、技術書なのでこれでいいのであります Embarassed

これが交通MODの最新Tutorialだったら歴史に名を残せるかもしれませんが、それがあったとしても、多分翻訳まではしないでしょう。次の予定はまったくありません。

日本語版の最後にコメントを付けています。本文と一緒にMODの参考にしてください。
このTutorialはアニメプロップ以外に、gmax、FiSHMan、Readerの使い方の参考にもなると思います。

注:このTutorialはBitmapアニメの解説であって、車やバス等の3Dアニメの解説ではありません。また、日本語でも理解するのは厄介であり Exclamation 、実際にアニメを作るのはもっと厄介です! Evil or Very Mad

オリジナルは、Animated Props Tutorial (Simtropolis STEX #14283)
オリジナルに加工用1次ファイルが付いています。日本語版には付いていません。
参考:作者のデモプロップ作者のトピック1作者のトピック2、SC4ファイルの書式一覧

Animated Props Tutorial-JP.zip
 Description:
 Filename:  Animated Props Tutorial-JP.zip
 Filesize:  626.21 KB
 Downloaded:  92 Time(s)

トップに戻る
ラグ太郎


登録日: 2004.06.21
記事: 930
所在地: 北九州市
Re: アニメプロップ
日時: Thu Oct 11, 2007 11:14 pm
 

過密市長さん、今晩は。

膨大な量の和訳、大変お疲れ様でした Surprised

早速ざっと読んでみましたが、「ちょっと試してみます」といって気軽に試せるようなものではないようで Exclamation 、まずは時間が空いたときにチュートリアルに従ってやってみたいと思います Smile

それでは。

_________________
Tomorrow is anotherday, believe it.
Ragutaro
トップに戻る
メールを送信 投稿者のウェブサイトに移動
Mas'71


登録日: 2006.04.24
記事: 129
所在地: Chiba-city JAPAN
お疲れ様です!
日時: Fri Oct 12, 2007 3:57 pm
 

過密市長さん、こんばんは。

おお!
こほどのボリュームの翻訳作業。本当にお疲れ様でした! Razz
理屈では簡単そうでも、実作業となると大変で、それを言葉で説明するのは更に大変。
これはアニメーションPROPに限らず、色々な意味での教科書になり得ます。
いつかは必ずやってみたい分野なので、本当にありがたく利用させて頂きます!

で、よくよく考えるとG-MAX(3DSmax)は、CGアニメソフトとしても有名な部類のものなんですよね? 3DSMaxの不要な機能を削除したとは言え、Gmaxにもタイムラインが堂々と残っているところを見ると、もう少しSC4でも開拓されていてもおかしくないのでしょうが… Exclamation
トップに戻る
投稿者のウェブサイトに移動
過密市長


登録日: 2004.11.23
記事: 33
所在地: TOKIO
Re: アニメプロップ
日時: Mon Apr 14, 2008 12:31 am
 

[ アニメその後 ]
Denham氏のアニメプロップ作成法を紹介してから5ヶ月ほど経ちました。
その間、アニメの研究をするとともにアニメツールを作製していました。
リアルライフが超忙しい状態でなかなか先に進みませんでしたが、概ね完成するところまで到達しました。
現在、バグ取りやマニュアルとサンプル作りを進めていますが、とりあえず経過を報告しておきます。

Denham氏のアニメ作成法の流れは、
------------------------------------------------
1. BATアニメ作成。
2. BATエクスポート(1シークエンスが20フレームなら、20×2=40回エクスポート)。
3. 作成された.SC4ModelファイルからFSHを抜き出す。
4. 全てのFSHファイルをBMPに変換。
5. BMPファイルを256×256のビットマップに貼り付け。
6. 256×256のビットマップをFSHに変換。
7. AVPファイル、ATCファイルを修正。
8. FSH,AVP,ATCファイルをDATファイルに挿入。
9. Exemplarファイルを修正。
10. アニメプロップ完成。
------------------------------------------------
となっていました。
この方法で実際にアニメを作ろうとすると大変な作業になります。
しかも、不確実な部分が含まれていて、失敗する可能性もあります Confused

この方法を解析していてわかったことは、
------------------------------------------------
a. BATエクスポートで作成される画像は、昼景(α無しピクチャ)と夜景(α付ピクチャ --- 全体は照明された昼景ピクチャで、αでマスクすると照明された部分のみ残る)である。

b. BATエクスポートで作成される画像は最大256×256ピクセルで、それよりも大きい画像の場合は、256×256画像の組み合わせである。また、画像が組み合わされた場合、この組合せの順番を知らせる情報はSC4Modelファイルの中には存在しない。

c. ここでの対象となるアニメーションは、Simcity1.dat, Simcity2.dat 内でAVPファイルで参照されるビットマップ型アニメーションである。使用される画像は、昼景-α付ピクチャ(一部α無し)であり夜景は存在しない。画像のサイズは推定127×127ピクセルが最大である(符号付1バイト)。

d. ビットマップ型アニメーションは単純な動きを繰り返す小物、単独や群集人物、広告、信号灯などに使用される(AVP型)。大きなアニメ、遅いまたは複雑な動きのアニメ、交通やイベント系のアニメなどは、3D骨格を持つポリゴン型アニメ(S3D型)が使用される。他に噴水や煙があるが形式は不明。

e. ロットエディタで配置可能なプロップも上の3タイプが使い分けられている。

f. ビットマップ型アニメーションでは夜景がないものの、ビデオスクリーンや信号灯では、Exemplar の Self-illuminated プロパティが上手く働いている。これがTrueの場合、夜間になっても夜景のマスクが掛からず、ビデオスクリーンや信号灯は明るく表示される。信号灯の場合Self-illuminatedがTrueだと、信号灯以外の部分にも夜景のマスクが掛からないが、暗い色を使うことで逃げている。

g. 建物の背面に隠れる場合などの前後関係は Exemplar の Occupant Size のみで把握される。また、Denham氏が困惑した画像表示の原点はこの Occupant Size の平面中心であり、gmaxの3D原点(0,0,0)がエクスポートされた各視点画像のどの位置にあるかがわかれば、画像の位置合わせは容易である。

h. Denham氏はテクスチャ無しのモデルをエクスポートして、疑似αを作成している。
------------------------------------------------
などでした。

次に、Denham氏の作製法を改良し、また、自動化を考えてみました。
過密式フローは、
------------------------------------------------
1. BATアニメ作成。
2. BATエクスポート(1シークエンスが20フレームなら、20回エクスポート)。
3. 【自動化】作成された.SC4ModelファイルからFSHを抜き出す。--- DBPF解凍
4. 【自動化】全てのFSHファイルをBMPに変換。--- FSH(DXT1,DXT3)toBMP変換
5. 【自動化】BMPファイルを256×256のビットマップに貼り付け。
6. 【自動化】256×256のビットマップをFSHに変換。--- BMPtoFSH(DXT3)変換
7. 【自動化】AVP、ATC、Exemplur各ファイルを作成。
8. 【自動化】各ファイルをDATファイルに組み込む。--- DBPF圧縮
9. アニメプロップ完成。
------------------------------------------------
となりました。

自動化に使用する言語はVB6・・・公表を考えているので、せめて.netを使おうかと思ったのですが、慣れていないのでやめました。C++は疲れるし、我が灰白色の脳細胞には他の言語を仕込む余地もなく、コンパイルすればネイティブで結構早く動くので、使用言語はVB6としました。
DBPF(.DAT)ファイル解凍と各ファイルの構造は http://www.modthesims2.com/wiki.php?title=SC4FormatsListを参考にしました。BMPとDXT3の相互変換はDLLで提供している人がいたので、それを使うことにしました。

ということで、命名規則無視、コメント無し、パブリック変数の多用など悲惨な作法なれど、ソースは絶対公開しないぞとの決意の元、ツールの作製開始。

しかし、作製を進めながらも、FSHのDXT3圧縮画像をBMPに戻し、さらにそのBMPをDXT3に再圧縮すると画像が劣化しないだろうか、BATのMAXスクリプトも改造できればもっと便利になるのにな・・・などと思っていたところに、フォースでBATエラーの質問。
回答するためにMAXスクリプトを調べてみると、delete old file… なる行を発見。
この行をコメントアウトしてからモデルをエクスポートしてみると、なんと、仮ファイルがごっそり消されずに残っているではありませんか! Surprised
しかも、仮ファイルは劣化の心配のないTGAファイルです。
ズーム毎、視点毎に、20枚(夜景有りなら、さらに20枚)づつそろってます。
この画像を使わない手はないし、MAXスクリプトも改造できそうだな・・・

欲が出てきましたね。ここで、急ぎ作戦変更。
新しいフローを立てることにしました。

新過密式フローは、
------------------------------------------------
1. BATアニメ作成(夜景も対応)。
2. 【自動化】BATエクスポート(1シークエンスの全フレームエクスポート…ひたすら待てばよい!)。 Very Happy
3. 【自動化】作成された.SC4ModelファイルからOccupantSizeを取り出す。--- DBPF解凍
4. 【自動化】作成されたTGAファイルをBMPに変換 --- TGA解凍、TGAtoBMP変換
5. 【自動化】アニメーション調整(動作確認、フレーム数調整、簡易な影合成など)
6. 【自動化】BMPファイルを256×256のビットマップに貼り付け。
7. 【自動化】256×256のビットマップをFSHに変換。--- BMPtoFSH(DXT3)変換
8. 【自動化】AVP、ATC、Exemplar各ファイルを作成。
9. 【自動化】全ファイルをDATファイルに組み込む。--- DBPF圧縮
10. アニメプロップ完成。
------------------------------------------------
となりました。gmaxの自動起動から始まってロットエディタを起動する直前まで、ほぼ完全自動化です。

TGA to BMP変換が増えたものの、DXT to BMPが減ったので、なら、BMP to DXTも組んでしまえということにしました。扱うファイルの数が多いので、DLLでもファイルのオープン・クローズがネックになるのです。しかし、解凍方法は簡単に見つかるのに、圧縮方法はなかなか見つかりませんね。ネットを捜しまくってやっと発見しました。しかも、比較的理解しやすいC++のソースを!
ポインタ変数の扱いに注意し、クラスの分解(1回しか使わないものが多いのでインライン化)など不便化?に悪戦苦闘しながらも、どうにかコーディング完了。

夜景はプロップをもう一つ用意し、夜間マスクを掛けた昼景と合成して使用します。夜間マスク(RGB減色)の値はMAXスクリプトの中から偶然発見しました。昼景と夜景の切換えはExemplarで Resource Key Type 4 と Nighttime state Change を利用して実現しています。 

アニメの標準サイズは、DXTファイルが4×4ビットの圧縮なので4で割れないサイズの場合、隣り合った画像にゴミが出ることがあるため、124×124としました。また、画像位置を決めるデータが+127〜-128の範囲であることから、画像4枚の組合せで248×248も可能となりました。124×124で直径約18mの球内、248×248では約35mの球内で動くモデルの表示が可能です。

248×248はプロップ4つの組み合わせなので、画像に継ぎ目が入ったり、昼夜の切替り時や混雑した都市ではアニメの同期が崩れます(同期の崩れは、視点を変えれば通常は修復されます)。これらはSC4の仕様なので仕方ありません。とはいえ、SC4マップの中で自分のアニメプロップが動いているのは面白いものです。

以上、長々と経過を書きましたが、残る作業はあとどのくらいかな・・・、
なんとか5月連休前にはリリースしたいところです・・・
トップに戻る
Mas'71


登録日: 2006.04.24
記事: 129
所在地: Chiba-city JAPAN
Re: アニメプロップ
日時: Sun Apr 20, 2008 12:00 am
 

こ、、、これは!
素晴らしい!の言葉では言い表せない程のツールになりそうですね!
翻訳だけでも大変なご苦労でしたでしょうに、その解析からとうとうツール一本化にまで
達してしまわれるなんて、それは凄い事だとしか言い様がありませんね! Shocked

これはBAT経験者には眉唾でもあり、新たに課せられる新たなミッションになりそうです!
が…。
単体もろくな作品が作れない自分が、アニメーションまで出来るのか?
自分が使いこなせるとでも思っているのか?
なんて言う愚問が眼前をちらついていますが Exclamation
またこれでBATの可能性が飛躍的に伸びますね!

完成を楽しみにしています! Razz
頑張って下さい! Wink
トップに戻る
投稿者のウェブサイトに移動
過密市長


登録日: 2004.11.23
記事: 33
所在地: TOKIO
開店しました!
日時: Mon Jun 01, 2009 10:58 pm
 

引用:
[ アニメその後 ]
なんとか5月連休前にはリリースしたいところです・・・

・・・が1年後の連休明けの梅雨入り前になるとは Embarassed
待っていた人がいたらごめんなさい、でも、どうにか開店に漕ぎ着けました。
アニメツールはBABという名前になりました。

SC4Dで公開しています。

ラグ太郎さん、長期のサイト維持管理ありがとうございます。
おかげ様で、ここで4年以上暖めていたものを形にすることができました。
ここでMODとの接触がなかったらまったく違ったシム人生を送っていたでしょう。
本当にありがとうございます。そして、これからもよろしくお願いいたします Very Happy
トップに戻る

Powered by phpBB © 2001, 2002 phpBB Group
iCGstation v1.0 Template By Ray © 2003, 2004 iOptional


Traduction par : PHPBB JAPAN