プロジェクトの途中、いろんな環境で作業しているスタッフが混在していたり、スタッフが途中で増員すると環境が一人だけ違っていたりする事がある。特にコミットされたファイルの文字コードが違っていたりすると後で変更することは可能だが、svnのdiffが効かなくなったりblameで変遷を追えなくなる。
とはいえ、Unityで生成されるファイルはデフォルトでUtf-8なので、これ以外を使おうとする場合はコミット前に毎度確認しなければならなくなる。
そういった事態を回避する為に、予め特定の文字コードでファイルが生成されるように設定しておくと後々の不幸な出来事が無くなるのでメモしておく。
[wp_ad_camp_1]
親ファイル
新規に生成されるファイルは特定のファイルをコピーしただけになるので、親ファイルを特定して変更すればすべて解決する。
- /Applications/Unity/Unity.app/Content/Resources/NewBehaviourScript.boo
- /Applications/Unity/Unity.app/Content/Resources/NewBehaviourScript.cs
- /Applications/Unity/Unity.app/Content/Resources/NewBehaviourScript.js
- /Applications/Unity/Unity.app/Content/Resources/NewShader.shader
NewBehaviourScript.csとかjsとかbooとかshaderとかのファイルがあるのでこれを書き換えておく。
生成時にこれがまるっとコピペされるので署名等も入れておくと便利。
ちなみにこれらは3.xの場合。
4.x以降の場合
ファイルは.txtとして完全にテキストファイル化している。さらに、環境変数っぽいものも使えるようで、これを駆使して様々な記述ができそうではある。
Windows版の場合
- Unity/Data/Editor/Resources/NewBehaviourScript.boo
- Unity/Data/Editor/Resources/NewBehaviourScript.cs
- Unity/Data/Editor/Resources/NewBehaviourScript.js
- Unity/Data/Editor/Resources/NewShader.shader
4.xについては様々な問題により調査してません。が、多分Mac版同様の構成になってると思われるので次の単語で検索すると出てきそう。
– 80-Javascript-NewBehaviourScript.js.txt
– 81-C# Script-NewBehaviourScript.cs.txt
– 82-Boo Script-NewBehaviourScript.boo.txt
– 83-Shader-NewShader.shader.txt
– 84-Compute Shader-NewComputeShader.compute.txt
※最後のファイルは何なんでしょう…。はやく4.x環境に完全以降したい!
注意
UnityのTextAssetはiOSむけにコンパイル後、UTF-16withBOMのファイルを読み込ませてパースしようとすると、BEだろうがLEだろうがパースエラーになって落ちる。
やってらんねぇ。このせいで混乱も混乱大混乱で、オイラー角や四元数、線形補間まわりのunityにおける動作仕様確認の経験値がゴミと化した・・・くくくそおおおおおおお!!
ちょっと良くわからないのですが、こちらの記載に何か問題がありましたか?できれば何がまずかったのかお知らせ頂きたいです。