浏览代码

commit all core part translation,first commit

zhaojunb 6 年之前
父节点
当前提交
06b2adce1e

+ 68 - 85
docs/api/zh/core/BufferAttribute.html

@@ -11,204 +11,187 @@
 		<h1>[name]</h1>
 
 		<p class="desc">
-		This class stores data for an attribute (such as vertex positions, face indices, normals,
-		colors, UVs, and any custom attributes ) associated with a [page:BufferGeometry], which allows
-		for more efficient passing of data to the GPU. See that page for details and a usage example.<br /><br />
+			这个类用于存储与[page:BufferGeometry]相关联的 attribute(例如顶点位置向量,面片索引,法向量,颜色值,UV坐标以及任何自定义 attribute )。
+			利用 BufferAttribute,可以更高效的向GPU传递数据。详情和例子见该页。<br /><br />
 
-		Data is stored as vectors of any length (defined by [page:BufferAttribute.itemSize itemSize]),
-		and in general in the methods outlined below if passing in an index, this is automatically
-		multiplied by the vector length.
+			在 BufferAttribute 中,数据被存储为任意长度的矢量(通过[page:BufferAttribute.itemSize itemSize]进行定义),下列函数如无特别说明,
+			函数参数中的index会自动乘以矢量长度进行计算。
 		</p>
 
-		<h2>Constructor</h2>
+		<h2>构造函数</h2>
 		<h3>[name]( [param:TypedArray array], [param:Integer itemSize], [param:Boolean normalized] )</h3>
 		<p>
-		[page:TypedArray array] -- Must be a [link:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/TypedArray TypedArray].
-		Used to instantiate the buffer. <br />
-		This array should have
+			[page:TypedArray array] -- 必须是 [link:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/TypedArray TypedArray].
+			类型,用于实例化缓存。<br />
+			该队列应该包含:
 	 	<code>itemSize * numVertices</code>
-		elements, where numVertices is the number of vertices in the associated [page:BufferGeometry BufferGeometry].<br /><br />
+			个元素,numVertices 是 [page:BufferGeometry BufferGeometry]中的顶点数目<br /><br />
 
 
-		[page:Integer itemSize] --  the number of values of the array that should be associated with
-		a particular vertex. For instance, if this
-		attribute is storing a 3-component vector (such as a position, normal, or color), then itemSize should be 3.
+		[page:Integer itemSize] --
+			队列中与顶点相关的数据值的大小。举例,如果 attribute 存储的是三元组(例如顶点空间坐标、法向量或颜色值)则itemSize的值应该是3。
 		<br /><br />
 
-		[page:Boolean normalized] -- (optional) Indicates how the underlying data in the buffer maps
-		to the values in the GLSL code. For instance, if [page:TypedArray array] is an instance of
-		UInt16Array, and [page:Boolean normalized] is true, the values 0 - +65535 in the array
-		 data will be mapped to 0.0f - +1.0f in the GLSL attribute. An Int16Array (signed) would map
-		 from -32767 - +32767  to -1.0f - +1.0f. If [page:Boolean normalized] is false, the values
-		 will be converted to floats which contain the exact value, i.e. 32767 becomes 32767.0f.
+			[page:Boolean normalized] -- (可选) 指明缓存中的数据如何与GLSL代码中的数据对应。例如,如果[page:TypedArray array]是
+			UInt16Array类型,且[page:Boolean normalized]的值是 true,则队列中的值将会从 0 - +65535 映射为 GLSL 中的 0.0f - +1.0f。
+			如果[page:TypedArray array]是 Int16Array (有符号),则值将会从 -32767 - +32767 映射为 -1.0f - +1.0f。若 [page:Boolean normalized]
+			的值为 false,则数据映射不会归一化,而会直接映射为 float 值,例如,32767 将会映射为 32767.0f.
 		</p>
 
-		<h2>Properties</h2>
+		<h2>属性</h2>
 
 		<h3>[property:TypedArray array]</h3>
 		<p>
-		The [page:TypedArray array] holding data stored in the buffer.
+			在 [page:TypedArray array] 中保存着缓存中的数据。
 		</p>
 
 		<h3>[property:Integer count]</h3>
 		<p>
-		Stores the [page:BufferAttribute.array array]'s length divided by the [page:BufferAttribute.itemSize itemSize].<br /><br />
+			保存 [page:BufferAttribute.array array] 除以 [page:BufferAttribute.itemSize itemSize] 之后的大小。<br /><br />
 
-		If the buffer is storing a 3-component vector (such as a position, normal, or color),
-		then this will count the number of such vectors stored.
+			若缓存存储三元组(例如顶点位置、法向量、颜色值),则该值应等于队列中三元组的个数。
 		</p>
 
 		<h3>[property:Boolean dynamic]</h3>
 		<p>
-			Whether the buffer is dynamic or not. Default is *false*.<br />
+			不论缓存是否是动态的,默认值都将是 *false*<br />
 
-			If false, the GPU is informed that contents of the buffer are likely to be used often and not change often.
-			This corresponds to the  [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bufferData gl.STATIC_DRAW] flag.<br />
-			if true, the GPU is informed that contents of the buffer are likely to be used often and change often.
-			This corresponds to the  [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bufferData gl.DYNAMIC_DRAW] flag.
+			如果该值为 false,即告知 GPU 缓存中的数据会经常使用但不经常变化。
+			该值与 [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bufferData gl.STATIC_DRAW] 标志位相一致。<br />
+			如果该值为 true,即告知 GPU 缓存中的数据会经常使用且经常变化。
+			该值与 [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bufferData gl.DYNAMIC_DRAW] 标志位相一致。
 		</p>
 
 		<h3>[property:Boolean isBufferAttribute]</h3>
 		<p>
-			Used to check whether this or derived classes are BufferAttributes. Default is *true*.<br /><br />
+			指示当前类或派生类是 BufferAttributes. 默认值为 *true*.<br /><br />
 
-			You should not change this, as it used internally for optimisation.
+			开发者不应当改变该值,该值用于内部实现优化。
 		</p>
 
 		<h3>[property:Integer itemSize]</h3>
-		<p>The length of vectors that are being stored in the [page:BufferAttribute.array array].</p>
+		<p>保存在 [page:BufferAttribute.array array] 中矢量的长度。</p>
 
 		<h3>[property:String name]</h3>
 		<p>
-		Optional name for this attribute instance. Default is an empty string.
+			该 attribute 实例的别名,默认值为空字符串。
 		</p>
 
 		<h3>[property:Boolean needsUpdate]</h3>
 		<p>
-		Flag to indicate that this attribute has changed and should be re-sent to the GPU.
-		Set this to true when you modify the value of the array.<br /><br />
-
-		Setting this to true also increments the [page:BufferAttribute.version version].
+			该标志位指明当前 attribute 已经被修改过,且需要再次送入 GPU 处理。当开发者改变了该队列的值,则标志位需要设置为 true。<br /><br />
+			将标志位设为 true 同样会增加 [page:BufferAttribute.version version] 的值。
 		</p>
 
 		<h3>[property:Boolean normalized]</h3>
 		<p>
-		Indicates how the underlying data in the buffer maps to the values in the GLSL shader code.
-		See the constructor above for details.
+			指明缓存中数据在转化为GLSL着色器代码中数据时是否需要被归一化。详见构造函数中的说明。
 		</p>
 
 		<h3>[property:Function onUploadCallback]</h3>
 		<p>
-		A callback function that is executed after the Renderer has transfered the attribute array data to the GPU.
+			attribute 数据传输到GPU后的回调函数。
 		</p>
 
 		<h3>[property:Object updateRange]</h3>
-		<p>Object containing:<br />
-			[page:Integer offset]: Default is *0*. Position at whcih to start update.<br />
-			[page:Integer count]: Default is *-1*, which means don't use update ranges. <br /><br />
+		<p>对象包含如下成员:<br />
+			[page:Integer offset]: 默认值为 *0*。 指明更新的起始位置。<br />
+			[page:Integer count]: 默认值为 *-1*,表示不指定更新范围。<br /><br />
 
-			This can be used to only update some components of stored vectors (for example, just the component
-			related to color).
+			该值只可以被用于更新某些矢量数据(例如,颜色相关数据)。
 		</p>
 
 		<h3>[property:Integer version]</h3>
-		<p>A version number, incremented every time the [page:BufferAttribute.needsUpdate needsUpdate] property is set to true.</p>
+		<p>版本号,当 [page:BufferAttribute.needsUpdate needsUpdate] 被设置为 true 时,该值会自增。</p>
 
 
-		<h2>Methods</h2>
+		<h2>方法</h2>
 
 		<h3>[method:BufferAttribute clone]() </h3>
-		<p>Return a copy of this bufferAttribute.</p>
+		<p>返回该 BufferAttribute 的拷贝。</p>
 
 		<h3>[method:BufferAttribute copyArray]( array ) </h3>
-		<p>Copy the array given here (which can be a normal array or TypedArray) into
-			[page:BufferAttribute.array array].<br /><br />
-
-			See [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set TypedArray.set]
-			for notes on requirements if copying a TypedArray.
+		<p>将参数中所给定的普通队列或 TypedArray 拷贝到 [page:BufferAttribute.array array] 中。<br /><br />
+			拷贝 TypedArray 相关注意事项详见 [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set TypedArray.set]。
 		</p>
 
 		<h3>[method:null copyAt] ( [param:Integer index1], [param:BufferAttribute bufferAttribute], [param:Integer index2] ) </h3>
-		<p>Copy a vector from bufferAttribute[index2] to [page:BufferAttribute.array array][index1].</p>
+		<p>将一个矢量从 bufferAttribute[index2] 拷贝到 [page:BufferAttribute.array array][index1] 中。</p>
 
 		<h3>[method:BufferAttribute copyColorsArray]( [param:Array colors] ) </h3>
-		<p>Copy an array representing RGB color values into [page:BufferAttribute.array array].</p>
+		<p>将一个存储 RGB 颜色值的队列拷贝到 [page:BufferAttribute.array array] 中。</p>
 
 		<h3>[method:BufferAttribute copyVector2sArray]( [param:Array vectors] ) </h3>
-		<p>Copy an array representing [page:Vector2]s into [page:BufferAttribute.array array].</p>
+		<p>将一个存储 [page:Vector2] 的队列拷贝到 [page:BufferAttribute.array array] 中。</p>
 
 		<h3>[method:BufferAttribute copyVector3sArray]( [param:Array vectors] ) </h3>
-		<p>Copy an array representing [page:Vector3]s into [page:BufferAttribute.array array].</p>
+		<p>将一个存储 [page:Vector3] 的队列拷贝到 [page:BufferAttribute.array array] 中。</p>
 
 		<h3>[method:BufferAttribute copyVector4sArray]( [param:Array vectors] ) </h3>
-		<p>Copy an array representing [page:Vector4]s into [page:BufferAttribute.array array].</p>
+		<p>将一个存储 [page:Vector4] 的队列拷贝到 [page:BufferAttribute.array array] 中。</p>
 
 		<h3>[method:Number getX]( [param:Integer index] ) </h3>
-		<p>Returns the x component of the vector at the given index.</p>
+		<p>获取给定索引的矢量的第一维元素 (即 X 值)。</p>
 
 		<h3>[method:Number getY]( [param:Integer index] ) </h3>
-		<p>Returns the y component of the vector at the given index.</p>
+		<p>获取给定索引的矢量的第二维元素 (即 Y 值)。</p>
 
 		<h3>[method:Number getZ]( [param:Integer index] ) </h3>
-		<p>Returns the z component of the vector at the given index.</p>
+		<p>获取给定索引的矢量的第三维元素 (即 Z 值)。</p>
 
 		<h3>[method:Number getW]( [param:Integer index] ) </h3>
-		<p>Returns the w component of the vector at the given index.</p>
+		<p>获取给定索引的矢量的第四维元素 (即 W 值)。</p>
 
 		<h3>[method:null onUpload]( [param:Function callback] ) </h3>
-		<p>
-		Sets the value of the onUploadCallback property.<br /><br />
-
-		In the [example:webgl_buffergeometry WebGL / Buffergeometry] this is used to free memory
-		after the buffer has been	transfered to the GPU.
+		<p>见 onUploadCallback 属性。<br /><br />
+			在 [example:webgl_buffergeometry WebGL / Buffergeometry] 中,该方在缓存数据传递给 GPU 后,用于释放内存。
 		</p>
 
 		<h3>[method:BufferAttribute set] ( [param:Array value], [param:Integer offset] ) </h3>
 		<p>
-		value -- an [page:Array] or [page:TypedArray] from which to copy values. <br />
-		offset -- (optional) index of the [page:BufferAttribute.array array] at which to start copying.<br /><br />
+		value -- 被拷贝的 [page:Array] 或 [page:TypedArray] 类型的数据。 <br />
+		offset -- (可选) [page:BufferAttribute.array array] 中开始拷贝的位置索引。<br /><br />
 
-		Calls	[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set TypedArray.set]( [page:Array value], [page:Integer offset] )
-		on the [page:BufferAttribute.array array].<br /><br />
+		对 [page:BufferAttribute.array array],调用	[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set TypedArray.set]( [page:Array value], [page:Integer offset] )
+		方法。<br /><br />
 
-		In particular, see that page for requirements on [page:Array value]
-		being a [page:TypedArray].
+		特别的, 对将 [page:Array value] 转为  [page:TypedArray] 的要求详见上述链接。
 		</p>
 
 		<h3>[method:BufferAttribute setArray] ( [param:TypedArray array] ) </h3>
 		<p>
-		[page:BufferAttribute.array array] to the TypedArray passed in here.<br /><br />
+		[page:BufferAttribute.array array] 被赋值的 TypedArray 队列。<br /><br />
 
-		After setting the array, [page:BufferAttribute.needsUpdate needsUpdate] should be set to true.
+		队列被复制后,[page:BufferAttribute.needsUpdate needsUpdate] 应当被设置为 true。
 		</p>
 
 		<h3>[method:BufferAttribute setDynamic] ( [param:Boolean value] ) </h3>
-		<p>Set [page:BufferAttribute.dynamic dynamic] to value.</p>
+		<p>将 [page:BufferAttribute.dynamic dynamic] 设置为 value.</p>
 
 		<h3>[method:BufferAttribute setX]( [param:Integer index], [param:Float x] ) </h3>
-		<p>Sets the x component of the vector at the given index.</p>
+		<p>设置给定索引的矢量的第一维数据(设置 X 值)。</p>
 
 		<h3>[method:BufferAttribute setY]( [param:Integer index], [param:Float y] ) </h3>
-		<p>Sets the y component of the vector at the given index.</p>
+		<p>设置给定索引的矢量的第二维数据(设置 Y 值)。</p>
 
 		<h3>[method:BufferAttribute setZ]( [param:Integer index], [param:Float z] ) </h3>
-		<p>Sets the z component of the vector at the given index.</p>
+		<p>设置给定索引的矢量的第三维数据(设置 Z 值)。</p>
 
 		<h3>[method:BufferAttribute setW]( [param:Integer index], [param:Float w] ) </h3>
-		<p>Sets the w component of the vector at the given index.</p>
+		<p>设置给定索引的矢量的第四维数据(设置 W 值)。</p>
 
 		<h3>[method:BufferAttribute setXY]( [param:Integer index], [param:Float x], [param:Float y] ) </h3>
-		<p>Sets the x and y components of the vector at the given index.</p>
+		<p>设置给定索引的矢量的第一、二维数据(设置 X 和 Y 值)。</p>
 
 		<h3>[method:BufferAttribute setXYZ]( [param:Integer index], [param:Float x], [param:Float y], [param:Float z] ) </h3>
-		<p>Sets the x, y and z components of the vector at the given index.</p>
+		<p>设置给定索引的矢量的第一、二、三维数据(设置 X、Y 和 Z 值)。</p>
 
 		<h3>[method:BufferAttribute setXYZW]( [param:Integer index], [param:Float x], [param:Float y], [param:Float z], [param:Float w] ) </h3>
-		<p>Sets the x, y, z and w components of the vector at the given index.</p>
+		<p>设置给定索引的矢量的第一、二、三、四维数据(设置 X、Y、Z 和 W 值)。</p>
 
 
 
-		<h2>Source</h2>
+		<h2>资源</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 	</body>

+ 87 - 124
docs/api/zh/core/BufferGeometry.html

@@ -11,22 +11,21 @@
 		<h1>[name]</h1>
 
 		<p>
-		An efficient representation of mesh, line, or point geometry. Includes vertex positions, face
-		indices, normals, colors, UVs, and custom attributes within buffers, reducing the cost of
-		passing all this data to the GPU.
+			是面片、线或点几何体的有效表述。包括顶点位置,面片索引、法相量、颜色值、UV 坐标和自定义缓存属性值。使用 BufferGeometry
+			可以有效减少向 GPU 传输上述数据所需的开销。
 		</p>
 		<p>
-		To read and edit data in BufferGeometry attributes, see [page:BufferAttribute] documentation.
+			读取或编辑 BufferGeometry 中的数据,见 [page:BufferAttribute] 文档。
 		</p>
 		<p>
-		For a less efficient but easier-to-use representation of geometry, see [page:Geometry].
+			几何体的更多使用示例,详见 [page:Geometry]。
 		</p>
 
-		<h2>Example</h2>
+		<h2>示例</h2>
 		<code>
 		var geometry = new THREE.BufferGeometry();
-		// create a simple square shape. We duplicate the top left and bottom right
-		// vertices because each vertex needs to appear once per triangle.
+		// 创建一个简单的矩形. 在这里我们左上和右下顶点被复制了两次。
+		// 因为在两个三角面片里,这两个顶点都需要被用到。
 		var vertices = new Float32Array( [
 			-1.0, -1.0,  1.0,
 			 1.0, -1.0,  1.0,
@@ -37,7 +36,7 @@
 			-1.0, -1.0,  1.0
 		] );
 
-		// itemSize = 3 because there are 3 values (components) per vertex
+		// itemSize = 3 因为每个顶点都是一个三元组。
 		geometry.addAttribute( 'position', new THREE.BufferAttribute( vertices, 3 ) );
 		var material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
 		var mesh = new THREE.Mesh( geometry, material );
@@ -52,76 +51,69 @@
 		</p>
 
 
-		<h2>Accessing Attributes</h2>
+		<h2>访问属性值</h2>
 		<p>
-		WebGL stores data associated with individual vertices of a geometry in <em>attributes</em>.
-		Examples include the position of the vertex, the normal vector for the vertex, the vertex color,
-		and so on. When using [page:Geometry], the [page:WebGLRenderer renderer] takes care of wrapping
-		up this information into typed array buffers and sending this data to the shader. With
-		BufferGeometry, all of this data is stored in buffers associated with individual attributes.
-		This means that to get the position data associated with a vertex (for instance), you must call
-		[page:.getAttribute] to access the 'position' [page:BufferAttribute attribute], then access the individual
-		x, y, and z coordinates of the position.
+			WebGL 将与每个顶点相关的数据保存为 <em>attributes</em>. 这些属性例如,顶点位置、顶点法向量、顶点颜色等等。
+			当使用 [page:Geometry] 时,[page:WebGLRenderer renderer] 将数据包装为有类型的队列的缓存,并将数据送往着色器。有了
+			BufferGeometry 这些数据都被存储到相应类型的属性的缓存中。这就意味着,如果想要获得顶点的位置信息,你必须调用
+			[page:.getAttribute] 访问位置信息的 page:BufferAttribute attribute],之后再访问位置矢量中每一维坐标值(x,y,z 值)。
 		</p>
 		<p>
-		The following attributes are set by various members of this class:
+			通过该类提供的下属方法设置以下属性值:
 		</p>
 		<h3>[page:BufferAttribute position] (itemSize: 3)</h3>
 		<p>
-		Stores the x, y, and z coordinates of each vertex in this geometry. Set by [page:.fromGeometry]().
+			存储当前几何体中每个顶点的坐标,包含 x,y,z 三维数据。通过 [page:.fromGeometry]() 设置。
 		</p>
 
 		<h3>[page:BufferAttribute normal] (itemSize: 3)</h3>
 		<p>
-		Stores the x, y, and z components of the vertex normal vector of each vertex in this geometry.
-		Set by [page:.fromGeometry]().
+			存储当前几何体中每个顶点的法向量,包含 x,y,z 三维数据。通过 [page:.fromGeometry]() 设置。
 		</p>
 
 		<h3>[page:BufferAttribute color] (itemSize: 3)</h3>
 		<p>
-		Stores the red, green, and blue channels of vertex color of each vertex in this geometry.
-		Set by [page:.fromGeometry]().
+			存储当前几何体中每个顶点的颜色值,包含 R,G,B 三通道颜色值。通过 [page:.fromGeometry]() 设置。
 		</p>
 
 		<p>
-		In addition to the the built-in attributes, you can set your own custom attributes using the addAttribute method. With [page:Geometry], these attributes are set and stored on the [page:Material]. In BufferGeometry, the attributes are stored with the geometry itself. Note that you still need to set the attributes information on the material as well, but the value of each attribute is stored in the BufferGeometry.
+			除了上述已有的属性,你可以通过 addAttribute 方法自定义属性。通过 [page:Geometry],这些自定义属性被存储到
+			[page:Material] 中。在 BufferGeometry 中,属性则被存储到几何体本身。注意,你依然需要在材质中设置属性信息,
+			但是属性的值则被存储到 BufferGeometry。
 		</p>
 
 
-		<h2>Constructor</h2>
+		<h2>构造函数</h2>
 
 
 		<h3>[name]()</h3>
 		<div>
-		This creates a new [name]. It also sets several properties to a default value.
+		创建一个新的 [name]. 同时将预置属性设置为默认值.
 		</div>
 
 
-		<h2>Properties</h2>
+		<h2>属性</h2>
 
 		<h3>[property:Object attributes]</h3>
 		<p>
-		This hashmap has as id the name of the attribute to be set and as value the [page:BufferAttribute buffer] to set it to.
-		Rather than accessing this property directly, use [page:.addAttribute] and [page:.getAttribute] to access attributes of this geometry.
+			通过 hashmap 存储该几何体相关的属性,hashmap 的 id 是当前 attribute 的名称,值是相应的 [page:BufferAttribute buffer]。
+			你可以通过 [page:.addAttribute] 和 [page:.getAttribute] 添加和访问与当前几何体有关的 attribute。
 		</p>
 
 		<h3>[property:Box3 boundingBox]</h3>
 		<p>
-			Bounding box for the bufferGeometry, which can be calculated with
-			[page:.computeBoundingBox](). Default is *null*.
+			当前 bufferGeometry 的外边界矩形。可以通过 [page:.computeBoundingBox]() 计算。默认值是 *null*。
 		</p>
 
 		<h3>[property:Sphere boundingSphere]</h3>
 		<p>
-			Bounding sphere for the bufferGeometry, which can be calculated with
-			[page:.computeBoundingSphere](). Default is *null*.
+			当前 bufferGeometry 的外边界球形。可以通过 [page:.computeBoundingSphere]() 计算。默认值是 *null*。
 		</p>
 
 		<h3>[property:Object drawRange]</h3>
 		<p>
-			Used to determine what part of the geometry should be rendered. This should not
-			be set directly, instead use [page:.setDrawRange].<br />
-			Default is
+			用于判断几何体的哪个部分需要被渲染。该值不应该直接被设置,而需要通过 [page:.setDrawRange] 进行设置。<br />
+			默认值为
 			<code>
 				{ start: 0, count: Infinity }
 			</code>
@@ -129,16 +121,16 @@
 
 		<h3>[property:Array groups]</h3>
 		<p>
-			Split the geometry into groups, each of which will be rendered in a separate WebGL draw call.
-			This allows an array of materials to be used with the bufferGeometry.<br /><br />
+			将当前几何体分割成组进行渲染,每个部分都会在单独的 WebGL 的 draw call 中进行绘制。该方法可以让当前的 bufferGeometry
+			可以使用一个材质队列进行描述。<br /><br />
 
-			Each group is an object of the form:
+			分割后的每个部分都是一个如下的表单:
 			<code>{ start: Integer, count: Integer, materialIndex: Integer }</code>
-			where start specifies the first element in this draw call – the first vertex for non-indexed geometry,
-			otherwise the first triangle index. Count specifies how many vertices (or indices) are included, and
-			materialIndex specifies the material array index to use.<br /><br />
+			start 表明当前 draw call 中的没有索引的几何体的几何体的第一个顶点;或者第一个三角面片的索引。
+			count 指明当前分割包含多少顶点(或 indices)。
+			materialIndex 指出当前用到的材质队列的索引。<br /><br />
 
-			Use [page:.addGroup] to add groups, rather than modifying this array directly.
+			通过 [page:.addGroup] 来增加组,而不是直接更改当前队列。
 		</p>
 
 
@@ -154,206 +146,177 @@
 
 
 		<h3>[property:Integer id]</h3>
-		<p>Unique number for this bufferGeometry instance.</p>
+		<p>当前 bufferGeometry 的唯一编号。</p>
 
 		<h3>[property:BufferAttribute index]</h3>
 		<p>
-			Allows for vertices to be re-used across multiple triangles; this is called using "indexed triangles" and
-			works much the same as it does in [page:Geometry]: each triangle is associated with the indices of three vertices.
-			This attribute therefore stores the index of each vertex for each triangular face.
+			允许顶点在多个三角面片间可以重用。这样的顶点被称为"已索引的三角面片(indexed triangles)"并且使用时和[page:Geometry]中一致:
+			每个三角面片都和三个顶点的索引相关。该 attribute 因此所存储的是每个三角面片的三个顶点的索引。
 
-			If this attribute is not set, the [page:WebGLRenderer renderer] assumes that each three contiguous
-			positions represent a single triangle.
+			如果该 attribute 没有设置过,则 [page:WebGLRenderer renderer] 假设每三个连续的位置代表一个三角面片。
 
-			Default is *null*.
+			默认值是 *null*。
 		</p>
 
 		<h3>[property:Boolean isBufferGeometry]</h3>
 		<p>
-			Used to check whether this or derived classes are BufferGeometries. Default is *true*.<br /><br />
+			用于检查当前类或派生类的类型是 BufferGeometries。默认值是 *true*。<br /><br />
 
-			You should not change this, as it used internally for optimisation.
+			该值用于内部优化,你不应该手动修改该值。
 		</p>
 
 		<h3>[property:Object morphAttributes]</h3>
 		<p>
-			Hashmap of [page:BufferAttribute]s holding details of the geometry's [page:Geometry.morphTargets morphTargets].
+			存储 [page:BufferAttribute] 的 Hashmap,存储了几何体 [page:Geometry.morphTargets morphTargets] 的细节信息。
 		</p>
 
 		<h3>[property:String name]</h3>
 		<p>
-		Optional name for this bufferGeometry instance. Default is an empty string.
+			当前 bufferGeometry 实例的可选别名。默认值是空字符串。
 		</p>
 
 		<h3>[property:Object userData]</h3>
 		<p>
-		An object that can be used to store custom data about the BufferGeometry. It should not hold
-		references to functions as these will not be cloned.
+			存储 BufferGeometry 的自定义数据的对象。为保持对象在克隆时完整,该对象不应该包括任何函数的引用。
 		</p>
 
 		<h3>[property:String uuid]</h3>
 		<p>
-		[link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID] of this object instance.
-		This gets automatically assigned and shouldn't be edited.
+			当前对象实例的 [link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID],该值会自动被分配,且不应被修改。
 		</p>
 
-		<h2>Methods</h2>
+		<h2>方法</h2>
 
-		<h3>[page:EventDispatcher EventDispatcher] methods are available on this class.</h3>
+		<h3>[page:EventDispatcher EventDispatcher] 在该类上可用的所有方法。</h3>
 
 		<h3>[method:BufferGeometry addAttribute]( [param:String name], [param:BufferAttribute attribute] )</h3>
 		<p>
-		Adds an attribute to this geometry. Use this rather than the attributes property,
-		because an internal hashmap of [page:.attributes] is maintained to speed up iterating over
-		attributes.
+			为当前几何体增加一个 attribute。 的属性,在类的内部,有一个存储 [page:.attributes] 的 hashmap,
+			通过该 hashmap,遍历 attributes 的速度会更快。而使用该方法,可以向 hashmap 内部增加 attribute。
+			所以,你需要使用该方法来添加 attributes。
 		</p>
 
 		<h3>[method:null addGroup]( [param:Integer start], [param:Integer count], [param:Integer materialIndex] )</h3>
 		<p>
-			Adds a group to this geometry; see the [page:BufferGeometry.groups groups]
-			property for details.
+			为当前几何体增加一个 group,详见 [page:BufferGeometry.groups groups] 属性。
 		</p>
 
 
 		<h3>[method:null applyMatrix]( [param:Matrix4 matrix] )</h3>
-		<p>Bakes matrix transform directly into vertex coordinates.</p>
+		<p> 用给定矩阵转换几何体的顶点坐标。</p>
 
 		<h3>[method:BufferGeometry center] ()</h3>
-		<p>Center the geometry based on the bounding box.</p>
+		<p>根据边界矩形将几何体居中。</p>
 
 		<h3>[method:BufferGeometry clone]()</h3>
-		<p>Creates a clone of this BufferGeometry.</p>
+		<p>克隆当前的 BufferGeometry。</p>
 
 		<h3>[method:BufferGeometry copy]( [param:BufferGeometry bufferGeometry] )</h3>
-		<p>Copies another BufferGeometry to this BufferGeometry.</p>
+		<p>将参数指定的 BufferGeometry 的值拷贝到当前 BufferGeometry 中。</p>
 
 		<h3>[method:null clearGroups]( )</h3>
-		<p>Clears all groups.</p>
+		<p>清空所有的 groups。</p>
 
 		<h3>[method:null computeBoundingBox]()</h3>
 		<p>
-		Computes bounding box of the geometry, updating [param:.boundingBox] attribute.<br />
-		Bounding boxes aren't computed by default. They need to be explicitly computed, otherwise they are *null*.
+			计算当前几何体的的边界矩形,该操作会更新已有 [param:.boundingBox]。<br />
+			边界矩形不会默认计算,需要调用该接口指定计算边界矩形,否则保持默认值 *null*。
 		</p>
 
 		<h3>[method:null computeBoundingSphere]()</h3>
 		<p>
-		Computes bounding sphere of the geometry, updating [page:.boundingSphere] attribute.<br />
-		Bounding spheres aren't computed by default. They need to be explicitly computed, otherwise they are *null*.
+			计算当前几何体的的边界球形,该操作会更新已有 [param:.boundingSphere]。<br />
+			边界球形不会默认计算,需要调用该接口指定计算边界球形,否则保持默认值 *null*。
 		</p>
 
 		<h3>[method:null computeVertexNormals]()</h3>
-		<p>Computes vertex normals by averaging face normals.</p>
+		<p>通过面片法向量的平均值计算每个顶点的法向量。</p>
 
 		<h3>[method:null dispose]()</h3>
 		<p>
-		Disposes the object from memory. <br />
-		You need to call this when you want the BufferGeometry removed while the application is running.
+			从内存中销毁对象。 <br />
+			如果在运行是需要从内存中删除 BufferGeometry,则需要调用该函数。
 		</p>
 
 		<h3>[method:BufferGeometry fromDirectGeometry]( [param:Geometry] )</h3>
 		<p>
-			Populates this BufferGeometry with data from a [page:DirectGeometry] object containing faces. Not implemented for a line geometry.<br /><br />
+			通过 [page:DirectGeometry] 所包含的面数据生成一个 BufferGeometry 对象。对于线型几何体未实现该方法。<br /><br />
 
-			Note: [page:DirectGeometry] is mainly used as an intermediary object for converting between [page:Geometry]
-			and BufferGeometry.
+			注意: [page:DirectGeometry] 主要用于内部 [page:Geometry] 和 BufferGeometry 的类型转换。
 		</p>
 
 		<h3>[method:BufferGeometry fromGeometry]( [param:Geometry] )</h3>
-		<p>Populates this BufferGeometry with data from a [page:Geometry] object containing faces. Not implemented for a line geometry.</p>
+		<p>通过 [page:Geometry] 所包含的面信息生成一个 BufferGeometry 对象。对于线型几何体未实现该方法。</p>
 
 		<h3>[method:BufferAttribute getAttribute]( [param:String name] )</h3>
-		<p>Returns the [page:BufferAttribute attribute] with the specified name.</p>
+		<p>返回指定名称的 [page:BufferAttribute attribute]。</p>
 
 		<h3>[method:BufferAttribute getIndex] ()</h3>
-		<p>Return the [page:.index] buffer.</p>
+		<p>返回缓存相关的 [page:.index]。</p>
 
 		<h3>[method:BufferGeometry lookAt] ( [param:Vector3 vector] )</h3>
 		<p>
-		vector - A world vector to look at.<br /><br />
+			vector - 几何体所朝向的世界坐标。<br /><br />
 
-		Rotates the geometry to face a point in space. This is typically done as a one time operation, and not during a loop.
-		Use [page:Object3D.lookAt] for typical real-time mesh usage.
+			旋转几何体朝向控件中的一点。该过程通常在一次处理中完成,不会循环处理。典型的用法是过通过调用 [page:Object3D.lookAt] 实时改变 mesh 朝向。
 		</p>
 
 		<h3>[method:null merge]( [param:BufferGeometry bufferGeometry], [param:Integer offset] )</h3>
-		<p>Merge in another BufferGeometry with an optional offset of where to start merging in.</p>
+		<p>同参数指定的 BufferGeometry 进行合并。可以通过可选参数指定,从哪个偏移位置开始进行 merge。</p>
 
 		<h3>[method:null normalizeNormals]()</h3>
 		<p>
-		Every normal vector in a geometry will have a magnitude of 1.
-		This will correct lighting on the geometry surfaces.
+			几何体中的每个法向量长度将会为 1。这样操作会更正光线在表面的效果。
 		</p>
 
 		<h3>[method:BufferAttribute removeAttribute]( [param:String name] )</h3>
-		<p>Removes the [page:BufferAttribute attribute] with the specified name.</p>
+		<p>删除具有指定名称的 [page:BufferAttribute attribute]。</p>
 
 		<h3>[method:BufferGeometry rotateX] ( [param:Float radians] )</h3>
 		<p>
-		Rotate the geometry about the X axis. This is typically done as a one time operation, and not during a loop.
-    Use [page:Object3D.rotation] for typical real-time mesh rotation.
+			在 X 轴上旋转几何体。该操作一般在一次处理中完成,不会循环处理。典型的用法是通过调用 [page:Object3D.rotation] 实时旋转几何体。
 		</p>
 
 		<h3>[method:BufferGeometry rotateY] ( [param:Float radians] )</h3>
 		<p>
-		Rotate the geometry about the Y axis. This is typically done as a one time operation, and not during a loop.
-    Use [page:Object3D.rotation] for typical real-time mesh rotation.
+			在 Y 轴上旋转几何体。该操作一般在一次处理中完成,不会循环处理。典型的用法是通过调用 [page:Object3D.rotation] 实时旋转几何体。
 		</p>
 
 		<h3>[method:BufferGeometry rotateZ] ( [param:Float radians] )</h3>
 		<p>
-		Rotate the geometry about the Z axis. This is typically done as a one time operation, and not during a loop.
-    Use [page:Object3D.rotation] for typical real-time mesh rotation.
+			在 Z 轴上旋转几何体。该操作一般在一次处理中完成,不会循环处理。典型的用法是通过调用 [page:Object3D.rotation] 实时旋转几何体。
 		</p>
 
 		<h3>[method:BufferGeometry scale] ( [param:Float x], [param:Float y], [param:Float z] )</h3>
 		<p>
-		Scale the geometry data. This is typically done as a one time operation, and not during a loop.
-		Use [page:Object3D.scale] for typical real-time mesh scaling.
+			缩放几何体。该操作一般在一次处理中完成,不会循环处理。典型的用法是通过调用 [page:Object3D.scale] 实时旋转几何体。
 		</p>
 
 		<h3>[method:null setIndex] ( [param:BufferAttribute index] )</h3>
-		<p>Set the [page:.index] buffer.</p>
+		<p>设置缓存的 [page:.index]。</p>
 
 		<h3>[method:null setDrawRange] ( [param:Integer start], [param:Integer count] )</h3>
-		<p>Set the [page:.drawRange] buffer. See that property for details.</p>
+		<p>设置缓存的 [page:.drawRange]。详见相关属性说明。</p>
 
 		<h3>[method:BufferGeometry setFromObject] ( [param:Object3D object] )</h3>
-		<p>Sets the attributes for this BufferGeometry from an [page:Object3D].</p>
+		<p>通过 [page:Object3D] 设置该 BufferGeometry 的 attribute。</p>
 
 		<h3>[method:BufferGeometry setFromPoints] ( [param:Array points] )</h3>
-		<p>Sets the attributes for this BufferGeometry from an array of points.</p>
+		<p>通过点队列设置该 BufferGeometry 的 attribute。</p>
 
 		<h3>[method:Object toJSON]()</h3>
-		<p>Returns a JSON object representation of the BufferGeometry.</p>
+		<p>返回代表该 BufferGeometry 的 JSON 对象。</p>
 
 		<h3>[method:BufferGeometry toNonIndexed]()</h3>
-		<p>Return a non-index version of an indexed BufferGeometry.</p>
+		<p>返回已索引的 BufferGeometry 的非索引版本。</p>
 
 		<h3>[method:BufferGeometry translate] ( [param:Float x], [param:Float y], [param:Float z] )</h3>
 		<p>
-		Translate the geometry. This is typically done as a one time operation, and not during a loop.
-    Use [page:Object3D.position] for typical real-time mesh translation.
+			移动几何体。该操作一般在一次处理中完成,不会循环处理。典型的用法是通过调用 [page:Object3D.rotation] 实时旋转几何体。
 		</p>
 
 		<h3>[method:BufferGeometry updateFromObject] ( [param:Object3D object] )</h3>
-		<div>Updates the attributes for this BufferGeometry from an [page:Object3D].</div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+		<div>通过 [page:Object3D] 更新 BufferGeometry 的 attribute。</div>
 
 		<h2>Source</h2>
 

+ 19 - 21
docs/api/zh/core/Clock.html

@@ -9,78 +9,76 @@
 	</head>
 	<body>
 		<h1>[name]</h1>
-
 		<p class="desc">
-		Object for keeping track of time. This uses <a href="https://developer.mozilla.org/en-US/docs/Web/API/Performance/now">performance.now()</a>
-		if it is available, otherwise it reverts to the less accurate <a href="https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/now">Date.now()</a>.
+			该对象用于跟踪时间。如果<a href="https://developer.mozilla.org/en-US/docs/Web/API/Performance/now">performance.now()</a>可用,则
+			Clock 对象通过该方法实现,否则通过歉精准的<a href="https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/now">Date.now()</a>实现。
 		</p>
 
 
-		<h2>Constructor</h2>
+		<h2>构造函数</h2>
 
 
 		<h3>[name]( [param:Boolean autoStart] )</h3>
 		<p>
-		autoStart — (optional) whether to automatically start the clock. Default is true.
+		autoStart — (可选) 是否要自动开启时钟。默认值是 true。
 		</p>
 
-		<h2>Properties</h2>
+		<h2>属性</h2>
 
 		<h3>[property:Boolean autoStart]</h3>
 		<p>
-		If set, starts the clock automatically when the first update is called. Default is true.
+			如果设置为 true,则在第一次 update 时开启时钟。默认值是 true。
 		</p>
 
 		<h3>[property:Float startTime]</h3>
 		<p>
-		Holds the time at which the clock's [page:Clock.start start] method was last called.
+			存储时钟最后一次调用 [page:Clock.start start] 方法的时间。
  		</p>
 
 
 		<h3>[property:Float oldTime]</h3>
 		<p>
-		Holds the time at which the clock's [page:Clock.start start], [page:Clock.getElapsedTime getElapsedTime] or [page:Clock.getDelta getDelta]
-		methods were last called.
+			存储时钟最后一次调用  [page:Clock.start start], [page:Clock.getElapsedTime getElapsedTime] 或 [page:Clock.getDelta getDelta] 方法的时间。
  		</p>
 
 		<h3>[property:Float elapsedTime]</h3>
 		<p>
-		Keeps track of the total time that the clock has been running.
+			保存时钟运行的总时长。
  		</p>
 
 		<h3>[property:Boolean running]</h3>
 		<p>
-		Whether the clock is running or not.
+			判断时钟是否在运行。
  		</p>
 
 
-		<h2>Methods</h2>
+		<h2>方法</h2>
 
 		<h3>[method:null start]()</h3>
 		<p>
-		Starts clock. Also sets the [page:Clock.startTime startTime] and [page:Clock.oldTime oldTime]
-		to the current time, sets [page:Clock.elapsedTime elapsedTime] to *0* and [page:Clock.running running] to *true*.
+			启动时钟。同时将 [page:Clock.startTime startTime] 和 [page:Clock.oldTime oldTime] 设置为当前时间。
+			设置 [page:Clock.elapsedTime elapsedTime] 为 *0*,并且设置 [page:Clock.running running] 为 *true*.
 		</p>
 
 		<h3>[method:null stop]()</h3>
 		<p>
-		Stops clock and sets [page:Clock.oldTime oldTime] to the current time.
+			停止时钟。同时将 [page:Clock.oldTime oldTime] 设置为当前时间。
 		</p>
 
 		<h3>[method:Float getElapsedTime]()</h3>
 		<p>
-		Get the seconds passed since the clock started and sets [page:Clock.oldTime oldTime] to the current time.<br />
-		If [page:Clock.autoStart autoStart] is *true* and the clock is not running, also starts the clock.
+			获取自时钟启动后的秒数,摒弃将 [page:Clock.oldTime oldTime] 设置为当前时间。<br />
+			如果 [page:Clock.autoStart autoStart] 设置为 *true* 且时钟并未运行,则该方法同时启动时钟。
 		</p>
 
 		<h3>[method:Float getDelta]()</h3>
 		<p>
-		Get the seconds passed since the time [page:Clock.oldTime oldTime] was set and sets [page:Clock.oldTime oldTime] to the current time.<br />
-		If [page:Clock.autoStart autoStart] is *true* and the clock is not running, also starts the clock.
+			获取自 [page:Clock.oldTime oldTime] 设置后到当前的秒数。 同时将 [page:Clock.oldTime oldTime] 设置为当前时间。<br/>
+			如果 [page:Clock.autoStart autoStart] 设置为 *true* 且时钟并未运行,则该方法同时启动时钟。
 		</p>
 
 
-		<h2>Source</h2>
+		<h2>资源</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 	</body>

+ 27 - 32
docs/api/zh/core/DirectGeometry.html

@@ -11,97 +11,92 @@
 		<h1>[name]</h1>
 
 		<p class="desc">
-			This class is used internally to convert from [page:Geometry] to [page:BufferGeometry].
+			该类在内部被用于 [page:Geometry] 到 [page:BufferGeometry] 的转换。
 		</p>
 
-
-
-		<h2>Constructor</h2>
+		<h2>构造函数</h2>
 
 
 		<h3>[name]()</h3>
-		<p>This creates a new [name].</p>
+		<p>创建一个新的 [name] 对象。</p>
 
 
-		<h2>Properties</h2>
+		<h2>属性</h2>
 
 		<h3>[property:Integer id]</h3>
-		<p>Unique number for this [name] instance.</p>
+		<p>当前 [name] 实例的唯一数字标识。</p>
 
 		<h3>[property:String name]</h3>
-		<p>Optional name. Default is the empty string.</p>
+		<p>可选名称. 默认值是空字符串。</p>
 
 		<h3>[property:Array type]</h3>
-		<p>String 'DirectGeometry'.</p>
+		<p>返回 'DirectGeometry' 字符串。</p>
 
 		<h3>[property:Array vertices]</h3>
-		<p>Initialiased as an empty array, this is populated by [page:.fromGeometry]().</p>
+		<p>被初始化为一个空队列, 该属性由 [page:.fromGeometry]() 赋值。</p>
 
 		<h3>[property:Array normals]</h3>
-		<p>Initialiased as an empty array, this is populated by [page:.fromGeometry]().</p>
+		<p>被初始化为一个空队列, 该属性由 [page:.fromGeometry]() 赋值。</p>
 
 		<h3>[property:Array colors]</h3>
-		<p>Initialiased as an empty array, this is populated by [page:.fromGeometry]().</p>
+		<p>被初始化为一个空队列, 该属性由 [page:.fromGeometry]() 赋值。</p>
 
 		<h3>[property:Array uvs]</h3>
-		<p>Initialiased as an empty array, this is populated by [page:.fromGeometry]().</p>
+		<p>被初始化为一个空队列, 该属性由 [page:.fromGeometry]() 赋值。</p>
 
 		<h3>[property:Array uvs2]</h3>
-		<p>Initialiased as an empty array, this is populated by [page:.fromGeometry]().</p>
+		<p>被初始化为一个空队列, 该属性由 [page:.fromGeometry]() 赋值。</p>
 
 		<h3>[property:Array groups]</h3>
-		<p>Initialiased as an empty array, this is populated by [page:.fromGeometry]().</p>
+		<p>被初始化为一个空队列, 该属性由 [page:.fromGeometry]() 赋值。</p>
 
 		<h3>[property:Array morphTargets]</h3>
-		<p>Initialiased as an empty array, this is populated by [page:.fromGeometry]().</p>
+		<p>被初始化为一个空队列, 该属性由 [page:.fromGeometry]() 赋值。</p>
 
 		<h3>[property:Array skinWeights]</h3>
-		<p>Initialiased as an empty array, this is populated by [page:.fromGeometry]().</p>
+		<p>被初始化为一个空队列, 该属性由 [page:.fromGeometry]() 赋值。</p>
 
 		<h3>[property:Array skinIndices]</h3>
-		<p>Initialiased as an empty array, this is populated by [page:.fromGeometry]().</p>
+		<p>被初始化为一个空队列, 该属性由 [page:.fromGeometry]() 赋值。</p>
 
 		<h3>[property:Box3 boundingBox]</h3>
 		<p>
-			Bounding box for the bufferGeometry, which can be calculated with
-			[page:.computeBoundingBox](). Default is *null*.
+			对应 bufferGeometry 的外边界矩形,该值可通过 [page:.computeBoundingBox]() 计算。默认值是 *null*。
 		</p>
 
 		<h3>[property:Sphere boundingSphere]</h3>
 		<p>
-			Bounding sphere for the bufferGeometry, which can be calculated with
-			[page:.computeBoundingSphere](). Default is *null*.
+			对应 bufferGeometry 的外边界球,该值可通过 [page:.computeBoundingSphere]() 计算。默认值是 *null*。
 		</p>
 
 		<h3>[property:Boolean verticesNeedUpdate]</h3>
-		<p>Default is false.</p>
+		<p>默认值为 false。</p>
 
 		<h3>[property:Boolean normalsNeedUpdate]</h3>
-		<p>Default is false.</p>
+		<p>默认值为 false。</p>
 
 		<h3>[property:Boolean colorsNeedUpdate]</h3>
-		<p>Default is false.</p>
+		<p>默认值为 false。</p>
 
 		<h3>[property:Boolean uvsNeedUpdate]</h3>
-		<p>Default is false.</p>
+		<p>默认值为 false。</p>
 
 		<h3>[property:Boolean groupsNeedUpdate]</h3>
-		<p>Default is false.</p>
+		<p>默认值为 false。</p>
 
 
-		<h2>Methods</h2>
+		<h2>方法</h2>
 
 		<h3>[property:null computeGroups]( [param:Geometry geometry] )</h3>
 		<p>
-			Compute the parts of the geometry that have different materialIndex.
-			See [page:BufferGeometry.groups].
+			计算几何体中有不同 materialIndex 的部分,详见 [page:BufferGeometry.groups]。
 		</p>
 
 		<h3>[property:null fromGeometry]( [param:Geometry geometry] )</h3>
-		<p>Pass in a [page:Geometry] instance for conversion.</p>
+		<p>传入一个需要转换的 [page:Geometry] 实例。</p>
 
 
-		<h2>Source</h2>
+		<h2>资源</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 	</body>

+ 20 - 20
docs/api/zh/core/EventDispatcher.html

@@ -11,14 +11,14 @@
 		<h1>[name]</h1>
 
 		<p class="desc">
