EZ GUIを使う上でのハマリ回避法

Unity Asset Storeで売られている「EZ GUI」というAssetを多人数で使う場合、いろんな問題がありそれの回避法を伝授していただきました。とても有難い
6
伊藤周@おなかソフト @warapuri

Unityでの多人数ゲーム開発において、EZGUIの選択は間違ってしまったと言わざるをえない。たびたびテクスチャが壊れる事態があって収拾がつかない。困った…

2011-11-11 01:12:51
h.omae @pigeon6

rebuild atlasすれば治るとかじゃなくて? RT @warapuri: Unityでの多人数ゲーム開発において、EZGUIの選択は間違ってしまったと言わざるをえない。たびたびテクスチャが壊れる事態があって収拾がつかない。困った…

2011-11-11 01:23:23
伊藤周@おなかソフト @warapuri

@pigeon6 いやそういうんでもなくて、prefab内のアトラスが更新されたりされなかったり。誰か一人だけがビルドアトラスすれば良いんでしょうが、それだと多人数で並行開発出来なくて困ってます。結局最後に誰か一人がビルドアトラスして全てのシーンを開いて更新すれば、治る感じ

2011-11-11 01:30:13
仙人 @lucifuges

シーンごとにマテリアルを分ける、シーンをまたぐコンポーネントはPrefab化する、で回避。QT @warapuri: Unityでの多人数ゲーム開発において、EZGUIの選択は間違ってしまったと言わざるをえない。たびたびテクスチャが壊れる事態があって収拾がつかない。困った…

2011-11-11 01:23:28
伊藤周@おなかソフト @warapuri

あー、これチームで徹底してるかチェックしてみます RT @lucifuges: シーンごとにマテリアルを分ける、シーンをまたぐコンポーネントはPrefab化する、で回避。QT EZGUIでたびたびテクスチャが壊れる事態があって収拾がつかない

2011-11-11 01:40:13
h.omae @pigeon6

2Dtoolkitとかex2Dには勝手にビルドし直す機能があってないす RT @lucifuges: EzGUIのBuild Atlasは罠が多すぎる。

2011-11-11 01:26:12
伊藤周@おなかソフト @warapuri

@lucifuges prefabのprefabってうまくいってます? なんかそこらへんがマズイのかなあ

2011-11-11 01:31:45
h.omae @pigeon6

それむり RT @warapuri: @lucifuges prefabのprefabってうまくいってます? なんかそこらへんがマズイのかなあ

2011-11-11 01:32:32
仙人 @lucifuges

PrefabのPrefabはUnityの設計上できないはず。Prefab下に組み込まれてしまった元Prefabは、親Prefabの一部として元Prefabから独立してしまう。QT @warapuri: @lucifuges prefabのprefabってうまくいってます?

2011-11-11 01:32:57
伊藤周@おなかソフト @warapuri

そおおだったのかあ… っ! RT @lucifuges: PrefabのPrefabはUnityの設計上できないはず。Prefab下に組み込まれてしまった元Prefabは、親Prefabの一部として元Prefabから独立してしまう @pigeon6

2011-11-11 01:37:31
仙人 @lucifuges

EzGUIのBuild Atlasは罠が多すぎる。

2011-11-11 01:24:04
仙人 @lucifuges

何が起きてるのかというと、あるコンポーネントがAtlasにまとめられたテクスチャのどの部分を使っているのかという情報は各コンポーネントインスタンスが持っているんだけど、別のシーンでも使われてるAtlasを再構築しちゃうと別シーンのUV情報は書き換わらずテクスチャだけが更新される。

2011-11-11 01:29:39
仙人 @lucifuges

Build Atlasしたあとシーンのセーブを忘れることでも同様の問題が発生する。

2011-11-11 01:32:03
仙人 @lucifuges

この問題を回避するには、EzGUIで管理するオブジェクトには複数シーンにまたがるようなマテリアル設定をせず、Build Atlasする際Search Project Folderのチェックを外すのが最も簡単。

2011-11-11 01:40:12
仙人 @lucifuges

どうしても複数シーンで使いまわすオブジェクトは、そのオブジェクトツリー全体で1つのマテリアルを参照するようにしてPrefab化する。

2011-11-11 01:40:53
仙人 @lucifuges

EzGUIはAssetStoreに最初に現れた本格的なGUI管理ツールだから注目されがちだけど、その作りはかなり甘い。Build Atlasの件もそうだし、Transition周りは注意深く使わないと簡単にバグの温床になる(Transitionがバグっているわけではないが)。

2011-11-11 01:49:50
かみー @kamy0714

@lucifuges @warapuri さんのつぶやきから、たどり着きました。便乗なのですが、prefabにしか存在せず、シーンに存在しない状態のprefabのbuild atlasさせる上手い設計があればお聴きしたいです。prefabでしか使わないと決めているマテリアルを、

2011-11-11 02:34:50
かみー @kamy0714

@lucifuges @warapuri 決めて、search project scan って感じで、行けるのかなあと、思ったのですが。

2011-11-11 02:37:38
仙人 @lucifuges

@kamy0714 Build Atlasする時にSearch Project Folderにチェックを入れれば反映されますが、そうするとPrefab化されているEzGUIコンポーネント全てのAtlasが再構築されるので問題が発生する可能性があります。

2011-11-11 02:38:07
かみー @kamy0714

@lucifuges お返事、 ありがとうございます。なるほど。では、他のprefabが何処かのシーンのマテリアルと同じ物を使っている時には、atlasが壊れてしまうので、search project scanを使う時には、projectのprefabのマテリアルはシーンの物を、

2011-11-11 02:45:52
かみー @kamy0714

@lucifuges 使わないという決まりが必要そうですね。突然の質問に答えて頂きありがとうございます。

2011-11-11 02:47:06
仙人 @lucifuges

@kamy0714 はい、それでほぼ回避できると思います。避けるべきはどこかのシーンに配置されているEzGUIコンポーネントが参照しているAtlasを、別のシーンを開いている時にRebuildしてしまわないことです。

2011-11-11 02:52:55
かみー @kamy0714

@lucifuges うっかり間違えそうですが、気をつけて使ってみようと思います。ずっと胸に使えていたbuild atlasの謎がようやく解けました。本当にありがとうございました。

2011-11-11 02:59:02
仙人 @lucifuges

Unity Freeで多人数開発しつつEzGUIは完全に無謀だから辞めるべきw テクスチャのリンクとか切れまくってやばい。

2011-11-11 02:55:02
仙人 @lucifuges

みんなUnity ProでAsset Server使えばいいのに…とか思ってるけど、自分の関わってるプロジェクトでもAsset Serverは使わせてもらえてないw

2011-11-11 03:00:09