|
@@ -27,7 +27,7 @@
|
|
|
|
|
|
<div id="info">
|
|
<div id="info">
|
|
"W" translate | "E" rotate | "R" scale | "+" increase size | "-" decrease size<br />
|
|
"W" translate | "E" rotate | "R" scale | "+" increase size | "-" decrease size<br />
|
|
- Press "Q" to toggle world/local space, keep "Shift" down to snap to grid
|
|
|
|
|
|
+ Press "Q" to toggle world/local space, keep "Ctrl" down to snap to grid
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<script src="../build/three.js"></script>
|
|
<script src="../build/three.js"></script>
|
|
@@ -49,9 +49,9 @@
|
|
|
|
|
|
//
|
|
//
|
|
|
|
|
|
- camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 1, 100000 );
|
|
|
|
|
|
+ camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 1, 3000 );
|
|
camera.position.set( 1000, 500, 1000 );
|
|
camera.position.set( 1000, 500, 1000 );
|
|
- camera.lookAt( new THREE.Vector3( 0, 0, 0 ) );
|
|
|
|
|
|
+ camera.lookAt( new THREE.Vector3( 0, 200, 0 ) );
|
|
|
|
|
|
scene = new THREE.Scene();
|
|
scene = new THREE.Scene();
|
|
scene.add( new THREE.GridHelper( 1000, 10 ) );
|
|
scene.add( new THREE.GridHelper( 1000, 10 ) );
|
|
@@ -67,18 +67,12 @@
|
|
var geometry = new THREE.BoxBufferGeometry( 200, 200, 200 );
|
|
var geometry = new THREE.BoxBufferGeometry( 200, 200, 200 );
|
|
var material = new THREE.MeshLambertMaterial( { map: texture } );
|
|
var material = new THREE.MeshLambertMaterial( { map: texture } );
|
|
|
|
|
|
- var group = new THREE.Group();
|
|
|
|
- scene.add( group );
|
|
|
|
|
|
+ control = new THREE.TransformControls( camera, renderer.domElement );
|
|
|
|
+ control.addEventListener( 'change', render );
|
|
|
|
|
|
var mesh = new THREE.Mesh( geometry, material );
|
|
var mesh = new THREE.Mesh( geometry, material );
|
|
-
|
|
|
|
scene.add( mesh );
|
|
scene.add( mesh );
|
|
|
|
|
|
- control = new THREE.TransformControls( camera, renderer.domElement );
|
|
|
|
- control.addEventListener( 'change', render );
|
|
|
|
- control.mode = 'rotate'
|
|
|
|
- control.space = 'local'
|
|
|
|
-
|
|
|
|
control.attach( mesh );
|
|
control.attach( mesh );
|
|
scene.add( control );
|
|
scene.add( control );
|
|
|
|
|
|
@@ -89,34 +83,34 @@
|
|
switch ( event.keyCode ) {
|
|
switch ( event.keyCode ) {
|
|
|
|
|
|
case 81: // Q
|
|
case 81: // Q
|
|
- control.space = control.space === "local" ? "world" : "local";
|
|
|
|
|
|
+ control.setSpace( control.space === "local" ? "world" : "local" );
|
|
break;
|
|
break;
|
|
|
|
|
|
- case 16: // Shift
|
|
|
|
- control.translationSnap = 100;
|
|
|
|
- control.rotationSnap = THREE.Math.degToRad( 45 );
|
|
|
|
|
|
+ case 17: // Ctrl
|
|
|
|
+ control.setTranslationSnap( 100 );
|
|
|
|
+ control.setRotationSnap( THREE.Math.degToRad( 15 ) );
|
|
break;
|
|
break;
|
|
|
|
|
|
case 87: // W
|
|
case 87: // W
|
|
- control.mode = "translate";
|
|
|
|
|
|
+ control.setMode( "translate" );
|
|
break;
|
|
break;
|
|
|
|
|
|
case 69: // E
|
|
case 69: // E
|
|
- control.mode = "rotate";
|
|
|
|
|
|
+ control.setMode( "rotate" );
|
|
break;
|
|
break;
|
|
|
|
|
|
case 82: // R
|
|
case 82: // R
|
|
- control.mode = "scale";
|
|
|
|
|
|
+ control.setMode( "scale" );
|
|
break;
|
|
break;
|
|
|
|
|
|
case 187:
|
|
case 187:
|
|
case 107: // +, =, num+
|
|
case 107: // +, =, num+
|
|
- control.size = control.size + 0.1;
|
|
|
|
|
|
+ control.setSize( control.size + 0.1 );
|
|
break;
|
|
break;
|
|
|
|
|
|
case 189:
|
|
case 189:
|
|
case 109: // -, _, num-
|
|
case 109: // -, _, num-
|
|
- control.size = Math.max( control.size - 0.1, 0.1 );
|
|
|
|
|
|
+ control.setSize( Math.max( control.size - 0.1, 0.1 ) );
|
|
break;
|
|
break;
|
|
|
|
|
|
}
|
|
}
|
|
@@ -127,9 +121,9 @@
|
|
|
|
|
|
switch ( event.keyCode ) {
|
|
switch ( event.keyCode ) {
|
|
|
|
|
|
- case 16: // Shift
|
|
|
|
- control.translationSnap = null;
|
|
|
|
- control.rotationSnap = null;
|
|
|
|
|
|
+ case 17: // Ctrl
|
|
|
|
+ control.setTranslationSnap( null );
|
|
|
|
+ control.setRotationSnap( null );
|
|
break;
|
|
break;
|
|
|
|
|
|
}
|
|
}
|