Unityの教科書2021 教科書と違うぞ!対処メモ2(Unity学習2回目)

(約 2,100文字の記事です。)

Unityの教科書 Unity 2021完全対応版 2D&3Dスマートフォンゲーム入門講座

前回の続き。Unityの教科書2021を実践していて教科書とは違った部分について調べたことのまとめ。その他気付いたことのメモなど。

対象読者はUnityの教科書2021を実践中のUnity初心者。

目次

スクリプトファイルの文字化け

Visual Studioで打ち込んだ日本語のコメントがUnityのインスペクターウィンドウ(小窓)上で文字化けしている。だからといって全く実害はない。コメントだから。

20220313001213.png

でもまぁ、気になるっちゃぁ気になる。文字化けなので恐らく文字コードだな。UTF-8になっていないのだろう、という予想は簡単に付く。

対処方法はこちら。

【Unity】スクリプトの文字化けに対処する – のらくるノート

1つ保存するごとに1回だけBOM付きUTF-8を指定する方法です。でも面倒だなぁ。
で、ここからが長かった。

テストしてみたところ、どうやらUnity 2021ではCSファイル作成時はUTF-8になっている。VSで開いたときも日本語は文字化けしていない。問題はそれをVSで開いて編集後にVSから上書き保存したときだ。なぜかShift-JISで上書きされる。謎

まとめると、

  1. UnityでProjectで右クリック>C#を新規作成(UTF-8)
  2. そのファイルをVSで編集して上書き保存(Shift-JISに上書きされる)
  3. Unity上の小窓で文字化け

ここで私が勘違いしてしまったのだが、実は名前を付けて保存時にURLの通りUTF-8 with BOMで1回だけ保存すると、以後はCtrl + Sで上書き保存してもUTF-8が保持されるのだよ。だからVSで上書き=Shift JISというわけじゃないんだ。何という罠。これに気付かず延々と以下の試行錯誤に入ってしまった。

で、前述のURLにあるように.editorconfigファイルを.slnファイルと同じ階層に置いても、上書き保存で変化なし。UnityやVSを再起動してもダメ。

ではUnityを経由せずに「VS上でソースファイルを新規作成して同じフォルダ内に保存」した場合、なぜか日本語が含まれていてもUTF-8で保存された。なので .editorconfigの有無とは無関係と言うことが分かった。だいぶカオス。

もう面倒臭すぎるので、通常はCtrl + Sで上書きしてShift-JISで運用し、最後にまとめて ZiiDetector で一括でUTF-8に置換するのが良さげ。(そもそもUnityの小窓上でソースファイルの中身を見る必要性が出てきてから考えても遅くない。)

これが気になってメチャクチャ時間が取られたw

VSのホットキーの変更

このような事情なので、Ctrl + Shift + Sが全保存よりも、普通に名前を付けて保存に変更しよう。

あわせて読みたい

余談だが、キーボード操作のみで上記のUTF-8 with BOMは操作可能なので、後で個人的にマクロ的な手順自動実行アプリ(Auto Hot Keyなど)を使って上記は回避できそうだ、と思った。が、Unityの学習のみの目的ではとりあえずShift JISで保存されていても何の問題もない+最後にまとめて変換ツールでも良さげ。なので今はこだわらない方がいいだろう。時間を無駄にした。

……、でもやっぱりとても気になったのAuto Hot Keyなどの自動化ツールを使ってスクリプトを作成し、Visual StudioのAlt + Sキーにスクリプトを割り当てた。なのでAlt + Sで勝手にぱたぱたとダイアログが表示されて1秒後には無事にUTF-8 with BOMで上書きされるようにした。これでスッキリ。

20220312213539.png

(このスクリプトの実装は3分だったw 対して調べ物の時間が3時間……(泣))でもこれは最終手段の絡め手なので一般にオススメしにくく、あまりスマートではない。VS側のドロップダウンリスト 65001 の並びがリストの上から2番目以外に変わったりしたら選択失敗するし。自己責任による最終手段。(なのでAHKなどは非公開です。)

1度でもVS上でUTF-8 with BOMで保存すれば以後は保持される

色々試してみたが、初回だけ上記の「名前を付けて保存」からUTF-8を選んで保存すると、以後はUnityを再起動させてもVSを再起動させてもUTF-8がキープされる。な~んだ、初回のファイル作成後に1回名前を付けて保存すればいいだけじゃないか!

何という無駄な試行錯誤の時間😭

1回操作くらいならばスクリプトを使わずとも手作業でも何とかなる。だがせっかく作ったスクリプトなのでAlt + Sキーに割り当てておくことにした。。


フォントが小さくて見づらい

拡大できるよ。

あわせて読みたい

筆者はAmazonアソシエイト・プログラムに参加しています。(AmazonアソシエイトとはAmazon.co.jpの商品を宣伝し所定の条件を満たすことで紹介料をAmazon様から頂けるという大変ありがたい仕組みのこと。)
以下のリンクを経由してAmazonでお買物をするとその購入額の1~3%ほどのお小遣いが私に寄付されます(笑)以下のリンクを経由して頂ければ紹介商品以外のご購入でもOKですよ~。

著:北村 愛実
¥2,970 (2022/11/27 16:24時点 | Amazon調べ)

続きはこちら。

あわせて読みたい
Unityの教科書2021 教科書 終了。動画用途へシフト(Unity学習3回目) (約 2,800文字の記事です。) 前回の続き。Unityの教科書2021を終了。今後は動画用途のUnityの使い方の学習にシフトすることにした 対象読者は動画でUnityを使いたいUn...
お役立ち情報を伝えよう!
  • URLをコピーしました!
目次