仕事でUnityを使う機会が増えそうなので、最近少しずつ勉強してます。
Unityで扱うスクリプトを格納するフォルダにはいくつか制約があり、どこにでも入れていいのだろうと思っていると引っかかります。
以下、英語マニュアルから抜粋してみました。
未検証の部分もあり、間違ったところがありましたら教えて頂けると助かります。
1:"Standard Assets", "Pro Standard Assets", "Plugins"
これらのフォルダの中のスクリプトが、まず最初にコンパイルされる。
これらのフォルダのスクリプトから、外部フォルダのスクリプトへは直接アクセス出来ない仕組み(コンパイルエラー)。
実行中では、GameObject.SendMessageを使えば可能らしい。
僕はここでハマりました。
2:"Standard Assets/Editor", "Pro Standard Assets/Editor", "Plugins/Editor"
次にコンパイルされるのが、これらのフォルダのスクリプト。
自分で作成したスクリプトが、UnityEditor の namespace を使用する場合、そのスクリプトをこれらのフォルダに入れると可能になるそうです。
これらのスクリプトは、第1グループのスクリプトにアクセスできる。
3:"Editor"フォルダ以外のスクリプト
"Editor"フォルダ以外のスクリプト全てが、ここでコンパイルされる。
ここのスクリプトは、第1グループのスクリプトにアクセスできる。
複数言語のスクリプトを混在させる時、たとえば Javascript から C# のスクリプトにアクセスさせたい時は、C# のスクリプトを第1グループに入れることで可能になる。
第1グループのスクリプトを修正すると、この第3グループのスクリプトも再コンパイルされる仕組み。
コンパイルタイムを短くするためには、なるべくこの第3グループにスクリプトを格納するのが良い。
4:"Editor"
最後にコンパイルされるのが、このフォルダのスクリプト。
自分で作成したスクリプトが、UnityEditor の namespace を使用する場合、そのスクリプトをこれらのフォルダに入れると可能になるそうです。(第2グループと同じ)
ここのスクリプトは、1〜3グループの全てのスクリプトにアクセスできる。
参照元:Overview: Script compilation (Advanced)
0 件のコメント:
コメントを投稿