AkiIroブログスマートフォン用の表示で見るAkiIroブログ初心者なりにゲームとプログラミングのことについて書いていきます。この広告は、90日以上更新していないブログに表示しています。2016-09-16Unityでちょっとした初期化などを事前に行うUnityインスペクタから変更できないSerializeを行う。初めに参照を設定したら後はインスペクタから変更できないようにしておきたい場合もあると思います。そんな時の対処法の一つです。Awake()より早く設定できることや、実行時に(極小ですが)GetConponentしない分有利です。(当然かわりにシリアライズ分のデータはかかるとして)方針[SerializeField,HideInspector]アトリビュートでシリアライズできるけどインスペクタからは見えないメンバをつくっておく。Awake()に一応Assertを入れてあげるまずはコードたとえば同オブジェクトにアタッチされたカメラを取得するなら次のようなコードになります。}//以下適当なコード}ちなみにアタッチするとこんな感じになります。[SerializeField]や[HideInspector]についてアトリビュート全般に関してはテラシュールブログ様がとてもわかりやすい記事をくださっています。ここで重要なのは[SerializeField]でメンバはシリアライズできる[HideInspector]でメンバはインスペクタ上からは見えなくなる以上の二点です。Reset()について公式のリファレンスに素晴らしく簡潔にわかりやすく記述してくださっています。Reset()はエディタ上でスクリプトをオブジェクトにアタッチした際に呼ばれる。Awake()内にAssertを書くことで、万が一うまくシリアライズできていない場合にエラーを出してわかるようにしておきます。Assertは引数がfalseになるとエラーを出してくれて、かつリリース時にはコンパイルされません。(つまりデバッグ中だけ動作する。)応用についてこれを応用して簡易的に事前に計算できるものは事前に計算したりすることが可能です。初歩的かつ地味な内容でしたが、お読みいただきありがとうございました。»プロフィールid:AkiIroUnityとゲームプログラミングについて書いていきます。【C/C++】scanfでループしたので標準入力から数値を受け取ることについてまとめる月別アーカイブはてなブログをはじめよう!AkiIroさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。