
クラフト
ティアキンがRPGではなくクラフトゲームと化してる皆さんこんにちは。もはやゼルダ姫を探すとかどうでも良くなってきました。ギアを集めてアレコレ作るのが楽しいです。あと、キースの目玉を矢につけると誘導弾になるのでキース狩りばかりやってる。
IndieLiveExpo 2023
先週末(5/20)にYoutubeにてIndieLiveExpo 2023が放送され、私の自作ゲーム「W.T.」も15秒という短い時間ですが紹介して頂けました。
300件近いタイトルの中でいつ紹介されるのか分からなかったので、放送開始からずっとPCに張り付いていたのですが、中盤頃の集中力が途切れたタイミングで登場したので危うく見逃すところでした。
放送後にこれといったリアクションは無いのですが、何より無事に紹介されて良かったと思います。心残りは放送タイミングでSteamのストアページを開けなかった、という事ですが、これについは後日取り上げたいと思います。
MasterCube
結構古めのアセットでストアページも地味なんですが、以外に有用なアセットだと思います。(しかも無料)
Cube形状のモデルに対しテクスチャのUVを云々する事に特化したアセットみたいです。機能は大きく3つあり
- モデルのサイズに合わせてテクスチャを自動で敷き詰める
- モデルのUVを各面毎に調整する
- メッシュを結合して単一のメッシュにする
となっています。
このうち3に関してはモデルの形状はCubeに限らず色んな形状のメッシュでも使用することができます。
テクスチャの自動調整
Unityではモデルの各方向(X/Y/Z)に対してサイズを変更することができますが、テクスチャに関してはUV調整されないのでモデルの形状に引っ張られて、テクスチャを引き延ばした形で設定されます。
この為、同じモデルでもX/Y/Z方向のサイズが異なったメッシュに対して、テクスチャの見た目を合わせようとすると個別にUVを調整したMaterialを用意する必要がありました。
一方このアセットを使用すると、引き伸ばしたメッシュを元にUVを自動で調整してくれるのでMaterialを増やす必要はありません。

使い方は簡単で、Cube上のモデルにMasterCubeのコンポーネントを追加し、Reflesh Base UVを押すだけです。
後はSceneビュー内でモデルのサイズを変更すると自動的に調整されます。
逆にGameビューを表示してInspectorからモデルのTransformの値を変更した場合は反映されないので注意してください。
各面毎にUV調整
上の自動調整はモデルの各面全てに適用されますが、各面毎にUVの調整を行うこともできます。
MasterCubeコンポーネントには「Face Transform」という項目があります。

そこではFront~Bottomまで6面のUVとOffset、Rotationの設定が行えます。よって、この項目を使用して各面のUVを調整出来ます。

分かり切った事かもしれませんが、このような調整が行えるのはモデルがCube形状であることが前提です。斜面や曲面があるようなモデルは上手く適用されません。
メッシュの結合
最適化の手段等で使われる事のが多いメッシュ結合。それ専用の有料アセットもありますが、このアセットでも実現することができます。
使い方は簡単です。
- 空のGameObjectを作成
- 結合したオブジェクトを空のオブジェクト以下に配置
- Hierarchy上で空のオブジェクトを右クリック > Combine Meshsを選択
例えば、以下のような3つのCubeを結合する場合、空のオブジェクト(CombineRock)の配下にCubeを配置します。

空オブジェクト(CombineRock)をHierarchyで選択して右クリック→メニューから[Combine Meshs]を選択します。

すると空オブジェクト(CombineRock)配下のメッシュが結合されて一つのオブジェクトになります。

結合前のオブジェクトのMaterialがバラバラの場合でも、Materials配列の中に設定されるので問題ありません。ただし結合前のメッシュ情報はどこにも残らないずCtl+ZでのUndoも効かないので注意が必要です。
まとめ
UVの調整機能に関しては適用されるモデルがCube形状である事が条件なので使う範囲は狭いかもしれません。
また、メッシュ結合に関してはテクスチャを一枚に統合したりする機能はないので、あくまで簡易的な最適化手段として使う方が良いと思います。使いどころが限られるアセットですが、まぁ、何より無料のアセットなので試しに導入しても悪くないかな、思います。