お世話になっております。
#やりたいこと
Unity上で実行ボタンを押した際、Gameビューのズームスケールを指定した倍率にしたい
(例:実行ボタンを押した際、Gameビューのズームは必ず0.5倍にしたい 等)
現在の私の環境だと実行時にGameビューのスケールは1.25xで実行されます。
全体を見たいので一番引いたズームスケール 0.45あたりにしておきたいのですが手動で変えたとしても再度▶ボタンを押して実行すると1.25倍になってしまいます。
この実行時のGameビューのズームスケールを変更したいのですが、どのように行えばよいでしょうか?
#試したこと
【Unity】Game ビューの Scale を 1 に固定するエディタ拡張の例
http://baba-s.hatenablog.com/entry/2018/06/22/200000
上記を参考に、UnityのEditerフォルダに拡張として記述をしてみたところゲームスケールが無事に変更できて解決かと思ったのですが
この拡張を入れるとインスペクターの入力欄などを選択することができなくなってしまい作業に支障が出てしまうため断念しました。
C#
1 2using System; 3using System.Reflection; 4using UnityEditor; 5 6[InitializeOnLoad] 7public static class GameViewScaleFixer 8{ 9 private static Assembly m_assembly = Assembly.Load( "UnityEditor.dll" ); 10 private static Type m_type = m_assembly.GetType( "UnityEditor.GameView" ); 11 private static BindingFlags m_bindingAttr = BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Static; 12 private static MethodInfo m_snapZoomMethod = m_type.GetMethod( "SnapZoom", m_bindingAttr ); 13 private static object[] m_parameters = new object[] { 1f }; 14 15 static GameViewScaleFixer() 16 { 17 EditorApplication.update += OnUpdate; 18 } 19 20 private static void OnUpdate() 21 { 22 var gameView = EditorWindow.GetWindow( m_type ); 23 if ( gameView == null ) return; 24 m_snapZoomMethod.Invoke( gameView, m_parameters ); 25 } 26}
お知恵をお貸しいただけないでしょうか。どうぞ、よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。