H@lo forge style editor camera possible?

The editor camera in Unity is such a pain to use. I want to go with something a little more fluid similar to the h@lo forge camera. Such a camera would be so easy to program, but unfortunately, I can’t seem to access the editor camera via javascript.

I’ve looked around and tried a few scripts, but nothing seems to work in the latest version of unity.

I’m wondering if this is just plain impossible since the editor camera’s position can not be overwritten.

If you mean the SceneView’s camera - yeah it’s almost impossible to take direct control of it since even when you access it and change it’s transform, it get’s overwritten every frame. You can however use some of SceneView’s functions to align the camera and objects:

.AlignViewToObject(...);
.AlignToView(...);
.MoveToView(...);
.LookAt(...);
.LookAtDirect(...);

Example:

 ((SceneView.sceneViews[0])as SceneView).AlignViewToObject( someTransform );

Ok, this is how far I got. This script should be hooked to a cube with an invisible shader since you can not disable the mesh renderer or scale the cube down to 0,0,0. You need to leave it scaled to 1,1,1 for it to work. What it does now is progresses forwards and spins in circles. The problem now is I don’t know how to make it accept inputs like (w,a,s,d) or mouse position. The reason this works is because the camera interpolates causing the window to redraw.

#pragma strict

@script ExecuteInEditMode

private var spin:float;
private var camVelocity:Vector3;
var friction:float;

function OnWillRenderObject(){

spin+=0.1;
transform.rotation=Quaternion.Euler(0,spin,0);

//This should be triggered by an input event
camVelocity=0.01*transform.forward;

camVelocity=camVelocity*(1-friction);
transform.position+=camVelocity;

((SceneView.sceneViews[0])as SceneView).AlignViewToObject(transform);

}