MacのトラックパッドでUnityを気持ちよく操作できるパッケージ作りました
Macのトラックパッドで、Unityのパン・ズーム・回転ができるパッケージを作りました。
まずはAstraが作ってくれた紹介動画をご覧ください。
なんで?
MacBookでUnityを触っていると、あまりの操作性の悪さにびっくりしませんか?
今まではGUIをガッツリ触らないといけない作業をする時はマウスを繋いでお茶を濁していたのですが、
パッとShader Graph確認したいだけなのにマウスが無い・・・!などなど、
まあなんとも言えない日々を数年で過ごしていました。
うーん、もっと持ち運びやすい3Dマウスとやらでも買ってみるか?
いや、そもそもトラックパッドで快適に操作できたら解決なのでは?と思い試作してみたところ、
快適すぎて手放せないものが完成しました。
なにができる?
基本は2本指で動かして、ピンチで拡大縮小。
それから、2本指でダブルタップするとカーソル下の対象に寄れます。
これはオブジェクトを選択してFキー押した時と同じ挙動ですね。トラックパッドだけでパッとできます。
SceneViewで使える、Option + 2本指スライドでカーソル下の対象を中心にカメラを回転する機能もとても良いです。
Shader GraphやVFX Graphでノードを行き来したり、TimelineやAnimationで時間軸を拡大したり。
UI BuilderやSprite Editor、Inspectorから開くCurve Editorでも使えます。
ほかのウィンドウに移った途端に操作が変わると嬉しくないので、普段触るところに広く対応させました。
見たいところを中心に動く
当たり前ですがピンチするときは、カーソルを置いたところを中心に拡大縮小します。
Scene Viewで回転するときも、操作を始めたときにカーソル下にあった場所を基準にします。
回転の途中でカーソルが別の物体を横切っても、回転の中心が急に変わらないようにしています。
パンも、近くの小さいものを見ているときと、大きなシーンを引いて見ているときで、
移動量が極端にならないように調整したりもしています。
開発苦労話
本当はUnity Editorが非アクティブなときにもちゃんと動くようにしたかったのですが、
どうも飛んでこないイベントがあり断念。
中途半端に動くよりは何も動かない方が良いだろうということで、Editorが非アクティブな時は動きません。
インストール方法
UnityのPackage Managerで Install package from git URL を選んで、以下を追加するだけです。
https://github.com/kyubuns/UnityTrackpadNavigation.git?path=Packages/com.kyubuns.trackpad-navigationApple SiliconのMac向けです。
Editor専用なので、ゲームのビルドには含まれません。
感度や慣性スクロールなどは Preferences > Trackpad Navigation で調整できます。
ピンチと2本指ダブルタップを使うには、macOSのトラックパッド設定で「拡大/縮小」と「スマートズーム」をONにしてください。