【3Dゲームエンジン】Unity質問スレッド10at GAMEDEV【3Dゲームエンジン】Unity質問スレッド10 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト321:名前は開発中のものです。 14/07/07 14:05:19.09 HFPJwFqU.net クラス内のpublicフィールドを全部一括でインスペクタに表示しない方法ってありますか? フィールドが2~3個なら[System.NonSerialized]でいいんですが 50個くらいのフィールドを全てインスペクタに表示しないようにしたいんですが、 一つ一つに[System.NonSerialized]付けていくしかないですか? 一括でできる方法があれば教えて下さい 322:名前は開発中のものです。 14/07/07 14:28:44.66 xmI8T3g4.net >>314 方法はいくつかある。 その前にSystem.NonSerialized属性はフィールドをインスペクタに表示しない属性じゃなくて、 フィールドをシリアライズしない属性。非表示だけならHideInInspector属性を使うと良いよ。 んで一括で表示させない方法だけど、まずはそのフィールドが本当にフィールドである必要があるかを考える。 プロパティはシリアライズされないから、{get;set;}とかをつけてプロパティにしてしまう手もある。他クラスから取得できるけど設定できない値とかも作れるよ。 他にはカスタムエディタを定義しておく方法がある。 Editorってフォルダ内に適当に「(クラスの名前)Editor」みたいなスクリプト作る。 UnityEditor名前空間を参照して、Editorクラスを継承する。 CustomEditor属性を付けてフィールドを非表示にしたいクラスを渡す。 OnInspectorGUIメソッドをオーバーライドしてインスペクタの表示処理を書く。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch