浏览代码

Added GridHelper.

Mr.doob 12 年之前
父节点
当前提交
2a907fecd7
共有 3 个文件被更改,包括 31 次插入21 次删除
  1. 1 21
      editor/js/ui/Viewport.js
  2. 29 0
      src/extras/helpers/GridHelper.js
  3. 1 0
      utils/build/includes/extras.json

+ 1 - 21
editor/js/ui/Viewport.js

@@ -6,7 +6,6 @@ var Viewport = function ( signals ) {
 
 	var objects = [];
 
-
 	// helpers
 
 	var helpersToObjects = {};
@@ -14,26 +13,7 @@ var Viewport = function ( signals ) {
 
 	var sceneHelpers = new THREE.Scene();
 
-	var size = 500, step = 25;
-	var geometry = new THREE.Geometry();
-	var material = new THREE.LineBasicMaterial( { vertexColors: THREE.VertexColors } );
-	var color1 = new THREE.Color( 0x444444 ), color2 = new THREE.Color( 0x888888 );
-
-	for ( var i = - size; i <= size; i += step ) {
-
-		geometry.vertices.push( new THREE.Vector3( -size, 0, i ) );
-		geometry.vertices.push( new THREE.Vector3(  size, 0, i ) );
-
-		geometry.vertices.push( new THREE.Vector3( i, 0, -size ) );
-		geometry.vertices.push( new THREE.Vector3( i, 0,  size ) );
-
-		var color = i === 0 ? color1 : color2;
-
-		geometry.colors.push( color, color, color, color );
-
-	}
-
-	var grid = new THREE.Line( geometry, material, THREE.LinePieces );
+	var grid = new THREE.GridHelper( 500, 25 );
 	sceneHelpers.add( grid );
 
 	var selectionBox = new THREE.Mesh( new THREE.CubeGeometry( 1, 1, 1 ), new THREE.MeshBasicMaterial( { color: 0xffff00, wireframe: true, fog: false } ) );

+ 29 - 0
src/extras/helpers/GridHelper.js

@@ -0,0 +1,29 @@
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.GridHelper = function ( size, step ) {
+
+	var geometry = new THREE.Geometry();
+	var material = new THREE.LineBasicMaterial( { vertexColors: THREE.VertexColors } );
+	var color1 = new THREE.Color( 0x444444 ), color2 = new THREE.Color( 0x888888 );
+
+	for ( var i = - size; i <= size; i += step ) {
+
+		geometry.vertices.push( new THREE.Vector3( -size, 0, i ) );
+		geometry.vertices.push( new THREE.Vector3(  size, 0, i ) );
+
+		geometry.vertices.push( new THREE.Vector3( i, 0, -size ) );
+		geometry.vertices.push( new THREE.Vector3( i, 0,  size ) );
+
+		var color = i === 0 ? color1 : color2;
+
+		geometry.colors.push( color, color, color, color );
+
+	}
+
+	THREE.Line.call( this, geometry, material, THREE.LinePieces );
+
+};
+
+THREE.GridHelper.prototype = Object.create( THREE.Line.prototype );

+ 1 - 0
utils/build/includes/extras.json

@@ -36,6 +36,7 @@
 	"src/extras/helpers/ArrowHelper.js",
 	"src/extras/helpers/CameraHelper.js",
 	"src/extras/helpers/DirectionalLightHelper.js",
+	"src/extras/helpers/GridHelper.js",
 	"src/extras/helpers/HemisphereLightHelper.js",
 	"src/extras/helpers/PointLightHelper.js",
 	"src/extras/helpers/SpotLightHelper.js",