Cita de: lightbug date=1554238898El método "AlignAuxiliaryCameraWithViewport" está haciendo cosas como:
GameObject[] newSelection = new GameObject[1] { auxiliaryCamera.gameObject };
probablemente estés generando cuadro a cuadro más basura que homero simpson como alcalde https://docs.unity3d.com/ScriptReference/EditorWindow.OnSelectionChange.html )una vez ocurre esto moves la cámara (que previamente catcheaste) a la posición correcta.
Y el AlignObjectWithView (dedicado a la mainCamera) lo unico que hace es algo así:
if( viewportCamera == null )
viewportCamera = SceneView.GetAllSceneCameras()[0];
if( mainCamera == null )
mainCamera = Camera.main;
mainCamera.transform.position = viewportCamera.transform.position;
mainCamera.transform.rotation = viewportCamera.transform.rotation;
En tiempo real funciona, aunque no recuerdo si lo usé en un OnSceneGUI, Update (con [ExecuteInEditMode] ) o parecido, la verdad ya borré todo xD, osea sería una variante en tiempo real de "AlignObjectWithView", pero no es lo mismo que lo que aparece en el video.
Muchas gracias lightbug, en cuanto vuelva a tener tiempo para ponerme con esto reviso y pruebo bien todo lo que me comentaste a ver si puedo prescindir de EditorApplication.ExecuteMenuItem( "GameObject/Align With View" ); ya que utilizar ese método es lo que me quita todo el control que debería tener sobre la funcionalidad.
Igual, como ya coment'e en el mensaje anterior, resulta que me anda perfectamente bien y fluido en la versión que mostré, descubrí que es en un proyecto concretamente que se jode la performance!
Gracias! Saludos!
Cappa