提交 45a5cda9 编写于 作者: M Mr.doob

Editor: Wired up camera to Config.

上级 6eff6bf9
......@@ -3,12 +3,22 @@ var Config = function () {
var name = 'threejs-editor';
var storage = {
theme: 'css/light.css'
theme: 'css/light.css',
camera: {
position: [ 500, 250, 500 ],
target: [ 0, 0, 0 ]
}
};
if ( window.localStorage[ name ] !== undefined ) {
storage = JSON.parse( window.localStorage[ name ] );
var data = JSON.parse( window.localStorage[ name ] );
for ( var key in data ) {
storage[ key ] = data[ key ];
}
}
......
......@@ -27,8 +27,8 @@ var Viewport = function ( editor ) {
//
var camera = new THREE.PerspectiveCamera( 50, container.dom.offsetWidth / container.dom.offsetHeight, 1, 5000 );
camera.position.set( 500, 250, 500 );
camera.lookAt( scene.position );
camera.position.fromArray( editor.config.getKey( 'camera' ).position );
camera.lookAt( new THREE.Vector3().fromArray( editor.config.getKey( 'camera' ).target ) );
//
......@@ -170,6 +170,7 @@ var Viewport = function ( editor ) {
// otherwise controls.enabled doesn't work.
var controls = new THREE.EditorControls( camera, container.dom );
controls.center.fromArray( editor.config.getKey( 'camera' ).target )
controls.addEventListener( 'change', function () {
transformControls.update();
......@@ -234,6 +235,11 @@ var Viewport = function ( editor ) {
signals.cameraChanged.add( function () {
editor.config.setKey( 'camera', {
position: camera.position.toArray(),
target: controls.center.toArray()
} );
render();
} );
......
......@@ -12,6 +12,7 @@ THREE.EditorControls = function ( object, domElement ) {
// API
this.enabled = true;
this.center = new THREE.Vector3();
// internals
......@@ -21,7 +22,7 @@ THREE.EditorControls = function ( object, domElement ) {
var STATE = { NONE: -1, ROTATE: 0, ZOOM: 1, PAN: 2 };
var state = STATE.NONE;
var center = new THREE.Vector3();
var center = this.center;
var normalMatrix = new THREE.Matrix3();
var pointer = new THREE.Vector2();
var pointerOld = new THREE.Vector2();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册