-			JavaScript events for custom objects.<br />
+			自定义对象的 JavaScript 事件。<br />
 			[link:https://github.com/mrdoob/eventdispatcher.js Eventdispatcher on GitHub]
 		</p>
 
-		<h2>Example</h2>
+		<h2>示例</h2>
 
 		<code>
-// Adding events to a custom object
+// 为自定义对象添加事件
 
 var Car = function () {
 
@@ -30,11 +30,11 @@ var Car = function () {
 
 };
 
-// Mixing the EventDispatcher.prototype with the custom object prototype
+// 将 EventDispatcher.prototype 与自定义对象 prototype 进行混合
 
 Object.assign( Car.prototype, EventDispatcher.prototype );
 
-// Using events with the custom object
+// 使用自定义对象的事件
 
 var car = new Car();
 
@@ -47,53 +47,53 @@ car.addEventListener( 'start', function ( event ) {
 car.start();
 		</code>
 
-		<h2>Constructor</h2>
+		<h2>构造函数</h2>
 
 		<h3>[name]()</h3>
 		<p>
-		Creates EventDispatcher object.
+		创建 EventDispatcher 对象。
 		</p>
 
 
-		<h2>Methods</h2>
+		<h2>方法</h2>
 
 		<h3>[method:null addEventListener]( [param:String type], [param:Function listener] )</h3>
 		<p>
-		type - The type of event to listen to.<br />
-		listener - The function that gets called when the event is fired.
+		type - 需要添加监听的事件类型。<br />
+		listener - 事件发生时被调用到的函数。
 		</p>
 		<p>
-		Adds a listener to an event type.
+		为指定事件增加监听函数。
 		</p>
 
 		<h3>[method:Boolean hasEventListener]( [param:String type], [param:Function listener] )</h3>
 		<p>
-		type - The type of event to listen to.<br />
-		listener - The function that gets called when the event is fired.
+		type - 需要被监听的事件类型。<br />
+		listener - 事件发生时被调用到的函数。
 		</p>
 		<p>
-		Checks if listener is added to an event type.
+		检查监听函数是否已经添加到指定事件。
 		</p>
 
 		<h3>[method:null removeEventListener]( [param:String type], [param:Function listener] )</h3>
 		<p>
-		type - The type of the listener that gets removed.<br />
-		listener - The listener function that gets removed.
+		type - 需要移除监听的事件类型。<br />
+		listener - 需要被移除的监听函数。
 		</p>
 		<p>
-		Removes a listener from an event type.
+		从指定事件类型中移除监听函数。
 		</p>
 
 		<h3>[method:null dispatchEvent]( [param:object event] )</h3>
 		<p>
-		event - The event that gets fired.
+		event - 将被触发的事件。
 		</p>
 		<p>
-		Fire an event type.
+		触发一个事件。
 		</p>
 
 
-		<h2>Source</h2>
+		<h2>资源</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 	</body>

+ 34 - 38
docs/api/zh/core/Face3.html

@@ -11,13 +11,12 @@
 		<h1>[name]</h1>
 
 		<p class="desc">
-		Triangular face used in [page:Geometry]. These are created automatically for all
-		standard geometry types, however if you are building a custom geometry you will have to
-		create them manually.
+			在 [page:Geometry] 中被使用到的三角面片。这些三角面片会为所有标准几何体自动创建。
+			然而,如果你正在构建一个自定义几何体,你需要手动创建这些三角面片。
 		</p>
 
 
-		<h2>Examples</h2>
+		<h2>示例</h2>
 
 		<p>[example:misc_ubiquity_test ubiquity / test ]</p>
 		<p>[example:svg_sandbox svg / sandbox ]</p>
@@ -28,22 +27,22 @@
 		<code>
 var material = new THREE.MeshStandardMaterial( { color : 0x00cc00 } );
 
-//create a triangular geometry
+//创建仅有一个三角面片的几何体
 var geometry = new THREE.Geometry();
 geometry.vertices.push( new THREE.Vector3( -50, -50, 0 ) );
 geometry.vertices.push( new THREE.Vector3(  50, -50, 0 ) );
 geometry.vertices.push( new THREE.Vector3(  50,  50, 0 ) );
 
-//create a new face using vertices 0, 1, 2
+//利用顶点 0, 1, 2 创建一个面
 var normal = new THREE.Vector3( 0, 1, 0 ); //optional
 var color = new THREE.Color( 0xffaa00 ); //optional
 var materialIndex = 0; //optional
 var face = new THREE.Face3( 0, 1, 2, normal, color, materialIndex );
 
-//add the face to the geometry's faces array
+//将创建的面添加到几何体的面的队列
 geometry.faces.push( face );
 
-//the face normals and vertex normals can be calculated automatically if not supplied above
+//如果没有特别指明,面和顶点的法向量可以通过如下代码自动计算
 geometry.computeFaceNormals();
 geometry.computeVertexNormals();
 
@@ -51,83 +50,80 @@ scene.add( new THREE.Mesh( geometry, material ) );
 	</code>
 
 
-		<h2>Constructor</h2>
+		<h2>构造函数</h2>
 
 		<h3>[name]( [param:Integer a], [param:Integer b], [param:Integer c], [param:Vector3 normal], [param:Color color], [param:Integer materialIndex] )</h3>
 		<p>
-		a — Vertex A index.<br />
-		b — Vertex B index.<br />
-		c — Vertex C index.<br /><br />
+			a — 顶点 A 的索引。<br />
+			b — 顶点 B 的索引。<br />
+			c — 顶点 C 的索引。<br /><br />
 
-		normal — (optional) Face normal ([page:Vector3 Vector3]) or array of vertex normals.
-		If a single vector is passed in, this sets [page:.normal], otherwise if an array of three
-		vectors is passed in this sets [page:.vertexNormals]<br /><br />
+			normal — (可选) 面的法向量 ([page:Vector3 Vector3]) 或顶点法向量队列。
+			如果参数传入单一矢量,则用该量设置面的法向量 [page:.normal],如果传入的是包含三个矢量的队列,
+			则用该量设置 [page:.vertexNormals]<br /><br />
 
-		color — (optional) Face [page:Color color] or array of vertex [page:Color colors].
-		If a single vector is passed in, this sets [page:.color], otherwise if an array of three
-		vectors is passed in this sets [page:.vertexColors]<br /><br />
+			color — (可选) 面的颜色值 [page:Color color] 或顶点颜色值的队列。
+			如果参数传入单一矢量,则用该量设置 [page:.color],如果传入的是包含三个矢量的队列,
+			则用该量设置 [page:.vertexColors]<br /><br />
 
-		materialIndex — (optional) which index of an array of materials to associate
-		with the face.
+			materialIndex — (可选) 材质队列中与该面对应的材质的索引。
 		</p>
 
-		<h2>Properties</h2>
+		<h2>属性</h2>
 
 		<h3>[property:Integer a]</h3>
 		<p>
-		Vertex A index.
+			顶点 A 的索引。
 		</p>
 
 		<h3>[property:Integer b]</h3>
 		<p>
-		Vertex B index.
+			顶点 B 的索引。
 		</p>
 
 		<h3>[property:Integer c]</h3>
 		<p>
-		Vertex C index.
+			顶点 C 的索引。
 		</p>
 
 		<h3>[property:Vector3 normal]</h3>
 		<p>
-		Face normal - vector showing the direction of the Face3. If calculated automatically
-		(using [page:Geometry.computeFaceNormals]), this is the normalized cross product of two edges of the
-		triangle. Default is *(0, 0, 0)*.
+			面的法向量 - 矢量展示 Face3 的方向。如果该量是通过调用 [page:Geometry.computeFaceNormals] 自动计算的,
+			该值等于归一化的两条边的差积。默认值是 *(0, 0, 0)*。
 		</p>
 
 		<h3>[property:Color color]</h3>
 		<p>
-		Face color - for this to be used a material's [page:Material.vertexColors vertexColors] property
-		must be set to [page:Materials THREE.FaceColors].
+			面的颜色值 - 在被用于指定材质的 [page:Material.vertexColors vertexColors] 属性时,该值必须被设置为
+			[page:Materials THREE.FaceColors]。
 		</p>
 
 		<h3>[property:Array vertexNormals]</h3>
 		<p>
-		Array of 3 [page:Vector3 vertex normals].
+			包含三个 [page:Vector3 vertex normals] 的队列。
 		</p>
 
 		<h3>[property:Array vertexColors]</h3>
 		<p>
-		Array of 3 vertex colors - for these to be used a material's [page:Material.vertexColors vertexColors] property
-		must be set to [page:Materials THREE.VertexColors].
+			包含 3 个顶点颜色值的队列 - 在被用于指定材质的 [page:Material.vertexColors vertexColors] 属性时,该值必须被设置为
+			[page:Materials THREE.VertexColors]。
 		</p>
 
-
 		<h3>[property:Integer materialIndex]</h3>
 		<p>
-		Material index (points to an index in the associated array of materials). Default is *0*.
+			材质队列中与该面相关的材质的索引。默认值为 *0*。
 		</p>
 
-		<h2>Methods</h2>
+		<h2>方法</h2>
 
 		<h3>[method:Face3 clone]()</h3>
-		<p>Creates a new clone of the Face3 object.</p>
+		<p>克隆该 Face3 对象。</p>
 
 		<h3>[method:Face3 copy]( [param:Face3 face3] )</h3>
-		<p>Copy the paramaters of another Face3 into this.</p>
+		<p>将参数指定的 Face3 对象的数据拷贝到当前对象。</p>
 
 
-		<h2>Source</h2>
+		<h2>资源</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 	</body>

+ 102 - 113
docs/api/zh/core/Geometry.html

@@ -12,17 +12,16 @@
 
 		<div class="desc">
 		<p>
-		Geometry is a user-friendly alternative to [page:BufferGeometry]. Geometries store attributes
-		(vertex positions, faces, colors, etc.) using objects like [page:Vector3] or [page:Color] that
-		are easier to read and edit, but less efficient than typed arrays.
+			Geometry 是对 [page:BufferGeometry] 的用户有好替代。Geometry 利用 [page:Vector3]
+			或 [page:Color] 存储了几何体的相关 attributes(如顶点位置,面信息,颜色等)比起 BufferGeometry
+			更容易读写,但是运行效率不如有类型的队列。
 		</p>
 		<p>
-		Prefer [page:BufferGeometry] for large or serious projects.
+		对于大型工程或正式工程,推荐采用 [page:BufferGeometry]。
 		</p>
 		</div>
 
-
-		<h2>Example</h2>
+		<h2>示例</h2>
 
 		<div>[example:webgl_geometry_minecraft WebGL / geometry / minecraft ]</div>
 		<div>[example:webgl_geometry_minecraft_ao WebGL / geometry / minecraft / ao ]</div>
@@ -48,125 +47,118 @@
 		geometry.computeBoundingSphere();
 		</code>
 
-		<h2>Constructor</h2>
+		<h2>构造函数</h2>
 
 
 		<h3>[name]()</h3>
 		<p>
-		The constructor takes no arguments.
+		构造函数没有任何参数。
 		</p>
 
 
-		<h2>Properties</h2>
+		<h2>属性</h2>
 
 		<h3>[property:Box3 boundingBox]</h3>
 		<p>
-			Bounding box for the Geometry, which can be calculated with
-			[page:.computeBoundingBox](). Default is *null*.
+			Geometry 的外边界矩形,可以通过 [page:.computeBoundingBox]() 进行计算,默认值是 *null*。
 		</p>
 
 		<h3>[property:Sphere boundingSphere]</h3>
 		<p>
-			Bounding sphere for the Geometry, which can be calculated with
-			[page:.computeBoundingSphere](). Default is *null*.
+			Geometry 的外边界球形,可以通过 [page:.computeBoundingSphere]() 进行计算,默认值是 *null*。
 		</p>
 
 		<h3>[property:Array colors]</h3>
 		<p>
-		Array of vertex [page:Color colors], matching number and order of vertices.<br /><br />
+			顶点 [page:Color colors] 队列,与顶点数量和顺序保持一致。<br /><br />
 
-		This is used by [page:Points] and [page:Line] and any classes derived from those such as [page:LineSegments] and various helpers.
-		[page:Mesh Meshes] use [page:Face3.vertexColors] instead of this.<br /><br />
+			该属性用于 [page:Points] 、 [page:Line] 或派生自 [page:LineSegments] 的类。
+			对于 [page:Mesh Meshes],请使用 [page:Face3.vertexColors] 函数。<br /><br />
 
-		To signal an update in this array, [page:Geometry Geometry.colorsNeedUpdate] needs to be set to true.
+			如果要标记队列中的数据已经更新,[page:Geometry Geometry.colorsNeedUpdate] 值需要被设置为 true。
 		</p>
 
 		<h3>[property:Array faces]</h3>
 		<p>
-		Array of [page:Face3 faces].<br />
-		The array of faces describe how each vertex in the model is connected to form faces.
-		Additionally it holds information about face and vertex normals and colors.<br /><br />
-		To signal an update in this array, [page:Geometry Geometry.elementsNeedUpdate] needs to be set to true.
+			[page:Face3 faces] 队列。<br />
+
+			描述每个顶点之间如何组成模型面的面队列。同时该队列保存面和顶点的法向量和颜色信息。<br /><br />
+			如果要标记队列中的数据已经更新,[page:Geometry Geometry.elementsNeedUpdate] 值需要被设置为 true。
 		</p>
 
 		<h3>[property:Array faceVertexUvs]</h3>
 		<p>
-		Array of face [link:https://en.wikipedia.org/wiki/UV_mapping UV] layers, used for mapping textures onto the geometry.<br />
-		Each UV layer is an array of [page:UV]s matching the order and number of vertices in faces.<br /><br />
-		To signal an update in this array, [page:Geometry Geometry.uvsNeedUpdate] needs to be set to true.
+			面的 [link:https://en.wikipedia.org/wiki/UV_mapping UV] 层的队列,该队列用于将纹理和几何信息进行映射。<br />
+			每个 UV 层都是一个 [page:UV] 的队列,顺序和数量同面中的顶点相对用。<br /><br />
+			如果要标记队列中的数据已经更新,[page:Geometry Geometry.uvsNeedUpdate] 值需要被设置为 true。
 		</p>
 
 		<h3>[property:Integer id]</h3>
-		<p>Unique number for this geometry instance.</p>
+		<p>当前 geometry 实例的唯一标识符的数。</p>
 
 		<h3>[property:Boolean isGeometry]</h3>
 		<p>
-			Used to check whether this or derived classes are Geometries. Default is *true*.<br /><br />
+			用于判断当前类或派生类属于 Geometries。默认值是 *true*。<br /><br />
 
-			You should not change this, as it used internally for optimisation.
+			你不应该改变该值,该值用于内部优化。
 		</p>
 
 		<h3>[property:array lineDistances]</h3>
 		<p>
-		An array containing distances between vertices for Line geometries.
-		This is required for [page:LineDashedMaterial] to render correctly.
+			用于保存线型几何体中每个顶点间距离的。在正确渲染 [page:LineDashedMaterial] 时,需要用到该数据。
 		</p>
 
 		<h3>[property:Array morphTargets]</h3>
 		<p>
-		Array of [link:https://en.wikipedia.org/wiki/Morph_target_animation morph targets]. Each morph target is a Javascript object:
+			[link:https://en.wikipedia.org/wiki/Morph_target_animation morph targets] 的队列。每个
+			morph target 都是一个如下的 javascript 对象:
 		<code>{ name: "targetName", vertices: [ new THREE.Vector3(), ... ] }</code>
-		Morph vertices match number and order of primary vertices.
+			Morph 顶点和几何体原始顶点在数量和顺序上需要一一对应。
 		</p>
 
 		<h3>[property:Array morphNormals]</h3>
 		<p>
-		Array of morph normals. Morph normals have similar structure as morph targets, each normal set is a Javascript object:
+			一个 morph 法向量的数组。Morph 法向量和 morph target 有类似的结构,每个法向量都是一个如下的 Javascript 对象:
 		<code>morphNormal = { name: "NormalName", normals: [ new THREE.Vector3(), ... ] }</code>
 
-		See the [example:webgl_morphnormals WebGL / morphNormals] example.
+			示例详见 [example:webgl_morphnormals WebGL / morphNormals]。
 		</p>
 
 		<h3>[property:String name]</h3>
-		<p>Optional name for this geometry. Default is an empty string.</p>
+		<p>当前几何的可选别名。默认值是一个空字符串。</p>
 
 		<h3>[property:Array skinWeights]</h3>
 		<p>
-		When working with a [page:SkinnedMesh], each vertex can have up to 4 [page:Bone bones] affecting it.
-		The skinWeights property is an array of weight values that correspond to the order of the vertices in
-		the geometry. So for instance, the first skinWeight would correspond to the first vertex in the geometry.
-		Since each vertex can be modified by 4 bones, a [page:Vector4] is used to represent the skin weights
-		for that vertex.
+			当在处理一个 [page:SkinnedMesh] 时,每个顶点最多可以有 4 个相关的 [page:Bone bones] 来影响它。
+			skinWeights 属性是一个权重队列,顺序同几何体中的顶点保持一致。因而,队列中的第一个 skinWeight
+			就对应几何体中的第一个顶点。由于每个顶点可以被 4 个 [page:Bone bones] 营销,因而每个顶点的 skinWeights
+			就采用一个 [page:Vector4] 表示。
 		</p>
 		<p>
-		The values of the vector should typically be between 0 and 1. For instance when set to 0 the bone
-		transformation will have no affect. When set to 0.5 it will have 50% affect. When set to 100%, it will
-		have 100% affect. If there is only 1 bone associated with the vertex then you only need to worry about
-		the first component of the vector, the rest can be ignored and set to 0.
+			skinWeight 矢量中每个元素的取值范围应该在 0 到 1 之间。例如,当设置为 0,骨骼对该顶点的位置没有影响。当设置为 0.5,
+			则对顶点的影响为 50%。 当设置为 100% 则对顶点的影响是 100%。如果矢量中只有一个骨骼与顶点相关联,则你只需要关注矢量中的第一个元素,
+			剩余的元素可以忽略,他们的值可以都设置为 0。
 		</p>
 
 		<h3>[property:Array skinIndices]</h3>
 		<p>
-		Just like the skinWeights property, the skinIndices' values correspond to the geometry's vertices.
-		Each vertex can have up to 4 bones associated with it. So if you look at the first vertex, and the
-		first skinIndex, this will tell you the bones associated with that vertex. For example the first vertex
-		could have a value of <strong>( 10.05, 30.10, 12.12 )</strong>. Then the first skin index could have the
-		value of <strong>( 10, 2, 0, 0 )</strong>. The first skin weight could have the value of
-		<strong>( 0.8, 0.2, 0, 0 )</strong>. In affect this would take the first vertex, and then the bone
-		<strong>mesh.bones[10]</strong> and apply it 80% of the way. Then it would take the bone <strong>skeleton.bones[2]</strong>
-		and apply it 20% of the way. The next two values have a weight of 0, so they would have no affect.
+			就如同 skinWeights 属性一样。skinWeights 的值也是与几何体的顶点相对应。每个顶点可以最多有 4 个骨骼与之相关联。
+			因而第一个 skinIndex 就与几何体的第一个顶点相关联,skinIndex 的值就指明了影响该顶点的骨骼是哪个。例如,第一个顶点的值是
+			<strong>( 10.05, 30.10, 12.12 )</strong>,第一个 skinIndex 的值是<strong>( 10, 2, 0, 0 )</strong>,第一个 skinWeight
+			的值是 <strong>( 0.8, 0.2, 0, 0 )</strong>。上述值表明第一个顶点受到<strong>mesh.bones[10]</strong>骨骼的影响有 80%,
+			受到 <strong>skeleton.bones[2]</strong> 的影响是 20%,由于另外两个 skinWeight 的值是 0,因而他们对顶点没有任何影响。
 		</p>
 		<p>
-		In code another example could look like this:
+			下面以代码的形式展示示例:
 		<code>
-		// e.g.
+		// 例如
 		geometry.skinIndices[15] = new THREE.Vector4(   0,   5,   9, 10 );
 		geometry.skinWeights[15] = new THREE.Vector4( 0.2, 0.5, 0.3,  0 );
 
-		// corresponds with the following vertex
+		// 与该顶点相关
 		geometry.vertices[15];
 
-		// these bones will be used like so:
+		// 相应骨骼可以这样被调用:
 		skeleton.bones[0]; // weight of 0.2
 		skeleton.bones[5]; // weight of 0.5
 		skeleton.bones[9]; // weight of 0.3
@@ -176,169 +168,166 @@
 
 		<h3>[property:String uuid]</h3>
 		<p>
-		[link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID] of this object instance.
-		This gets automatically assigned and shouldn't be edited.
+			当前对象实例的 [link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID]
+			该值会被自动分配,请不要修改它。
 		</p>
 
 		<h3>[property:Array vertices]</h3>
 		<p>
-		Array of [page:Vector3 vertices].<br />
-		The array of vertices holds the position of every vertex in the model.<br />
-		To signal an update in this array, [page:.verticesNeedUpdate] needs to be set to true.
+			[page:Vector3 vertices] 的队列。<br />
+			顶点的队列,保存了模型中每个顶点的位置信息。<br />
+			如果要标记队列中的数据已经更新,[page:.verticesNeedUpdate] 值需要被设置为 true。
 		</p>
 
 		<h3>[property:Boolean verticesNeedUpdate]</h3>
-		<p>Set to *true* if the vertices array has been updated.</p>
+		<p> 如果顶点队列中的数据被修改,该值需要被设置为 *true*。</p>
 
 		<h3>[property:Boolean elementsNeedUpdate]</h3>
-		<p>Set to *true* if the faces array has been updated.</p>
+		<p> 如果面队列中的数据被修改,该值需要被设置为 *true*。</p>
 
 		<h3>[property:Boolean uvsNeedUpdate]</h3>
-		<p>Set to *true* if the uvs array has been updated.	</p>
+		<p> 如果 UV 队列中的数据被修改,该值需要被设置为 *true*。</p>
 
 		<h3>[property:Boolean normalsNeedUpdate]</h3>
-		<p>Set to *true* if the normals array has been updated.</p>
+		<p> 如果法向量队列中的数据被修改,该值需要被设置为 *true*。</p>
 
 		<h3>[property:Boolean colorsNeedUpdate]</h3>
-		<p>Set to *true* if the colors array or a face3 color has been updated.</p>
+		<p> 如果颜色队列或 face3 的颜色数据被修改,该值需要被设置为 *true*。</p>
 
 		<h3>[property:Boolean groupsNeedUpdate]</h3>
-		<p>Set to *true* if a face3 materialIndex has been updated.</p>
+		<p> 如果 face3 的 materialIndex 被修改,该值需要被设置为 *true*。</p>
 
 		<h3>[property:Boolean lineDistancesNeedUpdate]</h3>
-		<p>Set to *true* if the linedistances array has been updated.</p>
+		<p> 如果 linedistances 队列中的数据被修改,该值需要被设置为 *true*。</p>
 
 
-		<h2>Methods</h2>
+		<h2>方法</h2>
 
-		<h3>[page:EventDispatcher EventDispatcher] methods are available on this class.</h3>
+		<h3>[page:EventDispatcher EventDispatcher] 该类中可用的函数。</h3>
 
 		<h3>[method:null applyMatrix]( [param:Matrix4 matrix] )</h3>
-		<p>Bakes matrix transform directly into vertex coordinates.</p>
+		<p> 将矩阵信息直接应用于几何体顶点坐标。</p>
 
 		<h3>[method:Geometry center] ()</h3>
-		<p>Center the geometry based on the bounding box.</p>
+		<p> 基于外边界矩形将几何体居中。</p>
 
 		<h3>[method:Geometry clone]()</h3>
-		<p>
-		Creates a new clone of the Geometry.<br /><br />
-
-		This method copies only vertices, faces and uvs. It does not copy any other properties of the geometry.
+		<p>克隆当前几何体。<br /><br />
+			该方法除几何体的顶点、面信息和 UV 外不会复制其他属性。
 		</p>
 
 		<h3>[method:null computeBoundingBox]()</h3>
-		<p>Computes bounding box of the geometry, updating [page:Geometry Geometry.boundingBox] attribute.</p>
+		<p> 计算当前几何体的外边界矩形。该方法会更新 [page:Geometry Geometry.boundingBox] 属性值。</p>
 
 		<h3>[method:null computeBoundingSphere]()</h3>
-		<p>Computes bounding sphere of the geometry, updating [page:Geometry Geometry.boundingSphere] attribute.</p>
+		<p> 计算当前几何体的外边界球。该方法会更新 [page:Geometry Geometry.boundingSphere] 属性值。</p>
 
 		<p>
-			Neither bounding boxes or bounding spheres are computed by default. They need to be explicitly computed,
-			otherwise they are *null*.
+			计算外边界矩形或外边界球并不是默认会自动调用的方法,这两个函数需要被显示的调用才能天得到相应属性值,否则对应属性值保持默认值 *null*。
 		</p>
 
 		<h3>[method:null computeFaceNormals]()</h3>
-		<p>Computes [page:Face3.normal face normals].</p>
+		<p> 计算 [page:Face3.normal face normals] 值。</p>
 
 		<h3>[method:null computeFlatVertexNormals]()</h3>
-		<p>Computes flat [page:Face3.vertexNormals vertex normals]. Sets the vertex normal of each vertex of each face to be the same as the face's normal.</p>
+		<p> 计算 flat [page:Face3.vertexNormals vertex normals] 值。
+			该方法会将顶点法向量的值赋值为相应面的法向量值。</p>
 
 		<h3>[method:null computeMorphNormals]()</h3>
-		<p>Computes [page:.morphNormals].</p>
+		<p> 计算 [page:.morphNormals] 值。</p>
 
 		<h3>[method:null computeVertexNormals]( [param:Boolean areaWeighted] )</h3>
 		<p>
-		areaWeighted - If true the contribution of each face normal to the vertex normal is
-		weighted by the area of the face. Default is true.<br /><br />
+		areaWeighted - 如果该值设置为 true,则每个面的法向量对顶点法向量的影响按照面的面积大小来计算。默认值为 true.<br /><br />
 
-		Computes vertex normals by averaging face normals.
+			通过周围面的法向量计算顶点的法向量。
 		</p>
 
 		<h3>[method:Geometry copy]( [param:Geometry geometry] )</h3>
 		<p>
-			Copies vertices, faces and uvs into this geometry. It does not copy any other properties of the geometry.
+			将参数代表的几何体的顶点、面和 UV 复制到当前几何体。该方法不会复制除此以外的别的属性值。
 		</p>
 
 		<h3>[method:null dispose]()</h3>
 		<p>
-		Removes The object from memory. <br />
-		Don't forget to call this method when you remove a geometry because it can cause memory leaks.
+			将对象从内存中删除。 <br />
+
+			在你删除一个几何体时,不要忘记调用该方法,否则会造成内存泄漏。
 		</p>
 
 		<h3>[method:Geometry fromBufferGeometry]( [param:BufferGeometry geometry] )</h3>
-		<p>Convert a [page:BufferGeometry] to a Geometry.</p>
+		<p> 将一个 [page:BufferGeometry] 对象,转换成一个 Geometry 对象。</p>
 
 		<h3>[method:Geometry lookAt] ( [param:Vector3 vector] )</h3>
 		<p>
-		vector - A world vector to look at.<br /><br />
+			vector - 当前几何体朝向的世界坐标。<br /><br />
 
-		Rotates the geometry to face point in space. This is typically done as a one time operation but not during the render loop.<br>
-		Use [page:Object3D.lookAt] for typical real-time mesh usage.
+			该方法将几何体进行旋转,是的几何体朝向参数指定的世界坐标。该方法一般在一次处理中完成,但不在渲染过程中执行。<br>
+			一般使用 [page:Object3D.lookAt] 方法进行实时更改。
 		</p>
 
 		<h3>[method:null merge]( [param:Geometry geometry], [param:Matrix4 matrix], [param:Integer materialIndexOffset] )</h3>
-		<p>Merge two geometries or geometry and geometry from object (using object's transform)</p>
+		<p> 将两个几何体,或一个几何体和一个从对象中通过变换获得的几何体进行合并。</p>
 
 		<h3>[method:null mergeMesh]( [param:Mesh mesh] )</h3>
-		<p>Merge the mesh's geometry with this, also applying the mesh's transform.</p>
+		<p> 将参数指定的面片信息与当前几何体进行合并。同样会使用到参数 mesh 的变换。</p>
 
 
 		<h3>[method:null mergeVertices]()</h3>
 		<p>
-		Checks for duplicate vertices using hashmap.<br />
-		Duplicated vertices are removed and faces' vertices are updated.
+			通过 hashmap 检查重复的顶点。<br />
+			重复的顶点将会被移除,面的顶点信息会被更新。
 		</p>
 
 		<h3>[method:null normalize]()</h3>
 		<p>
-		Normalize the geometry. <br />
-		Make the geometry centered and have a bounding sphere of radius *1.0*.
+			将当前几何体归一化。 <br />
+			将当前几何体居中,并且使得该几何体的外边界球半径为 *1.0*。
 		</p>
 
 		<h3>[method:Geometry rotateX] ( [param:Float radians] )</h3>
 		<p>
-		Rotate the geometry about the X axis. This is typically done as a one time operation but not during the render loop.<br>
-		Use [page:Object3D.rotation] for typical real-time mesh rotation.
+			将几何体绕 X 轴旋转参数指定度数。该操作通常在一次处理中完成,但不会在渲染过程中处理。<br>
+			使用 [page:Object3D.rotation] 对模型面片进行实时旋转处理。
 		</p>
 
 		<h3>[method:Geometry rotateY] ( [param:Float radians] )</h3>
 		<p>
-		Rotate the geometry about the Y axis. This is typically done as a one time operation but not during the render loop.<br>
-    	        Use [page:Object3D.rotation] for typical real-time mesh rotation.
+			将几何体绕 Y 轴旋转参数指定度数。该操作通常在一次处理中完成,但不会在渲染过程中处理。<br>
+			使用 [page:Object3D.rotation] 对模型面片进行实时旋转处理。
 		</p>
 
 		<h3>[method:Geometry rotateZ] ( [param:Float radians] )</h3>
 		<p>
-		Rotate the geometry about the Z axis. This is typically done as a one time operation but not during the render loop.<br>
-	        Use [page:Object3D.rotation] for typical real-time mesh rotation.
+			将几何体绕 Z 轴旋转参数指定度数。该操作通常在一次处理中完成,但不会在渲染过程中处理。<br>
+			使用 [page:Object3D.rotation] 对模型面片进行实时旋转处理。
 		</p>
 
 		<h3>[method:Geometry setFromPoints] ( [param:Array points] )</h3>
-		<p>Sets the vertices for this Geometry from an array of points.</p>
+		<p>通过点队列设置一个 Geometry 中的顶点。</p>
 
 		<h3>[method:null sortFacesByMaterialIndex] (  )</h3>
 		<p>
-		Sorts the faces array according to material index. For complex geometries with several materials,
-		this can result in reduced draw calls and improved performance.
+			通过材质索引对面队列进行排序。对于复杂且有多个材质的几何体,该操作可以有效减少 draw call 从而提升性能。
 		</p>
 
 		<h3>[method:Geometry scale] ( [param:Float x], [param:Float y], [param:Float z] )</h3>
 		<p>
-		Scale the geometry data. This is typically done as a one time operation but not during the render loop.<br>
-		Use [page:Object3D.scale] for typical real-time mesh scaling.
+			缩放几何体大小。该操作通常在一次处理中完成,但不会在渲染过程中处理。<br>
+			使用 [page:Object3D.scale] 对模型面片进行实时缩放处理。
 		</p>
 
 		<h3>[method:JSON toJSON] ( )</h3>
-		<p>Convert the geometry to JSON format.</p>
+		<p> 将 Geometry 对象数据转为  JSON 格式。</p>
 
 		<h3>[method:Geometry translate] ( [param:Float x], [param:Float y], [param:Float z] )</h3>
 		<p>
-		Translate the geometry. This is typically done as a one time operation but not during the render loop.<br>
-    	        Use [page:Object3D.position] for typical real-time mesh translation.
+			移动当前几何体。该操作通常在一次处理中完成,但不会在渲染过程中处理。<br>
+			使用 [page:Object3D.position] 对模型面片进行实时移动处理。
 		</p>
 
 
-		<h2>Source</h2>
+		<h2>资源</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 	</body>

+ 9 - 9
docs/api/zh/core/InstancedBufferAttribute.html

@@ -13,31 +13,31 @@
 		<h1>[name]</h1>
 
 		<p class="desc">
-		An instanced version of [page:BufferAttribute].
+			[page:BufferAttribute] 的实例化版本。
 		</p>
 
-		<h2>Constructor</h2>
+		<h2>构造函数</h2>
 		<h3>[name]( [param:TypedArray array], [param:Integer itemSize], [param:Number meshPerAttribute] )</h3>
 		<p>
 		</p>
 
-		<h2>Properties</h2>
-		See [page:BufferAttribute] for inherited properties.
+		<h2>属性</h2>
+		继承属性详见 [page:BufferAttribute]。
 
 		<h3>[property:Number meshPerAttribute]</h3>
 		<p>
-			Default is *1*.
+			默认值为 *1*。
 		</p>
 
 		<h3>[property:Boolean isInstancedBufferAttribute]</h3>
 		<p>
-			Default is *true*.
+			默认值为 *true*.
 		</p>
 
-		<h2>Methods</h2>
-		<p>See [page:BufferAttribute] for inherited methods.</p>
+		<h2>方法</h2>
+		<p>继承方法详见 [page:BufferAttribute]。</p>
 
-		<h2>Source</h2>
+		<h2>资源</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 	</body>

+ 10 - 10
docs/api/zh/core/InstancedBufferGeometry.html

@@ -13,29 +13,29 @@
 		<h1>[name]</h1>
 
 		<p class="desc">
-		An instanced version of [page:BufferGeometry].
+		[page:BufferGeometry] 的实例化版本。
 		</p>
 
-		<h2>Constructor</h2>
+		<h2>构造函数</h2>
 		<h3>[name]( )</h3>
-		<p>
+		<p> 默认构造函数没有参数。
 		</p>
 
-		<h2>Properties</h2>
-		See [page:BufferGeometry] for inherited properties.
+		<h2>属性</h2>
+		继承属性详见 [page:BufferGeometry]。
 
 		<h3>[property:Number maxInstancedCount]</h3>
 		<p>
-			Default is *undefined*.
+			默认值是 *undefined*。
 		</p>
 
 		<h3>[property:Boolean isInstancedBufferGeometry]</h3>
 		<p>
-			Default is *true*.
+			默认值是 *true*。
 		</p>
 
-		<h2>Methods</h2>
-		<p>See [page:BufferAttribute] for inherited methods.</p>
+		<h2>方法</h2>
+		<p>继承方法详见 [page:BufferAttribute]。</p>
 
 		<h3>[property:Number addGroup]( start, count, materialIndex )</h3>
 		<p>
@@ -43,7 +43,7 @@
 		</p>
 
 
-		<h2>Source</h2>
+		<h2>资源</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 	</body>

+ 9 - 9
docs/api/zh/core/InstancedInterleavedBuffer.html

@@ -13,35 +13,35 @@
 		<h1>[name]</h1>
 
 		<p class="desc">
-		An instanced version of [page:InterleavedBuffer].
+		[page:InterleavedBuffer] 的实例化版本。
 		</p>
 
-		<h2>Constructor</h2>
+		<h2>构造函数</h2>
 		<h3>[name]( [param:TypedArray array], [param:Integer itemSize], [param:Number meshPerAttribute] )</h3>
 		<p>
 		</p>
 
-		<h2>Properties</h2>
+		<h2>属性</h2>
 		<p>
-			See [page:InterleavedBuffer] for inherited properties.
+			继承属性详见 [page:InterleavedBuffer]。
 		</p>
 
 		<h3>[property:Number meshPerAttribute]</h3>
 		<p>
-			Default is *1*.
+			默认值是 *1*。
 		</p>
 
 		<h3>[property:Boolean isInstancedInterleavedBuffer]</h3>
 		<p>
-			Default is *true*.
+			默认值是 *true*。
 		</p>
 
-		<h2>Methods</h2>
+		<h2>方法</h2>
 		<p>
-			See [page:InterleavedBuffer] for inherited methods.
+			继承方法详见 [page:InterleavedBuffer]。
 		</p>
 
-		<h2>Source</h2>
+		<h2>资源</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 	</body>

+ 27 - 27
docs/api/zh/core/InterleavedBuffer.html

@@ -11,108 +11,108 @@
 		<h1>[name]</h1>
 
 		<p class="desc">
-			"Interleaved" means that multiple attributes, possibly of different types, (e.g., position, normal, uv, color) are packed into a single array buffer.
+			"交叉存储" 表明多个类型的 attributes (例如,顶点位置、法向量、UV 和颜色值)被存储到一个队列中。
 			<br/><br/>
-			An introduction into interleaved arrays can be found here: [link:https://blog.tojicode.com/2011/05/interleaved-array-basics.html Interleaved array basics]
+			如下链接有对交叉存储更详细的介绍: [link:https://blog.tojicode.com/2011/05/interleaved-array-basics.html Interleaved array basics]
 		</p>
 
-		<h2>Example</h2>
+		<h2>示例</h2>
 
 		<p>[example:webgl_buffergeometry_points_interleaved webgl / buffergeometry / points / interleaved]</p>
 
-		<h2>Constructor</h2>
+		<h2>构造函数</h2>
 		<h3>[name]( [param:TypedArray array], [param:Integer stride] )</h3>
 		<p>
-			[page:TypedArray array] -- A typed array with a shared buffer. Stores the geometry data.<br/>
-			[page:Integer stride] -- The number of typed-array elements per vertex.
+			[page:TypedArray array] -- 一个基于共享缓存的类型化队列。该队列存储几何体相关数据。<br/>
+			[page:Integer stride] -- 每个顶点占用类型化队列的多少个元素。
 		</p>
 
-		<h2>Properties</h2>
+		<h2>属性</h2>
 
 		<h3>[property:Array array]</h3>
 		<p>
-			 A typed array with a shared buffer. Stores the geometry data.
+			一个基于共享缓存的类型化队列。该队列存储几何体相关数据。
 		</p>
 
 		<h3>[property:Integer stride]</h3>
 		<p>
-			The number of typed-array elements per vertex.
+			每个顶点占用类型化队列的多少个元素。
 		</p>
 
 		<h3>[property:Integer count]</h3>
 		<p>
-		Gives the total number of elements in the array.
+			类型化队列中,所有元素的数目。
 		</p>
 
 		<h3>[property:Boolean dynamic]</h3>
 		<p>
-		Default is *false*.
+			默认值为 *false*。
 		</p>
 
 		<h3>[property:Object updateRange]</h3>
 		<p>
-		Object containing offset and count.
+			对象存储着需要更新的数据的偏移量和数量。
 		</p>
 
 		<h3>[property:Number updateRange.offset]</h3>
 		<p>
-		Default is *0*.
+			默认值为 *0*。
 		</p>
 
 		<h3>[property:Number updateRange.count]</h3>
 		<p>
-		Default is *-1*.
+			默认值为 *-1*。
 		</p>
 
 		<h3>[property:Integer version]</h3>
 		<p>
-		A version number, incremented every time the needsUpdate property is set to true.
+			版本号,每次 needsUpdate 属性设置为 true 时,版本号增加。
 		</p>
 
 		<h3>[property:Integer isInterleavedBuffer]</h3>
 		<p>
-		Default is *true*.
+			默认值为 *true*。
 		</p>
 
 		<h3>[property:Integer needsUpdate]</h3>
 		<p>
-		Default is *false*. Setting this to true increments [page:InterleavedBuffer.version version].
+			默认值为 *false*。该值被设置为 true 时,会导致 [page:InterleavedBuffer.version version] 增加。
 		</p>
 
-		<h2>Methods</h2>
+		<h2>方法</h2>
 
 		<h3>[method:InterleavedBuffer setArray] ( [param:TypedArray array] ) </h3>
 		<p>
-		 array - must be  a Typed Array.
+		 array - 必须是一个类型化的队列。
 		</p>
 
 		<h3>[method:InterleavedBuffer setDynamic] ( [param:Boolean value] ) </h3>
 		<p>
-			Set [page:InterleavedBuffer.dynamic dynamic] to value.
+			根据输入参数设置 [page:InterleavedBuffer.dynamic dynamic] 的值。
 		</p>
 
 		<h3>[method:InterleavedBuffer copy]( [param:InterleavedBuffer source] ) </h3>
 		<p>
-		 Copies another [name] to this [name].
+			将参数指定的 [name] 拷贝到当前 [name]。
 		</p>
 
 		<h3>[method:InterleavedBuffer copyAt]( [param:Integer index1], [param:InterleavedBuffer attribute], [param:Integer index2] ) </h3>
-		<p>Copies data from attribute[index2] to [page:InterleavedBuffer.array array][index1].</p>
+		<p> 将数据从 attribute[index2] 拷贝到 [page:InterleavedBuffer.array array][index1]。</p>
 
 		<h3>[method:InterleavedBuffer set]( [param:TypedArray value], [param:Integer offset] ) </h3>
 		<p>
-			value - The source (typed) array.<br/>
-			offset - The offset into the target array at which to begin writing values from the source array. Default is *0*.<br/><br />
+			value - 被拷贝的源(类型化)队列。<br/>
+			offset - 源队列中,数据开始拷贝的偏移量。默认值是 *0*.<br/><br />
 
-			Stores multiple values in the buffer, reading input values from a specified array.
+			将源队列数据拷贝到目标队列缓存中。
 		</p>
 
 		<h3>[method:InterleavedBuffer clone]() </h3>
 		<p>
-			Creates a clone of this [name].
+			克隆当前 [name]。
 		</p>
 
-		<h2>Source</h2>
+		<h2>资源</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 	</body>

+ 23 - 26
docs/api/zh/core/InterleavedBufferAttribute.html

@@ -15,89 +15,86 @@
 
 		</p>
 
-		<h2>Constructor</h2>
+		<h2>构造函数</h2>
 		<h3>[name]( [param:InterleavedBuffer interleavedBuffer], [param:Integer itemSize], [param:Integer offset], [param:Boolean normalized] )</h3>
 		<p>
 		</p>
 
-		<h2>Properties</h2>
+		<h2>属性</h2>
 
 		<h3>[property:InterleavedBuffer data]</h3>
 		<p>
-			The [page:InterleavedBuffer InterleavedBuffer] instance passed in the constructor.
+			传入构造函数的 [page:InterleavedBuffer InterleavedBuffer] 实例。
 		</p>
 
 		<h3>[property:TypedArray array]</h3>
 		<p>
-			The value of [page:InterleavedBufferAttribute.data data].array.
+			[page:InterleavedBufferAttribute.data data].array 的值。
 		</p>
 
 		<h3>[property:Integer count]</h3>
 		<p>
-			The value of [page:InterleavedBufferAttribute.data data].count.
+			[page:InterleavedBufferAttribute.data data].count 的值。
 
-			If the buffer is storing a 3-component item (such as a position, normal, or color),
-			then this will count the number of such items stored.
+			所缓存的矢量的个数。如果缓存的矢量是一个三元组(例如,位置、法向量或颜色),则该值计算上述三元组的个数。
 		</p>
 
 		<h3>[property:Integer itemSize]</h3>
 		<p>
-			How many values make up each item.
+			队列中每个矢量有多少个元素构成。
 		</p>
 
 		<h3>[property:Integer offset]</h3>
 		<p>
-			The offset in the underlying array buffer where an item starts.
+			缓存队列中每个元素的起始位置的偏移量。
 		</p>
 
 		<h3>[property:Boolean normalized]</h3>
 		<p>
-			Default is *true*.
+			默认值为 *true*。
 		</p>
 
 		<h3>[property:Boolean isInterleavedBufferAttribute]</h3>
 		<p>
-			Default is *true*.
+			默认值为 *true*。
 		</p>
 
-		<h2>Methods</h2>
+		<h2>方法</h2>
 
 		<h3>[method:Number getX]( [param:Integer index] ) </h3>
-		<p>Returns the x component of the item at the given index.</p>
+		<p>返回给定索引矢量的第一个元素 (X 值)。</p>
 
 		<h3>[method:Number getY]( [param:Integer index] ) </h3>
-		<p>Returns the y component of the item at the given index.</p>
+		<p>返回给定索引矢量的第二个元素 (Y 值)。</p>
 
 		<h3>[method:Number getZ]( [param:Integer index] ) </h3>
-		<p>Returns the z component of the item at the given index.</p>
+		<p>返回给定索引矢量的第三个元素 (Z 值)。</p>
 
 		<h3>[method:Number getW]( [param:Integer index] ) </h3>
-		<p>Returns the w component of the item at the given index.</p>
+		<p>返回给定索引矢量的第四个元素 (W 值)。</p>
 
 		<h3>[method:null setX]( [param:Integer index], [param:Float x] ) </h3>
-		<p>Sets the x component of the item at the given index.</p>
+		<p>通过给定参数,设置指定索引矢量的第一个元素 (X 值)。</p>
 
 		<h3>[method:null setY]( [param:Integer index], [param:Float y] ) </h3>
-		<p>Sets the y component of the item at the given index.</p>
+		<p>通过给定参数,设置指定索引矢量的第二个元素 (Y 值)。</p>
 
 		<h3>[method:null setZ]( [param:Integer index], [param:Float z] ) </h3>
-		<p>Sets the z component of the item at the given index.</p>
+		<p>通过给定参数,设置指定索引矢量的第三个元素 (Z 值)。</p>
 
 		<h3>[method:null setW]( [param:Integer index], [param:Float w] ) </h3>
-		<p>Sets the w component of the item at the given index.</p>
+		<p>通过给定参数,设置指定索引矢量的第四个元素 (W 值)。</p>
 
 		<h3>[method:null setXY]( [param:Integer index], [param:Float x], [param:Float y] ) </h3>
-		<p>Sets the x and y components of the item at the given index.</p>
+		<p>通过给定参数,设置指定索引矢量的第一、二个元素 (X 和 Y 值)。</p>
 
 		<h3>[method:null setXYZ]( [param:Integer index], [param:Float x], [param:Float y], [param:Float z] ) </h3>
-		<p>Sets the x, y and z components of the item at the given index.</p>
+		<p>通过给定参数,设置指定索引矢量的第一、二、三个元素 (X Y 和 Z 值)。</p>
 
 		<h3>[method:null setXYZW]( [param:Integer index], [param:Float x], [param:Float y], [param:Float z], [param:Float w] ) </h3>
-		<p>Sets the x, y, z and w components of the item at the given index.</p>
+		<p>通过给定参数,设置指定索引矢量的第一、二、三、四个元素 (X Y Z 和 W 值)。</p>
 
-
-
-		<h2>Source</h2>
+		<h2>资源</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 	</body>

+ 22 - 22
docs/api/zh/core/Layers.html

@@ -11,71 +11,71 @@
 		<h1>[name]</h1>
 
 		<p class="desc">
-			A [page:Layers] object assigns an [page:Object3D] to 1 or more of 32 layers numbered 0 to 31
-			- internally the layers are stored as a [link:https://en.wikipedia.org/wiki/Mask_(computing) bit mask], and by default all
-			Object3Ds are a member of layer 0.<br /><br />
+			[page:Layers] 对象为 [page:Object3D] 分配 1个到 32 个图层。32个图层从 0 到 31 编号标记。
+			在内部实现上,每个图层对象被存储为一个 [link:https://en.wikipedia.org/wiki/Mask_(computing) bit mask],
+			默认的,所有 [page:Object3D] 对象都存储在第 0 个图层上。<br /><br />
 
-			This can be used to control visibility - an object must share a layer with a [page:Camera camera] to be visible when that camera's
-			view is renderered.<br /><br />
+			图层对象可以用于控制对象的显示。当 [page:Camera camera] 的内容被渲染时与其共享图层相同的物体会被显示。每个对象都需要与一个
+			[page:Camera camera] 共享图层。<br /><br />
 
-			All classes that inherit from [page:Object3D] have an [page:Object3D.layers] property which is an instance of this class.
+			每个继承自 [page:Object3D] 的对象都有一个 [page:Object3D.layers] 对象。
 		</p>
 
 
-		<h2>Constructor</h2>
+		<h2>构造函数</h2>
 
 
 		<h3>[name]()</h3>
 		<p>
-			Create a new Layers object, with membership initially set to layer 0.
+			创建一个新的图层对象,该对象默认与第 0 图层关联。
 		</p>
 
-		<h2>Properties</h2>
+		<h2>属性</h2>
 
 		<h3>[property:Integer mask]</h3>
 		<p>
-			A bit mask storing which of the 32 layers this layers object is currently a member of.
+			用 bit mask 表示当前图层对象与 0 - 31 中的哪些图层相对应。所属层所对应的比特位为 1,其他位位 0。
 		</p>
 
 
-		<h2>Methods</h2>
+		<h2>方法</h2>
 
 		<h3>[method:null disable]( [param:Integer layer] )</h3>
 		<p>
-			layer - an integer from 0 to 31.<br /><br />
+			layer - 一个 0 - 31 的整数。<br /><br />
 
-			Remove membership of this *layer*.
+			删除图层对象与参数指定图层的对应关系。
 		</p>
 
 		<h3>[method:null enable]( [param:Integer layer] )</h3>
 		<p>
-			layer - an integer from 0 to 31.<br /><br />
+			layer - 一个 0 - 31 的整数。<br /><br />
 
-			Add membership of this *layer*.
+			增加图层对象与参数指定图层的对应关系。
 		</p>
 
 		<h3>[method:null set]( [param:Integer layer] )</h3>
 		<p>
-			layer - an integer from 0 to 31.<br /><br />
+			layer - 一个 0 - 31 的整数。<br /><br />
 
-			Set membership to *layer*, and remove membership all other layers.
+			删除图层对象已有的所有对应关系,增加与参数指定的图层的对应关系。
 		</p>
 
 		<h3>[method:Boolean test]( [param:Layers layers] )</h3>
 		<p>
-			layers - a Layers object<br /><br />
+			layers - 一个图层对象。<br /><br />
 
-			Returns true if this and the passed *layers* object are members of the same set of layers.
+			如果传入图层对象与当前对象属于相同的一组图层,则返回 true,否则返回 false。
 		</p>
 
 		<h3>[method:null toggle]( [param:Integer layer] )</h3>
 		<p>
-			layer - an integer from 0 to 31.<br /><br />
+			layer - 一个 0 - 31 的整数。<br /><br />
 
-			Toggle membership of *layer*.
+			根据参数切换对象所属图层。
 		</p>
 
-		<h2>Source</h2>
+		<h2>资源</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 	</body>

+ 134 - 155
docs/api/zh/core/Object3D.html

@@ -11,427 +11,406 @@
 		<h1>[name]</h1>
 
 		<p class="desc">
-			This is the base class for most objects in three.js and provides a set of properties and methods
-			for manipulating objects in 3D space.<br /><br />
+			该类是 three.js 中大多数对象的基类。它提供了一组属性和方法用于在 3D 空间下对对象进行操作。<br /><br />
 
-			Note that this can be used for grouping objects via the [page:.add]( object ) method
-			which adds the object as a child, however it is better to use [page:Group] for this.
+			注意,通过 [page:.add]( object ) 方法,该类可以被应用于成组的对象。然而更好的方式是使用 [page:Group]。
 		</p>
 
 
-		<h2>Constructor</h2>
+		<h2>构造函数</h2>
 
 
 		<h3>[name]()</h3>
 		<p>
-		The constructor takes no arguments.
+		构造函数没有任何参数。
 		</p>
 
 
-		<h2>Properties</h2>
+		<h2>属性</h2>
 
 		<h3>[property:Boolean castShadow]</h3>
-		<p>Whether the object gets rendered into shadow map. Default is *false*.</p>
+		<p> 当前物体是否需要在阴影图 (shadow map)中被渲染,默认值为 *false*。</p>
 
 		<h3>[property:Object3D children]</h3>
-		<p>Array with object's children. See [page:Group] for info on manually grouping objects.</p>
+		<p> 子物体的队列。将对象成组的方法详见 [page:Group]。</p>
 
 		<h3>[property:Boolean frustumCulled]</h3>
 		<p>
-		When this is set, it checks every frame if the object is in the frustum of the camera before rendering the object.
-		Otherwise the object gets rendered every frame even if it isn't visible. Default is *true*.
+			当该值被设置时,在每帧渲染该物体前,都会检查物体是否在视锥内。
+			否则,物体在每帧时都会被渲染,即使物体不可见。默认值为 *true*。
 		</p>
 
 		<h3>[property:Integer id]</h3>
-		<p>readonly – Unique number for this object instance.</p>
+		<p>只读 – 当前物体唯一标识符。</p>
 
 		<h3>[property:Boolean isObject3D]</h3>
 		<p>
-			Used to check whether this or derived classes are Object3Ds. Default is *true*.<br /><br />
+			用于判断当前类或其派生类是 Object3D 对象。默认值为 *true*。<br /><br />
 
-			You should not change this, as it is used internally for optimisation.
+			该值被用于内部优化,不应该被更改。
 		</p>
 
 		<h3>[property:Layers layers]</h3>
 		<p>
-		The layer membership of the object. The object is only visible if it has at least one
-		layer in common with the [page:Camera] in use.
+			当前物体所属图层信息。只有当该物体与摄像机至少共享一个图层时,该物体才可见。
 		</p>
 
 		<h3>[property:Matrix4 matrix]</h3>
-		<p>The local transform matrix.</p>
+		<p> 局部空间下的转移矩阵。</p>
 
 		<h3>[property:Boolean matrixAutoUpdate]</h3>
 		<p>
-		When this is set, it calculates the matrix of position, (rotation or quaternion) and
-		scale every frame and also recalculates the matrixWorld property. Default is [page:Object3D.DefaultMatrixAutoUpdate] (true).
+			当设置该值时,对象会重新计算 matrixWorld 属性值,计算位置矩阵、旋转矩阵,并且在每帧都进行缩放。
+			默认值 [page:Object3D.DefaultMatrixAutoUpdate] 为 true。
 		</p>
 
 		<h3>[property:Matrix4 matrixWorld]</h3>
 		<p>
-		The global transform of the object. If the Object3D has no parent, then it's identical to
-		the local transform [page:.matrix].
+			对象的全局变换矩阵。如果 Object3D 没有父对象,则该矩阵与局部变换矩阵 [page:.matrix] 相同。
 		</p>
 
 		<h3>[property:Boolean matrixWorldNeedsUpdate]</h3>
 		<p>
-		When this is set, it calculates the matrixWorld in that frame and resets this property
-		 to false. Default is *false*.
+			当该值设置时,对象会在这帧重新计算 matrixWorld,且将该值设置为 false。默认值为 *false*。
 		</p>
 
 		<h3>[property:Matrix4 modelViewMatrix]</h3>
-		<p>This is passed to the shader and used to calculate the position of the object.</p>
+		<p>
+			该值被传递给着色器,用于计算对象的坐标。
+		</p>
 
 		<h3>[property:String name]</h3>
-		<p>Optional name of the object (doesn't need to be unique). Default is an empty string.</p>
+		<p> 对象的可选别名(无需全局唯一)。默认值为空字符串。</p>
 
 		<h3>[property:Matrix3 normalMatrix]</h3>
 		<p>
-		This is passed to the shader and used to calculate lighting for the object. It is the transpose of the inverse of the upper left 3x3 sub-matrix of this object's modelViewMatrix.<br /><br />
-
-		The reason for this special matrix is that simply using the modelViewMatrix could result in a non-unit length of normals (on scaling) or in a non-perpendicular direction (on non-uniform scaling).<br /><br />
+			该值传递给着色器用于计算对向的光照。该矩阵等价于 modelViewMatrix 的左上 3x3 子矩阵的逆矩阵的转置。
 
-		On the other hand the translation part of the modelViewMatrix is not relevant for the calculation of normals. Thus a Matrix3 is sufficient.
+			需要该矩阵的原因如下,如果单纯使用 modelViewMatrix 会导致法向量在对象缩放时长度未归一化或方向不垂直。<br /><br />
+			This is passed to the shader and used to calculate lighting for the object.<br /><br />
+			另外 modelViewMatrix 中的位移信息在法向量计算时并不相关。因而,normalMatrix 使用 Matrix3 矩阵足矣。
 		</p>
 
 		<h3>[property:function onAfterRender]</h3>
 		<p>
-		An optional callback that is executed immediately after the Object3D is rendered.
-		This function is called with the following parameters: renderer, scene, camera, geometry,
-		material, group.
+			可选的回调函数,在每次 Object3D 对象渲染后会被立刻调用。
+			该函数参数列表如下:renderer, scene, camera, geometry, material, group。
 		</p>
 
 		<h3>[property:function onBeforeRender]</h3>
 		<p>
-		An optional callback that is executed immediately before the Object3D is rendered.
-		This function is called with the following parameters: renderer, scene, camera, geometry,
-		material, group.
+			可选的回调函数,在每次 Object3D 对象渲染前会被调用。
+			该函数参数列表如下:renderer, scene, camera, geometry, material, group。
 		</p>
 
 		<h3>[property:Object3D parent]</h3>
-		<p>Object's parent in the [link:https://en.wikipedia.org/wiki/Scene_graph scene graph]. An object can have at most
-		one parent.</p>
+		<p> 对象的父对象 [link:https://en.wikipedia.org/wiki/Scene_graph scene graph]。每个对象最多可以有一个父对象。</p>
 
 		<h3>[property:Vector3 position]</h3>
-		<p>A [page:Vector3] representing the object's local position. Default is (0, 0, 0).</p>
+		<p> [page:Vector3] 向量,用于表示对象的局部坐标系下的位置。默认值为 (0, 0, 0)。</p>
 
 		<h3>[property:Quaternion quaternion]</h3>
-		<p>Object's local rotation as a [page:Quaternion Quaternion].</p>
+		<p> 对象的本地旋转四元组 [page:Quaternion Quaternion]。</p>
 
 		<h3>[property:Boolean receiveShadow]</h3>
-		<p>Whether the material receives shadows. Default is *false*.</p>
+		<p> 判断当前材质是否接收阴影。默认值是 *false*。</p>
 
 		<h3>[property:Number renderOrder]</h3>
 		<p>
-		This value allows the default rendering order of [link:https://en.wikipedia.org/wiki/Scene_graph scene graph]
-		objects to be overridden although opaque and transparent objects remain sorted independently.
-		Sorting is from lowest to highest renderOrder. Default value is *0*.
+			该值允许对象的默认渲染顺序 [link:https://en.wikipedia.org/wiki/Scene_graph scene graph] 被修改。
+			但不透明和透明物体依然分开进行渲染排序。渲染顺序的排序是从最低到最高。renderOrder 的默认值为 *0*。
 		</p>
 
 		<h3>[property:Euler rotation]</h3>
 		<p>
-		Object's local rotation (see [link:https://en.wikipedia.org/wiki/Euler_angles Euler angles]), in radians.
+			物体本地坐标系下的旋转信息 (see [link:https://en.wikipedia.org/wiki/Euler_angles Euler angles]),度量单位为弧度。
 		</p>
 
 		<h3>[property:Vector3 scale]</h3>
 		<p>
-		The object's local scale. Default is [page:Vector3]( 1, 1, 1 ).
+			物体本地坐标系下的缩放信息。默认值是 [page:Vector3]( 1, 1, 1 )。
 		</p>
 
 		<h3>[property:Vector3 up]</h3>
 		<p>
-		This is used by the [page:.lookAt lookAt] method, for example, to determine the orientation of the result.<br />
-		Default is [page:Object3D.DefaultUp] - that is, ( 0, 1, 0 ).
+			该值被用于 [page:.lookAt lookAt] 方法。例如,用于判断对象朝向。<br />
+			默认值 [page:Object3D.DefaultUp] 为 ( 0, 1, 0 )。
 		</p>
 
 		<h3>[property:object userData]</h3>
 		<p>
-		An object that can be used to store custom data about the Object3D. It should not hold
-		references to functions as these will not be cloned.
+			用于存储 Object3D 的定制化数据的对象。该对象不应该保存任何函数的引用,这些值在对象被克隆时不会被拷贝。
 		</p>
 
 		<h3>[property:String uuid]</h3>
 		<p>
-		[link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID] of this object instance.
-		This gets automatically assigned, so this shouldn't be edited.
+			当前对象实例的 [link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID]
+			该值会被自动赋值。不应该被修改。
 		</p>
 
 		<h3>[property:Boolean visible]</h3>
-		<p>Object gets rendered if *true*. Default is *true*.</p>
-
-
-
+		<p> 如果该值为 *true*,则对象会被显示。默认值为 *true*。</p>
 
-		<h2>Static Properties</h2>
+		<h2>静态属性</h2>
 		<p>
-			Static properties and methods are defined per class rather than per instance of that class.
-			This means that changing [page:Object3D.DefaultUp] or [page:Object3D.DefaultMatrixAutoUpdate]
-			will change the values of [page:.up up] and [page:.matrixAutoUpdate matrixAutoUpdate] for
-			<em>every</em>	instance of Object3D (or derived classes)	created after the change has
-			been made (already created Object3Ds will not be affected).
+			不同于非静态属性和方法是按照对象定义的,静态属性和方法是按类定义的,即同一个类的不同实例间是共享静态属性及方法的。
+			这意味着改变 [page:Object3D.DefaultUp] 或 [page:Object3D.DefaultMatrixAutoUpdate],将会改变在这之后创建的
+			<em>每个</em> Object3D 实例(或其派生类的示例)的 [page:.up up] 和 [page:.matrixAutoUpdate matrixAutoUpdate]
+			的值。已经被创建的 Object3D 实例不受影响。
 		</p>
 
 		<h3>[property:Vector3 DefaultUp]</h3>
 		<p>
-			The default [page:.up up] direction for objects, also used as the default position for [page:DirectionalLight],
-			[page:HemisphereLight] and [page:Spotlight] (which creates lights shining from the top down).<br />
-			Set to ( 0, 1, 0 ) by default.
+			当前对象的默认的 [page:.up up] 方向,同样被用于 [page:DirectionalLight]、[page:HemisphereLight]、和
+			[page:Spotlight](光线方向从上至下) 的默认空间位置。<br />
+			默认值为 ( 0, 1, 0 ) 。
 		</p>
 
 		<h3>[property:Vector3 DefaultMatrixAutoUpdate]</h3>
 		<p>
-			The default setting for [page:.matrixAutoUpdate matrixAutoUpdate] for newly created Object3Ds.<br />
-
+			新创建的 Object3D 的 [page:.matrixAutoUpdate matrixAutoUpdate] 的默认值。<br />
 		</p>
 
+		<h2>方法</h2>
 
-		<h2>Methods</h2>
-
-		<h3>[page:EventDispatcher EventDispatcher] methods are available on this class.</h3>
+		<h3>[page:EventDispatcher EventDispatcher] 可用于此类的方法。</h3>
 
 		<h3>[method:null add]( [param:Object3D object], ... )</h3>
 		<p>
-		Adds *object* as child of this object. An arbitrary number of objects may be added. Any current parent on an
-		object passed in here will be removed, since an object can have at most one parent.<br /><br />
+			将参数指定的 *object* 添加到当前对象。参数指定的对象会被添加一个随机数。由于每个对象只能有一个父对象,
+			在被设置新的父对象后,参数对象的原父对象将会被移除,并有当前对象替代。<br /><br />
 
-		See [page:Group] for info on manually grouping objects.
+			手动将对象成组详情见 [page:Group]。
 		</p>
 
 		<h3>[method:null applyMatrix]( [param:Matrix4 matrix] )</h3>
-		<p>Applies the matrix transform to the object and updates the object's position, rotation and scale.</p>
+		<p> 将参数指定的矩阵应用于对象,并且依据矩阵对对象进行位移、旋转和缩放。</p>
 
 		<h3>[method:Object3D applyQuaternion]( [param:Quaternion quaternion] )</h3>
-		<p>Applies the rotation represented by the quaternion to the object.</p>
+		<p> 将参数指定的四元数应用于对象,并对对象进行旋转。</p>
 
 		<h3>[method:Object3D clone]( [param:Boolean recursive] )</h3>
 		<p>
-		recursive -- if true, descendants of the object are also cloned. Default is true.<br /><br />
+			recursive -- 如果为 true, 连同子对象一起克隆。默认值为 true.<br /><br />
 
-		Returns a clone of this object and optionally all descendants.
+			返回该对象的克隆,并且依据参数可能同时返回子对象的克隆。
 		</p>
 
 		<h3>[method:this copy]( [param:Object3D object], [param:Boolean recursive] )</h3>
 		<p>
-		recursive -- if true, descendants of the object are also copied. Default is true.<br /><br />
+			recursive -- 如果为 true, 参数指定的对象连同子对象一起被复制。默认值为 true.<br /><br />
 
-		Copy the given object into this object.
+			将指定对象拷贝到当前对象。
 		</p>
 
 		<h3>[method:Object3D getObjectById]( [param:Integer id] )</h3>
 		<p>
-		id -- Unique number of the object instance<br /><br />
+			id -- 对象实例的唯一数字标识符。<br /><br />
 
-		Searches through the object's children and returns the first with a matching id.<br />
-		Note that ids are assigned in chronological order: 1, 2, 3, ..., incrementing by one for each new object.
+			搜索对象的所有子对象,并返回第一个 id 与参数匹配的对象。<br />
+			注意,对象的 id 按照时间顺序依次生生成:1,2,3,...每有一个新物体被创建则 id 增加 1。
 		</p>
 
 		<h3>[method:Object3D getObjectByName]( [param:String name] )</h3>
 		<p>
-		name -- String to match to the children's Object3D.name property. <br /><br />
+			name -- 匹配子对象 Object3D.name 属性的字符串。 <br /><br />
 
-		Searches through the object's children and returns the first with a matching name.<br />
-		Note that for most objects the name is an empty string by default. You will
-		have to set it manually to make use of this method.
+			搜索对象的所有子对象,并返回第一个 Object3D.name 属性与参数匹配的对象。<br />
+			注意,对于大多数对象来说对象名称保持默认值,是一个空的字符串。需要你手动设置才会有意义。
 		</p>
 
 		<h3>[method:Object3D getObjectByProperty]( [param:String name], [param:Float value] )</h3>
 		<p>
-		name -- the property name to search for. <br />
-		value -- value of the given property. <br /><br />
+			name -- 要检索的属性的名称。 <br />
+			value -- 要匹配的属性的值。 <br /><br />
 
-		Searches through the object's children and returns the first with a property that matches the value given.
+			搜索对象的子对象返回第一个属性名和属性值都匹配的对象。
 		</p>
 
 		<h3>[method:Vector3 getWorldPosition]( [param:Vector3 target] )</h3>
 		<p>
-		[page:Vector3 target] — the result will be copied into this Vector3. <br /><br />
+		[page:Vector3 target] — 结果将被复制到这个三维矢量中。 <br /><br />
 
-		Returns a vector representing the position of the object in world space.
+		返回一个代表对象全局坐标的三维矢量。
 		</p>
 
 		<h3>[method:Quaternion getWorldQuaternion]( [param:Quaternion target] )</h3>
 		<p>
-		[page:Quaternion target] — the result will be copied into this Quaternion. <br /><br />
+		[page:Quaternion target] — 结果将被复制到这个四元数中. <br /><br />
 
-		Returns a quaternion representing the rotation of the object in world space.
+		返回代表对象全局旋转的四元数。
 		</p>
 
 		<h3>[method:Vector3 getWorldScale]( [param:Vector3 target] )</h3>
 		<p>
-		[page:Vector3 target] — the result will be copied into this Vector3. <br /><br />
+		[page:Vector3 target] — 结果将被复制到这个三维矢量中。 <br /><br />
 
-		Returns a vector of the scaling factors applied to the object for each axis in world space.
+		返回代表对象每个轴向的全局缩放参数的三维矢量。
 		</p>
 
 		<h3>[method:Vector3 getWorldDirection]( [param:Vector3 target] )</h3>
 		<p>
-		[page:Vector3 target] — the result will be copied into this Vector3. <br /><br />
+		[page:Vector3 target] — 结果将被复制到这个三维矢量中。 <br /><br />
 
-		Returns a vector representing the direction of object's positive z-axis in world space.
+		返回代表对象全局坐标系下 z 轴朝向的三维矢量。
 		</p>
 
-
 		<h3>[method:Vector3 localToWorld]( [param:Vector3 vector] )</h3>
 		<p>
-		vector - A vector representing a position in local (object) space.<br /><br />
+		vector - 代表本地(局部)坐标位置的三维矢量。<br /><br />
 
-		Converts the vector from local space to world space.
+		将参数指定的本地坐标矢量转换为全局坐标。
 		</p>
 
 		<h3>[method:null lookAt]( [param:Vector3 vector] )</br>
 		[method:null lookAt]( [param:Float x], [param:Float y], [param:Float z] )</h3>
 		<p>
-		vector - A vector representing a position in world space.<br /><br />
-		Optionally, the [page:.x x], [page:.y y] and [page:.z z] components of the world space position.<br /><br />
+		vector - 代表全局坐标位置的三维矢量。<br /><br />
+		另外, 参数可以由全局坐标的第一维 ([page:.x x]), 第二维([page:.y y]) 和 第三维([page:.z z])组成的参数列表代替。<br /><br />
 
-		Rotates the object to face a point in world space.<br /><br />
+		旋转物体使得其朝向参数指定的全局坐标。<br /><br />
 
-		This method does not support objects with rotated and/or translated parent(s).
+			该方法旋转仅旋转对象及子对象,不会影响父对象的旋转或位移。
 		</p>
 
 		<h3>[method:Array raycast]( [param:Raycaster raycaster], [param:Array intersects] )</h3>
 		<p>
-		Abstract (empty) method to get intersections between a casted ray and this object.
-		Subclasses such as [page:Mesh], [page:Line], and [page:Points] implement this method in order
-		to use raycasting.
+			抽象(空)方法,用于获取射线与对象的碰撞信息。
+			为使用射线检测,[page:Mesh], [page:Line], [page:Points] 子类实现了该方法。
 		</p>
 
 		<h3>[method:null remove]( [param:Object3D object], ... )</h3>
 		<p>
-		Removes *object* as child of this object. An arbitrary number of objects may be removed.
+			将当前对象下,参数指定的子对象进行删除。该方法可能删除任意多个对象。
 		</p>
 
 		<h3>[method:this rotateOnAxis]( [param:Vector3 axis], [param:Float angle] )</h3>
 		<p>
-		axis -- A normalized vector in object space. <br />
-		angle -- The angle in radians.<br /><br />
+		axis -- 局部坐标系下的归一化向量。 <br />
+		angle -- 以弧度代表的角度信息。<br /><br />
 
-		Rotate an object along an axis in object space. The axis is assumed to be normalized.
+		在局部坐标系下按照参数给定向量对物体进行旋转。参数 axis 为归一化的向量。
 		</p>
 
 		<h3>[method:this rotateOnWorldAxis]( [param:Vector3 axis], [param:Float angle] )</h3>
 		<p>
-		axis -- A normalized vector in world space. <br />
-		angle -- The angle in radians.<br /><br />
+			axis -- 全局坐标系下的归一化向量。 <br />
+			angle -- 以弧度代表的角度信息。<br /><br />
 
-		Rotate an object along an axis in world space. The axis is assumed to be normalized.
-		Method Assumes no rotated parent.
+			在全局坐标系下按照参数给定向量对物体进行旋转。参数 axis 为归一化的向量。
+			该方法不会影响父对象旋转。
 		</p>
 
 		<h3>[method:this rotateX]( [param:Float rad] )</h3>
 		<p>
-		rad - the angle to rotate in radians.<br /><br />
-
-		Rotates the object around x axis in local space.
+			rad - 以弧度代表的旋转角度信息。<br /><br />
+			在局部坐标系下根据参数,绕 x 轴旋转物体。
 		</p>
 
 		<h3>[method:this rotateY]( [param:Float rad] )</h3>
 		<p>
-		rad - the angle to rotate in radians.<br /><br />
-
-		Rotates the object around y axis in local space.
+			rad - 以弧度代表的旋转角度信息。<br /><br />
+			在局部坐标系下根据参数,绕 x 轴旋转物体。
 		</p>
 
 		<h3>[method:this rotateZ]( [param:Float rad] )</h3>
 		<p>
-		rad - the angle to rotate in radians.<br /><br />
-
-		Rotates the object around z axis in local space.
+			rad - 以弧度代表的旋转角度信息。<br /><br />
+			在局部坐标系下根据参数,绕 x 轴旋转物体。
 		</p>
 
 		<h3>[method:null setRotationFromAxisAngle]( [param:Vector3 axis], [param:Float angle] )</h3>
 		<p>
-			axis -- A normalized vector in object space. <br />
-			angle -- angle in radians<br /><br />
+			axis -- 局部坐标系下的归一化向量。 <br />
+			angle -- 以弧度代表的角度信息。<br /><br />
 
-			Calls [page:Quaternion.setFromAxisAngle setFromAxisAngle]( [page:Float axis], [page:Float angle] )
-			on the [page:.quaternion].
+			该方法将会在 [page:.quaternion] 中,调用
+			[page:Quaternion.setFromAxisAngle setFromAxisAngle]( [page:Float axis], [page:Float angle] )。
 		</p>
 
 		<h3>[method:null setRotationFromEuler]( [param:Euler euler] )</h3>
 		<p>
-			euler -- Euler angle specifying rotation amount.<br />
+			euler -- 以欧拉角代表的旋转角度信息。<br />
 
-			Calls [page:Quaternion.setRotationFromEuler setRotationFromEuler]( [page:Euler euler])
-			on the [page:.quaternion].
+			该方法将会在 [page:.quaternion] 中,调用
+			[page:Quaternion.setRotationFromEuler setRotationFromEuler]( [page:Euler euler])。
 		</p>
 
 		<h3>[method:null setRotationFromMatrix]( [param:Matrix4 m] )</h3>
 		<p>
-			m -- rotate the quaternion by the rotation component of the matrix.<br />
+			m -- 按照参数给定矩阵旋转对象四元数。<br />
 
-			Calls [page:Quaternion.setFromRotationMatrix setFromRotationMatrix]( [page:Matrix4 m])
-			on the [page:.quaternion].<br /><br />
+			该方法将会在 [page:.quaternion] 中,调用
+			[page:Quaternion.setFromRotationMatrix setFromRotationMatrix]( [page:Matrix4 m])。<br /><br />
 
-			Note that this assumes that the upper 3x3 of m is a pure rotation matrix (i.e, unscaled).
+			注意,该方法假设参数 m 矩阵的左上 3x3 表示非缩放的旋转信息。
 		</p>
 
 		<h3>[method:null setRotationFromQuaternion]( [param:Quaternion q] )</h3>
 		<p>
-			q -- normalized Quaternion.<br /><br />
+			q -- 归一化的四元数。<br /><br />
 
-			Copy the given quaternion into [page:.quaternion].
+			将参数指定四元数拷贝到 [page:.quaternion]。
 		</p>
 
 		<h3>[method:null toJSON]( [param:Quaternion q] )</h3>
 		<p>
-			Convert the object to JSON format.
+			将对象转化为 JSON 格式。
 		</p>
 
 		<h3>[method:this translateOnAxis]( [param:Vector3 axis], [param:Float distance] )</h3>
 		<p>
-		axis -- A normalized vector in object space.<br />
-		distance -- The distance to translate.<br /><br />
+		axis -- 局部坐标系下的归一化向量。<br />
+		distance -- 需要被位移的距离。<br /><br />
 
-		Translate an object by distance along an axis in object space. The axis is assumed to be normalized.
+		将物体沿参数给定方向移动指定距离。假设方向向量已经被归一化。
 		</p>
 
 		<h3>[method:this translateX]( [param:Float distance] )</h3>
-		<p>Translates object along x axis in object space by *distance* units.</p>
+		<p> 将对象沿 X 轴移动参数 *distance* 指定距离。</p>
 
 		<h3>[method:this translateY]( [param:Float distance] )</h3>
-		<p>Translates object along y axis in object space by *distance* units.</p>
+		<p> 将对象沿 Y 轴移动参数 *distance* 指定距离。</p>
 
 		<h3>[method:this translateZ]( [param:Float distance] )</h3>
-		<p>Translates object along z axis in object space by *distance* units.</p>
+		<p> 将对象沿 Z 轴移动参数 *distance* 指定距离。</p>
 
 		<h3>[method:null traverse]( [param:Function callback] )</h3>
 		<p>
-		callback - A function with as first argument an object3D object.<br /><br />
+		callback - 回调函数,第一个参数为 Object3D 对象。<br /><br />
 
-		Executes the callback on this object and all descendants.
+		在该对象及所有子对象上执行该函数。
 		</p>
 
 		<h3>[method:null traverseVisible]( [param:Function callback] )</h3>
 		<p>
-		callback - A function with as first argument an object3D object.<br /><br />
+		callback - 回调函数,第一个参数为 Object3D 对象。<br /><br />
 
-		Like traverse, but the callback will only be executed for visible objects.
-		Descendants of invisible objects are not traversed.
+			如同 traverse 函数,该函数只会在可见的对象及子对象上被调用。
 		</p>
 
 		<h3>[method:null traverseAncestors]( [param:Function callback] )</h3>
 		<p>
-		callback - A function with as first argument an object3D object.<br /><br />
+		callback - 回调函数,第一个参数为 Object3D 对象。<br /><br />
 
-		Executes the callback on all ancestors.
+		在父对象及所有祖先上被调用。
 		</p>
 
 		<h3>[method:null updateMatrix]()</h3>
-		<p>Update the local transform.</p>
+		<p>更新局部变换矩阵。</p>
 
 		<h3>[method:null updateMatrixWorld]( [param:Boolean force] )</h3>
-		<p>Update the global transform of the object and its children.</p>
+		<p>更新当前对象及子对象的全局变换信息。</p>
 
 
 		<h3>[method:Vector3 worldToLocal]( [param:Vector3 vector] )</h3>
 		<p>
-		vector - A world vector.<br /><br />
+		vector - 全局坐标向量。<br /><br />
 
-		Updates the vector from world space to local space.
+		将参数给定坐标从全局坐标转换为局部坐标。
 		</p>
 
-		<h2>Source</h2>
+		<h2>资源</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 	</body>

+ 41 - 43
docs/api/zh/core/Raycaster.html

@@ -11,20 +11,19 @@
 		<h1>[name]</h1>
 
 		<p class="desc">
-		This class is designed to assist with [link:https://en.wikipedia.org/wiki/Ray_casting raycasting].
-		Raycasting is used for mouse picking (working out what objects in the 3d space the mouse is over) amongst
-		other things.
+			该类被设计为 [link:https://en.wikipedia.org/wiki/Ray_casting raycasting] 类的帮助类。射线检测用于帮助判断用户鼠标
+			在3D空间内选择的物体具体是哪个。(通过检测从摄像机到视锥近平面上鼠标点连线发出的射线,位于3D空间内哪个物体上,从而判断当前
+			用户的选择)。
 		</p>
 
-		<h2>Example</h2>
+		<h2>示例</h2>
 		<code>
 		var raycaster = new THREE.Raycaster();
 		var mouse = new THREE.Vector2();
 
 		function onMouseMove( event ) {
 
-			// calculate mouse position in normalized device coordinates
-			// (-1 to +1) for both components
+			// 将鼠标位置归一化为设备坐标。x 和 y 方向的取值范围是 (-1 to +1)
 
 			mouse.x = ( event.clientX / window.innerWidth ) * 2 - 1;
 			mouse.y = - ( event.clientY / window.innerHeight ) * 2 + 1;
@@ -33,10 +32,10 @@
 
 		function render() {
 
-			// update the picking ray with the camera and mouse position
+			// 通过摄像机和鼠标位置更新射线
 			raycaster.setFromCamera( mouse, camera );
 
-			// calculate objects intersecting the picking ray
+			// 计算物体和射线的焦点
 			var intersects = raycaster.intersectObjects( scene.children );
 
 			for ( var i = 0; i < intersects.length; i++ ) {
@@ -71,7 +70,7 @@
 		</p>
 
 
-		<h2>Constructor</h2>
+		<h2>构造函数</h2>
 
 		<h3>[name]( [param:Vector3 origin], [param:Vector3 direction], [param:Float near], [param:Float far] ) {</h3>
 		<p>
@@ -81,32 +80,32 @@
 		[page:Float far] — All results returned are closer than far. Far can't be lower than near. Default value is Infinity.
 		</p>
 		<p>
-		This creates a new raycaster object.<br />
+			该方法构造一个新的射线对象。<br />
 		</p>
 
 
-		<h2>Properties</h2>
+		<h2>属性</h2>
 
 		<h3>[property:float far]</h3>
 		<p>
-		The far factor of the raycaster. This value indicates which objects can be discarded based on the distance.
-		This value shouldn't be negative and should be larger than the near property.
+			射线的 far 参数。该参数决定射线最远可达范围,超过 far 的物体在检测时可以忽略。
+			该值不能为负,且应该大于 near 参数。
 		</p>
 
 		<h3>[property:float linePrecision]</h3>
 		<p>
-		The precision factor of the raycaster when intersecting [page:Line] objects.
+			当与物体焦时,射线当精确度。
 		</p>
 
 		<h3>[property:float near]</h3>
 		<p>
-		The near factor of the raycaster. This value indicates which objects can be discarded based on the distance.
-		This value shouldn't be negative and should be smaller than the far property.
+			射线的 near 参数。该参数决定射线的最近距离,近于 near 的物体在检测时可以忽略。
+			该值不能为负,且应该小于 far 参数。
 		</p>
 
 		<h3>[property:Object params]</h3>
 		<p>
-		An object with the following properties:
+			该对象拥有如下属性:
 
 			<code>
 {
@@ -121,68 +120,67 @@
 		</p>
 
 		<h3>[property:Ray ray]</h3>
-		<p>The [Page:Ray] used for the raycasting.</p>
+		<p> 射线检测时用到的 [Page:Ray]。</p>
 
 
-		<h2>Methods</h2>
+		<h2>方法</h2>
 
 		<h3>[method:null set]( [param:Vector3 origin], [param:Vector3 direction] )</h3>
 		<p>
-		[page:Vector3 origin] — The origin vector where the ray casts from.<br />
-		[page:Vector3 direction] — The normalized direction vector that gives direction to the ray.
+		[page:Vector3 origin] — 射线的起点坐标。<br />
+		[page:Vector3 direction] — 射线的方向向量,该向量需要被归一化。
 		</p>
 		<p>
-		Updates the ray with a new origin and direction.
+			用参数规定的原点和方向更新射线数据。
 		</p>
 
 		<h3>[method:null setFromCamera]( [param:Vector2 coords], [param:Camera camera] )</h3>
 		<p>
-		[page:Vector2 coords] — 2D coordinates of the mouse, in normalized device coordinates (NDC)---X and Y components should be between -1 and 1.<br />
-		[page:Camera camera] — camera from which the ray should originate
+		[page:Vector2 coords] — 鼠标的被归一化的 2D 坐标(Normalized Device Coordinate)。X 和 Y 的值都应该components should be between -1 and 1。<br />
+		[page:Camera camera] — 射线应该以哪个摄像机作为原点。
 		</p>
 		<p>
-		Updates the ray with a new origin and direction.
+			用参数规定的新原点和方向更新射线数据。
 		</p>
 
 		<h3>[method:Array intersectObject]( [param:Object3D object], [param:Boolean recursive], [param:Array optionalTarget] )</h3>
 		<p>
-		[page:Object3D object] — The object to check for intersection with the ray.<br />
-		[page:Boolean recursive] — If true, it also checks all descendants. Otherwise it only checks intersecton with the object. Default is false.<br />
-		[page:Array optionalTarget] — (optional) target to set the result. Otherwise a new [page:Array] is instantiated. If set, you must clear this array prior to each call (i.e., array.length = 0;).
+		[page:Object3D object] — 用于检测与射线焦的物体。<br />
+		[page:Boolean recursive] — 如果设置为 true, 该方法同样检测所有的子对象与射线的相焦情况。否则,值检测参数指定的物体。默认值为 false。<br />
+		[page:Array optionalTarget] — (可选) 结果存储到指定对象。否则,一个新的队列 [page:Array] 将会被实例化。如果设置了该值, 在调用该函数前,需要清空队列(例如, array.length = 0;)。
 		</p>
 		<p>
-		Checks all intersection between the ray and the object with or without the descendants. Intersections are returned sorted by distance, closest first. An array of intersections is returned...
+			检查对象和射线的所有焦点,如果 recursive 设置为 true,同样检查子对象。焦点结果被保存在队列中,按照焦点的距离排序,最近结果最先返回。
 		</p>
 		<code>
 				[ { distance, point, face, faceIndex, object }, ... ]
 		</code>
 		<p>
-			[page:Float distance] – distance between the origin of the ray and the intersection<br />
-			[page:Vector3 point] – point of intersection, in world coordinates<br />
-			[page:Face3 face] – intersected face<br />
-			[page:Integer faceIndex] – index of the intersected face<br />
-			[page:Object3D object] – the intersected object<br />
-			[page:Vector2 uv] - U,V coordinates at point of intersection
+			[page:Float distance] – 射线原点到焦点的距离<br />
+			[page:Vector3 point] – 世界坐标下的焦点位置<br />
+			[page:Face3 face] – 与射线相交的位置<br />
+			[page:Integer faceIndex] – 与射线相交的面的索引<br />
+			[page:Object3D object] – 与射线相交的对象<br />
+			[page:Vector2 uv] - 与射线相交点的物体的 U,V 坐标
 		</p>
 		<p>
-		*Raycaster* delegates to the [page:Object3D.raycast raycast] method of the passed object, when evaluating whether the ray intersects the object or not. This allows [page:Mesh meshes] to respond differently to ray casting than [page:Line lines] and [page:Points pointclouds].
+		*Raycaster* 当计算射线是否与对象相交时,会代理到对象的 [page:Object3D.raycast raycast] 方法。该方法允许 [page:Mesh meshes] 对射线检测的响应与 [page:Line lines] 和 [page:Points pointclouds] 不同。
 		</p>
 		<p>
-		*Note* that for meshes, faces must be pointed towards the origin of the [page:.ray ray] in order to be detected; intersections of the ray passing through the back of a face will not be detected. To raycast against both faces of an object, you'll want to set the [page:Mesh.material material]'s [page:Material.side side] property to *THREE.DoubleSide*.
+		*Note* 对于被检测的 mesh 的面,其必须朝向 检测射线 [page:.ray ray] 的原点, 否则该面会被忽略。如果想要射线检测到 mesh 中朝向原点和背向原点的面,你需要设置 [page:Mesh.material material] 的 [page:Material.side side] 属性为 *THREE.DoubleSide*。
 		</p>
 
 		<h3>[method:Array intersectObjects]( [param:Array objects], [param:Boolean recursive], [param:Array optionalTarget] )</h3>
 		<p>
-		[page:Array objects] — The objects to check for intersection with the ray.<br />
-		[page:Boolean recursive] — If true, it also checks all descendants of the objects. Otherwise it only checks intersecton with the objects. Default is false.<br />
-		[page:Array optionalTarget] — (optional) target to set the result. Otherwise a new [page:Array] is instantiated. If set, you must clear this array prior to each call (i.e., array.length = 0;).
+		[page:Array objects] — 需要被检测是否与射线碰撞的物体的队列<br />
+		[page:Boolean recursive] — 如果为 true, 检测时除指定对象外,也会递归检测所有子对象。 默认值为 false。<br />
+		[page:Array optionalTarget] — (可选)结果存储到指定对象。否则,一个新的队列 [page:Array] 将会被实例化。如果设置了该值, 在调用该函数前,需要清空队列(例如, array.length = 0;)。
 		</p>
 		<p>
-		Checks all intersection between the ray and the objects with or without the descendants. Intersections are returned sorted by distance, closest first. Intersections are of the same form as those returned by [page:.intersectObject].
+			检查参数队列中的所有对象和当前射线的所有焦点,如果 recursive 设置为 true,同样检查子对象。焦点结果被保存在队列中,按照焦点的距离排序,最近结果最先返回。
 		</p>
 
-
-		<h2>Source</h2>
+		<h2>资源</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 	</body>

+ 25 - 25
docs/api/zh/core/Uniform.html

@@ -10,11 +10,12 @@
 	<body>
 		<h1>[name]</h1>
 
-		<p class="desc">Uniforms are global [link:https://www.opengl.org/documentation/glsl/ GLSL] variables. They are passed to shader programs.
+		<p class="desc">Uniforms 是 [link:https://www.opengl.org/documentation/glsl/ GLSL] 着色器中的全局变量。
 		</p>
 
-		<h3>Example</h3>
+		<h3>示例</h3>
 		<p>
+			在声明一个 [page:ShaderMaterial] 的 Uniform 变量时,该变量被值或对象声明。
 		When declaring a uniform of a [page:ShaderMaterial], it is declared by value or by object.
 		</p>
 		<code>
@@ -24,24 +25,21 @@
 		}
 		</code>
 
-		<h3>Uniform types</h3>
+		<h3>Uniform 种类</h3>
 
 		<p>
-		Each uniform must have a *value* property. The type of the value must correspond to the
-		type of the uniform variable in the GLSL code as specified for the primitive GLSL types
-		in the table below. Uniform structures and arrays are also supported. GLSL arrays of primitive
-		type must either be specified as an array of the corresponding THREE objects or as a flat
-		array containing the data of all the objects. In other words; GLSL primitives in arrays
-		must not be represented by arrays. This rule does not apply transitively.
-		An array of *vec2* arrays, each with a length of five vectors, must be an array of arrays,
-		of either five [page:Vector2] objects or ten *number*s.
+			每个 Uniform 必须包括一个 *value* 属性。value 的类型必须和下表中 GLSL 的基本类型相对应。同样,Uniform 的结构体和队列
+			也是支持的。 GLSL基本类型队列必须要么被显示声明为一个 THREE 对象的队列,要么被声明为一个包含所有对象数据的队列。这就是说,
+			队列中的 GLSL 基础类型不能再是一个队列。举例,一个有 5 个 *vec2* 元素的队列,必须是一个包含 5 个 [page:Vector2] 的队列数组,
+			或包含 10 个 *number* 的队列。
+
 		</p>
 		<table>
-			<caption><a id="uniform-types">Uniform types</a></caption>
+			<caption><a id="uniform-types">Uniform 类型</a></caption>
 			<thead>
 				<tr>
-					<th>GLSL type</th>
-					<th>JavaScript type</th>
+					<th>GLSL 类型</th>
+					<th>JavaScript 类型</th>
 				</tr>
 			</thead>
 			<tbody>
@@ -179,34 +177,36 @@
 		</table>
 
 		<p>
-		(*) Same for an (innermost) array (dimension) of the same GLSL type, containing the components of all vectors or matrices in the array.
+
+		(*) 与最内层队列中 GSLS 的类型保持一致。包含队列中所有矢量的元素或矩阵中的元素。
 		</p>
 
-		<h2>Constructor</h2>
+		<h2>构造函数</h2>
 
 		<h3>[name]( [param:Object value] )</h3>
 		<p>
-		value -- An object containing the value to set up the uniform. It's type must be one of the Uniform Types described above.
+		value -- 包含需要设置 Uniform 数据的对象。 数据类型必须是上述类型中的一种。
 		</p>
 
-		<h2>Properties</h2>
+		<h2>属性</h2>
 
 		<h3>[property:Object value]</h3>
 		<p>
-		Current value of the uniform.
+			当前 uniform 的值。
 		</p>
 
-		<h2>Methods</h2>
+		<h2>方法</h2>
 
 		<h3>[method:Uniform clone]()</h3>
 		<p>
-		Returns a clone of this uniform.<br />
-		If the uniform's value property is an [page:Object] with a clone() method, this is used, otherwise the value is copied by assigment.
-		Array values are shared between cloned [page:Uniform]s.<br /><br />
-		See [example:webgldeferred_animation WebGL deferred animation] for an example of this method in use.
+			返回该 Uniform 的克隆。<br />
+			如果 Uniform 的 value 属性是一个带 clone() 方法的 [page:Object],则克隆该对象时,value 的 clone() 方法也会被调用,否则克隆时只会使用赋值语句。
+			队列中的值会在该 Uniform 和 被克隆对象间共享。<br /><br />
+
+			该方法的使用示例详见 [example:webgldeferred_animation WebGL deferred animation]。
 		</p>
 
-		<h2>Source</h2>
+		<h2>资源</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 	</body>

+ 7 - 7
docs/api/zh/core/bufferAttributeTypes/BufferAttributeTypes.html

@@ -13,7 +13,7 @@
 		<h1>BufferAttribute Types</h1>
 
 		<p class="desc">
-		There are nine types of [page:BufferAttribute] available in three.js. These correspond to the JavaScript
+		在 three.js 中一共有 9 种 [page:BufferAttribute]。每种和 JavaScript 中的类型相对应。
 		[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#Syntax Typed Arrays].
 		</p>
 
@@ -29,7 +29,7 @@
 		THREE.Int8BufferAttribute
 		</code>
 
-		<h2>Constructor</h2>
+		<h2>构造函数</h2>
 
 		All of the above are called in the same way.
 		<h3>TypedBufferAttribute( [param:Array array], [param:Integer itemSize], [param:Boolean normalized] )</h3>
@@ -41,15 +41,15 @@
 			normalized -- (optional) indicates how the underlying data in the buffer maps to the values in the GLSL code.
 		</p>
 
-		<h2>Properties</h2>
+		<h2>属性</h2>
 
-		See the [page:BufferAttribute] page for inherited properties.
+		继承属性详见 [page:BufferAttribute]。
 
-		<h2>Methods</h2>
+		<h2>方法</h2>
 
-		See the [page:BufferAttribute] page for inherited methods.
+		继承方法详见 [page:BufferAttribute]。
 
-		<h2>Source</h2>
+		<h2>资源</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/core/BufferAttribute.js src/core/BufferAttribute.js]
 	</body>