見出し画像

長時間Unityと格闘した/日記

 今日はひたすらUnityでアバター弄りをしていた。思いついた事があれば実装し、不具合があれば修正し、アップロードし終えたと思えばまた別の所に手を付け……を繰り返しているといつの間にか10時間ぐらい過ぎていた。作業用BGMもなしにここまでの時間が一瞬で過ぎたのは久々かもしれない。思い出しながら何をしていたか記す。

 と、その前に。

────

本日の巡り廻る。

 前回からPTを強化せずもう一度闇竜に挑んだ。立ち回り次第で何とか出来るのではないかと悪あがきしつつ爆弾を投げまくり魔法を撃ちまくり薬を使いまくっていると辛くも勝利を得ることができた。

 忘れていた。

 闇竜には第2形態があることを。(当然負けた)

 レベルを倍ぐらいまで上げれば圧勝出来そうな気配があったので引き返して今日は終わった。

────

Unity

 そんな訳でUnityを立ち上げた。私は少し前から今使っているアバターのパフォーマンスランクが気になっていた。と言うのもアングラの子はそのままアップロードするとパフォーマンスランクは最低値のVery Poorだ。

画像1


 これ自体は別に珍しい訳ではないものの、人が集まるイベントの主催者さんが「Poor以上のアバターでお越しください」と明記している場面をたまに見る。軽量化してお気楽に出没できるようにならないものか?少し試行錯誤してみることにした。

 と大袈裟に前置きしたが、Poor化自体は割とあっさり終わった。非表示になっているパーツ(角や透明なジーンズなど)を削除しただけだ。たとえ描画されていなくともデータとして保持してはいるので負荷は上がると言う簡単な話だった。アングラの子は無罪、罪の所在は私の無知であった。

 さてここで大昔のUnityセールでMesh Bakerを買っていたことを思い出す。

メッシュとマテリアルを混合してドローコールを削減。テクスチャ・パッカーも含めましました。
マテリアルがシェアできるように固定モデルとアトラスを作成して(for static/dynamicbatching)

 言葉の意味はよくわからないがとにかく何かを削減できるらしい。あやふやな書き方をしたがアバターやワールドの軽量化用途で人気のあるアセットだ。とりあえず使ってみることにした。

参考にしたサイト

 影色の設定などが初期化されていたので元々のマテリアルを参考にしつつ設定を合わせていくと正しい見た目で表示されるようになった。

画像2

 うむ、見た目に変化は無し。さてAvatar statsを見る。

不要なObjectの削除およびMeshBaker適用前

画像3

最適化後

画像4

 見た目に影響を及ぼすことなく赤字になっていた部分が緑字になったのでおそらく良くなったのだろう。と、ここでアバターの表情が変わらないことに気が付く。これはMeshBakerを使った際に元々各パーツに散らばっていたシェイプキーの位置が一つのGameObjectにまとめられたのが原因なので地道にAnimationおよびAnimationControllerを作った。個人的に一番苦戦したのは表情の遷移条件(たとえば片手がピースもう片手がグーになってる時に出す表情を何にするか)だ。これは特にMeshBakerは関係なくComboGestureとの格闘である。

画像5

 サムズアップしてる時にウィンクするようになったところ。

画像6

 ピースピース。

 一段落。とりあえず軽量化との戦いはここまで。

 さてせっかくの改変と言うことでやはりアクセサリーなど足してみたいと思う頃合いだ。なんとなしにメガネをつけてみることにした。さっそくBOOTHを覗きいい感じのモデルを探し当てる。

 形状とレンズ表現がいい感じだったのでこれを購入。さっそくつけてみた。

画像7

 なかなか良い。レンズシェーダーの完成度もすごい。

画像8

 服や帽子とメガネフレームの色を画像編集ソフトで揃えてアップロード、楽しく自撮りに勤しんだ。以下5枚の写真。

画像9

画像10

画像11

画像12

画像13

 大いに満足した。あとはトグル式のメガネ着脱ギミックを載せてカメラを持たせて……などと考えているとすっかり朝になっていたので寝ることにした。

 今日はここまで。

インディーズゲームたくさん買う