【Editor拡張】再帰的にマテリアルを割り当てるツールを作った
余談
来週にはunity1weekが開催されますね!
【RT希望🙌】2023年09月18日(月)〜 #unity1week を開催します。 1週間でゲームを作り、みんなで遊ぶ、初心者大歓迎なイベントです。ルールや過去作品はリンク先をご覧ください。 ゆるいイベントですので、どうぞ気軽にご参加ください。一緒にゲーム作りを楽しみましょう〜💪https://t.co/2uhr9qVPLT
— ないち (@naichilab) 2023年8月21日
今回、私はMetaFormer様、並びに湊あおい様が企画されている
unity1week Team-Up!!に参加させていただいております!
私も参加してます。これをお読みのあなたもぜひ! まだ間に合います!
TUの近況です。 unity1week Team-Up!! 近況(9/2)|MetaFormingPro @MetaFormingPro #note https://t.co/W05ae7FweF
— MetaFormer(aka wosderge) (@MetaFormingPro) 2023年9月2日
本題
SpriteStudioというものがございまして!
www.webtech.co.jp
今回のUnity1weekで使用しようとしているアプリケーションです。
2Dアニメーションで使用されているらしい。なるほどなるほど。
公開されている公式のインポートツールを使ってURP環境のUnityに持ってきます。
Unityエディターバージョンは2022.3.4f1。
assetstore.unity.com
マテリアルがピンクに…!
SpriteRendererにマテリアルが割り当てられていないのが原因ですね。
で、すべてのSpriteRendererに直接マテリアルを割り当ててもいいんですが、
階層が複雑かつ人力でやるにはあまりにも非効率なので
一括で割り当てるツールを作りました。
URP SpriteRendererのマテリアルをいちいち設定するのがだるいので一括割り当てツールを作った pic.twitter.com/kpW8vQzVIn
— 73(なーさん) (@SuperSuper73) 2023年9月9日
ソースコード
ソースコードはこちら。
一つのScriptファイルに2つのクラスが存在しますが、実際には分けてます。
余談2
今回、初めてUIBuilderを使ってウィンドウを作成しました。
下手すれば初めて目的をもったEditor拡張を作ったかもしれない。
docs.unity3d.com
あくまで個人的な話になるのですが、今までEditor拡張ってどうしても
最終の表示されるウィンドウのイメージを考えながら作るのが
かなりニガテだったので避けていたのですが、
イメージしたものをUIBuilderを使用してGUIでサクッとつくることが作成できて便利。
Editorで使用するObjectField等は、
Libraryの詳細ボタンを押すと使用できるようになります。
UIBuilderを使ったEditor拡張については
Unity Learning Materialに投稿されていた動画で概要を掴み、
そこから既存のEditorのHow to記事を読み漁って作成していきました。
learning.unity3d.jp
何も情報がないところから自分なりにいいものを作り上げられて楽しかったです。
作りたいツールができて満足です。単調な作業とはおさらばだ…。
参考にしたサイト
・UIElements と UI Builder で Editor拡張を作ろう | Unity Learning Materials
・ユーザーガイド | OPTPiX Help Center
・Home · SpriteStudio/SS6PlayerForUnity Wiki · GitHub