2022/06/23
テーマ: 活動まとめ / 東京タクシー3D / 2022 / すべて
東京タクシー3D の開発振り返りです。
それなりにちょっとずつ改良してます。
skeleton や animation を気にしないといけないキャラクタと違って車モデルの追加はそこそこ楽。
とはいえ sharp edge 情報がもともと FBX に入ってない or Blender でインポートすると消えるので手動でポチポチ sharp edge を設定していったり、標準テクスチャに合わせるために面をちまちま選択して UV 編集したり、それなりに時間はかかります。
作者がかっこいいと思った曲をじゃんじゃん追加。
容量との相談で相対的にイケてないやつを削除。
急かしてドキドキ感を演出。
ポップな感じの色もあっていいじゃんと思ったので。
総獲得馬場コインは一部値の正しさが怪しかったので削除。
面倒なので後退時にもギアがどんどん上がり前進時と同じ最高速が出ていましたが、ついに後退時は 1 速に制限するように実装。
総獲得馬場コインがバグっててかなり大きい値の時に白くなっていた。
Project PLATEAU のデータを利用。
公開されている OBJ や FBX データを使おうかとも思ったけど細かい処理をしたいので CityGML を parse することにしました。
xml ライブラリの利用は最小限にしたいので、昔書いた 10 行くらいの自作ライブラリで XML → native 構造に変換、それを処理する感じ。
データの素性を確かめたりきれいにしたりする部分でそれなりに時間がかかったけどいい感じに組み込めました。
データとしてはある程度ポリゴンの形に制約があり、品質評価についてもドキュメント化されてたので比較的扱いやすい部類ですが、UV 座標系が未定義だったので試してみる必要があったのは改善してほしいポイント。
自作のテクスチャアトラス生成ライブラリがテクスチャ数が多い時に激遅だったので計算量を改善したり、テクスチャ合成が遅かったので ImageMagick のコマンドではなく Pillow でやるようにしたり、独自 mesh の結合関数が無駄に遅かったので高速化したりもしました。
ルミネの細かすぎるテクスチャを目視で除外するなど泥臭い作業も(笑)
Mac は意外と OBJ 形式のモデルプレビューが使いやすかったりするので、デバッグのため副産物として独自 mesh 形式から OBJ 形式に export するライブラリもできました。
ポリゴンに隙間があったりしたので改善。
盛り上がってるところが一目瞭然になるようにしました。
車種別にした結果ランキング数が増えすぎてしまったので G1, G2 に整理。