原カバンは鞄のお店ではありません。

Unityを使ったゲーム制作のあれこれを綴っていきます。

【無料アセット紹介】モデルサイズに合わせてテクスチャを自動で敷き詰めてくれる MasterCube

クラフト

ティアキンがRPGではなくクラフトゲームと化してる皆さんこんにちは。もはやゼルダ姫を探すとかどうでも良くなってきました。ギアを集めてアレコレ作るのが楽しいです。あと、キースの目玉を矢につけると誘導弾になるのでキース狩りばかりやってる。

 

IndieLiveExpo 2023

先週末(5/20)にYoutubeにてIndieLiveExpo 2023が放送され、私の自作ゲーム「W.T.」も15秒という短い時間ですが紹介して頂けました。
300件近いタイトルの中でいつ紹介されるのか分からなかったので、放送開始からずっとPCに張り付いていたのですが、中盤頃の集中力が途切れたタイミングで登場したので危うく見逃すところでした。

www.youtube.com

放送後にこれといったリアクションは無いのですが、何より無事に紹介されて良かったと思います。心残りは放送タイミングでSteamのストアページを開けなかった、という事ですが、これについは後日取り上げたいと思います。

 

MasterCube

結構古めのアセットでストアページも地味なんですが、以外に有用なアセットだと思います。(しかも無料)

assetstore.unity.com

Cube形状のモデルに対しテクスチャのUVを云々する事に特化したアセットみたいです。機能は大きく3つあり

  1. モデルのサイズに合わせてテクスチャを自動で敷き詰める
  2. モデルのUVを各面毎に調整する
  3. メッシュを結合して単一のメッシュにする

となっています。
このうち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形状であることが前提です。斜面や曲面があるようなモデルは上手く適用されません。

 

メッシュの結合

最適化の手段等で使われる事のが多いメッシュ結合。それ専用の有料アセットもありますが、このアセットでも実現することができます。
使い方は簡単です。

  1. 空のGameObjectを作成
  2. 結合したオブジェクトを空のオブジェクト以下に配置
  3. Hierarchy上で空のオブジェクトを右クリック > Combine Meshsを選択

例えば、以下のような3つのCubeを結合する場合、空のオブジェクト(CombineRock)の配下にCubeを配置します。

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

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

結合前のオブジェクトのMaterialがバラバラの場合でも、Materials配列の中に設定されるので問題ありません。ただし結合前のメッシュ情報はどこにも残らないずCtl+ZでのUndoも効かないので注意が必要です。

 

まとめ

UVの調整機能に関しては適用されるモデルがCube形状である事が条件なので使う範囲は狭いかもしれません。
また、メッシュ結合に関してはテクスチャを一枚に統合したりする機能はないので、あくまで簡易的な最適化手段として使う方が良いと思います。使いどころが限られるアセットですが、まぁ、何より無料のアセットなので試しに導入しても悪くないかな、思います。

 

◇プライバシーポリシー

●個人情報の利用目的

当ブログでは、メールでのお問い合わせ、メールマガジンへの登録などの際に、名前(ハンドルネーム)、メールアドレス等の個人情報をご登録いただく場合がございます。

これらの個人情報は質問に対する回答や必要な情報を電子メールなどをでご連絡する場合に利用させていただくものであり、個人情報をご提供いただく際の目的以外では利用いたしません。

●個人情報の第三者への開示

当サイトでは、個人情報は適切に管理し、以下に該当する場合を除いて第三者に開示することはありません。

・本人のご了解がある場合
・法令等への協力のため、開示が必要となる場合

個人情報の開示、訂正、追加、削除、利用停止
ご本人からの個人データの開示、訂正、追加、削除、利用停止のご希望の場合には、ご本人であることを確認させていただいた上、速やかに対応させていただきます。

アクセス解析ツールについて

当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。

このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。このトラフィックデータは匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。

●免責事項

当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。

当サイトのコンテンツ・情報につきまして、可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。

当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

●プライバシーポリシーの変更について

当サイトは、個人情報に関して適用される日本の法令を遵守するとともに、本ポリシーの内容を適宜見直しその改善に努めます。

修正された最新のプライバシーポリシーは常に本ページにて開示されます。