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

Editor: Improvements to TransformControls.

Avoids unnecessary renders and object saves.
上级 8dce74c7
......@@ -49,11 +49,12 @@ var Viewport = function ( editor ) {
}
if ( editor.selected !== null ) {
render();
signals.objectChanged.dispatch( editor.selected );
} );
transformControls.addEventListener( 'objectChange', function () {
}
signals.objectChanged.dispatch( transformControls.object );
} );
sceneHelpers.add( transformControls );
......@@ -590,6 +591,8 @@ var Viewport = function ( editor ) {
function render() {
console.trace();
sceneHelpers.updateMatrixWorld();
scene.updateMatrixWorld();
......
......@@ -568,6 +568,7 @@
var _plane = "XY";
var changeEvent = { type: "change" };
var objectChangeEvent = { type: "objectChange" };
var ray = new THREE.Raycaster();
var projector = new THREE.Projector();
......@@ -724,15 +725,17 @@
var intersect = intersectObjects( pointer, scope.gizmo[_mode].pickers.children );
var axis = null;
if ( intersect ) {
scope.axis = intersect.object.name;
scope.update();
scope.dispatchEvent( changeEvent );
axis = intersect.object.name;
} else if ( scope.axis !== null ) {
}
if ( scope.axis !== axis ) {
scope.axis = null;
scope.axis = axis;
scope.update();
scope.dispatchEvent( changeEvent );
......@@ -948,7 +951,7 @@
}
scope.update();
scope.dispatchEvent( changeEvent );
scope.dispatchEvent( objectChangeEvent );
}
......
......@@ -67,8 +67,8 @@
var material = new THREE.MeshLambertMaterial( { map: texture } );
control = new THREE.TransformControls( camera, renderer.domElement );
control.addEventListener( 'change', render );
control.addEventListener( 'objectChange', render );
var mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册