فهرست منبع

some grammar errors are fixed.

gogoend 6 سال پیش
والد
کامیت
030c6d134d
1فایلهای تغییر یافته به همراه13 افزوده شده و 13 حذف شده
  1. 13 13
      docs/manual/zh/introduction/Creating-a-scene.html

+ 13 - 13
docs/manual/zh/introduction/Creating-a-scene.html

@@ -10,11 +10,11 @@
 	<body>
 	<body>
 		<h1>创建一个场景([name])</h1><br />
 		<h1>创建一个场景([name])</h1><br />
 
 
-		<p>这一部分的目标是对three.js来做一个简要的介绍。我们将建立一个包含有旋转立方体的场景来开始这一部分。为了防止你遇到麻烦或者需要帮助,一个已经完成的例子在可以在页面下方找到。</p>
+		<p>这一部分将对three.js来做一个简要的介绍。在这一部分里,我们将以搭建一个包含有旋转立方体的场景。在页面下方有一个已经完成的例子,当你遇到麻烦,或者需要帮助的时候,可以看一看。</p>
 
 
 		<h2>开始之前</h2>
 		<h2>开始之前</h2>
 		<p>
 		<p>
-		在你开始使用three.js之前,你需要一个地方来显示它;将下列HTML代码保存为你电脑上的一个HTML页面,同时将[link:https://threejs.org/build/three.js three.js]复制到js/目录下,然后在你的浏览器中打开这个页面
+			在你开始使用three.js之前,你需要一个地方来显示它。将下列HTML代码保存为你电脑上的一个HTML文件,同时将[link:https://threejs.org/build/three.js three.js]复制到该HTML文件所在的目录下的js/目录下,然后在你的浏览器中打开这个HTML文件
 		</p>
 		</p>
 		<code>
 		<code>
 		&lt;!DOCTYPE html&gt;
 		&lt;!DOCTYPE html&gt;
@@ -51,7 +51,7 @@
 		document.body.appendChild( renderer.domElement );
 		document.body.appendChild( renderer.domElement );
 		</code>
 		</code>
 
 
-		<p>在这儿我们花一点点时间来解释一下这儿发生了什么。我们现在建立了场景、相机和渲染器。</p>
+		<p>我们花一点点时间来解释一下这里发生了什么。我们现在建立了场景、相机和渲染器。</p>
 
 
 		<p>three.js里有几种不同的相机,在这里,我们使用的是<strong>PerspectiveCamera</strong>(透视摄像机)。</p>
 		<p>three.js里有几种不同的相机,在这里,我们使用的是<strong>PerspectiveCamera</strong>(透视摄像机)。</p>
 
 
@@ -63,9 +63,9 @@
 
 
 		<p>接下来是渲染器。这里是施展魔法的地方。除了我们在这里用到的WebGLRenderer渲染器之外,Three.js同时提供了其他几种渲染器,当用户所使用的浏览器过于老旧,或者由于其他原因不支持WebGL时,可以使用这几种渲染器进行降级。</p>
 		<p>接下来是渲染器。这里是施展魔法的地方。除了我们在这里用到的WebGLRenderer渲染器之外,Three.js同时提供了其他几种渲染器,当用户所使用的浏览器过于老旧,或者由于其他原因不支持WebGL时,可以使用这几种渲染器进行降级。</p>
 
 
-		<p>除了创建一个渲染器的实例之外,我们还需要在我们的应用程序里设置一个渲染器的大小尺寸。比如说,我们可以使用所需要的这个渲染区域的宽高,来将渲染器渲染出的场景,使其填充满我们的应用程序。因此,我们可以将渲染器宽高设置为浏览器窗口宽高。 对于性能比较敏感的应用程序来说,你可以给<strong>setSize</strong>传入一个较小的值,例如<strong>window.innerWidth/2</strong>和<strong>window.innerHeight/2</strong>,这将使得app在渲染时以一半的长宽尺寸渲染场景。</p>
+		<p>除了创建一个渲染器的实例之外,我们还需要在我们的应用程序里设置一个渲染器的大小尺寸。比如说,我们可以使用所需要的渲染区域的宽高,来让渲染器渲染出的场景填充满我们的应用程序。因此,我们可以将渲染器宽高设置为浏览器窗口宽高。对于性能比较敏感的应用程序来说,你可以给<strong>setSize</strong>传入一个较小的值,例如<strong>window.innerWidth/2</strong>和<strong>window.innerHeight/2</strong>,这将使得应用程序在渲染时,以一半的长宽尺寸渲染场景。</p>
 
 
-		<p>如果你希望保持你的应用程序的尺寸,但是以较低的分辨率来渲染,你可以在调用<strong>setSize</strong>时,给<strong>updateStyle</strong>(第三个参数)传入false。例如, 假设你的&lt;canvas&gt; 标签具有了100%的宽和高,<strong>setSize(window.innerWidth/2, window.innerHeight/2, false)</strong>将使得你的应用程序以一半的分辨率来进行渲染。</p>
+		<p>如果你希望保持你的应用程序的尺寸,但是以较低的分辨率来渲染,你可以在调用<strong>setSize</strong>时,给<strong>updateStyle</strong>(第三个参数)传入false。例如,假设你的&lt;canvas&gt; 标签现在已经具有了100%的宽和高,调用<strong>setSize(window.innerWidth/2, window.innerHeight/2, false)</strong>将使得你的应用程序以一半的分辨率来进行渲染。</p>
 
 
 		<p>最后,我们将<strong>renderer</strong>(渲染器)这个元素添加到我们的HTML文档中,这也就是渲染器使用&lt;canvas&gt;元素来将场景展现给我们。</p>
 		<p>最后,我们将<strong>renderer</strong>(渲染器)这个元素添加到我们的HTML文档中,这也就是渲染器使用&lt;canvas&gt;元素来将场景展现给我们。</p>
 
 
@@ -82,15 +82,15 @@
 
 
 		<p>要创建一个立方体,我们需要一个<strong>BoxGeometry</strong>(立方体)对象. 这个对象包含了一个立方体中所有的顶点(<strong>vertices</strong>)和面<strong>faces</strong>。未来我们将在这方面进行更多的探索。</p>
 		<p>要创建一个立方体,我们需要一个<strong>BoxGeometry</strong>(立方体)对象. 这个对象包含了一个立方体中所有的顶点(<strong>vertices</strong>)和面<strong>faces</strong>。未来我们将在这方面进行更多的探索。</p>
 
 
-		<p>接下来,对于这个立方体,我们需要给它一个材质来让它有颜色。Three.js自带了几种材质,但在这里我们使用的是<strong>MeshBasicMaterial</strong>。所有的材质是一个将应用于立方体的属性对象。 简单起见, 我们在这里只应用一个color属性,值为<strong>0x00ff00</strong>,也就是绿色。这里所做的事情就相当于在CSS或者Photoshop里使用十六进制(<strong>hex colors</strong>)的颜色格式来设置颜色。</p>
+		<p>接下来,对于这个立方体,我们需要给它一个材质来让它有颜色。Three.js自带了几种材质,但在这里我们使用的是<strong>MeshBasicMaterial</strong>。所有的材质是都一个将会被应用于立方体的属性对象。在这里为了简单起见,我们只设置一个color属性,值为<strong>0x00ff00</strong>,也就是绿色。这里所做的事情,就相当于是在CSS或者Photoshop中使用十六进制(<strong>hex colors</strong>)的颜色格式来设置颜色。</p>
 
 
-		<p>第三步,我们需要一个<strong>Mesh</strong>(网格)。 网格是包含有一个几何体以及应用在在此几何体上的材质的对,我们可以直接将网格对象插入到我们的场景中,并在其中自由移动。</p>
+		<p>第三步,我们需要一个<strong>Mesh</strong>(网格)。 网格是包含有一个几何体以及应用在在此几何体上的材质的对象,我们可以直接将网格对象放入到我们的场景中,并让它在场景中自由移动。</p>
 
 
-		<p>默认情况下,当我们调用<strong>scene.add()</strong>的时候,物体将会被添加到坐标为<strong>(0,0,0)</strong>的位置。可或许会使得摄像机的位置和立方体相互重叠(也就是摄像机位于立方体中)。为了防止这种情况的发生,我们只需要将摄像机稍微向外移动一些。</p>
+		<p>默认情况下,当我们调用<strong>scene.add()</strong>的时候,物体将会被添加到坐标为<strong>(0,0,0)</strong>的位置。但这可能会使得摄像机的位置和立方体相互重叠(也就是摄像机位于立方体中)。为了防止这种情况的发生,我们只需要将摄像机稍微向外移动一些即可。</p>
 
 
 		<h2>渲染场景</h2>
 		<h2>渲染场景</h2>
 
 
-		<p>在此之前,如果你从上面复制了我们已经写好的代码到一个HTML文件中,你将不会在其中看到任何东西。这是因为我们还没有对它进行真正的渲染。为此,我们需要调用一个所谓“<strong>渲染</strong>”或者“<strong>动画循环</strong>”的东西。</p>
+		<p>在,如果你已经从上面复制了我们已经写好的代码到HTML文件中,你将不会在其中看到任何东西。这是因为我们还没有对它进行真正的渲染。为此,我们需要调用一个被叫做“<strong>渲染</strong>”或者“<strong>动画循环</strong>”的东西。</p>
 
 
 		<code>
 		<code>
 		function animate() {
 		function animate() {
@@ -100,21 +100,21 @@
 		animate();
 		animate();
 		</code>
 		</code>
 
 
-		<p>在这里我们创建了一个循环——这使得渲染器能够在每次屏幕刷新时对场景进行绘制(在大多数屏幕上,刷新率一般是60次/秒)。如果你正在浏览器里写一个游戏,你或许会说<em>“为什么我们不直接用setInterval来实现刷新的功能呢?”</em>当然啦,我们的确可以用setInterval,但是,<strong>requestAnimationFrame</strong>有很多的优点。最重要的一点或许是当用户切换到其它的标签页时,它会暂停,因此不会浪费用户宝贵的处理器资源以及损耗电池的寿命。</p>
+		<p>在这里我们创建了一个循环——这使得渲染器能够在每次屏幕刷新时对场景进行绘制(在大多数屏幕上,刷新率一般是60次/秒)。如果你正在浏览器里写一个游戏,你或许会说<em>“为什么我们不直接用setInterval来实现刷新的功能呢?”</em>当然啦,我们的确可以用setInterval,但是,<strong>requestAnimationFrame</strong>有很多的优点。最重要的一点或许是当用户切换到其它的标签页时,它会暂停,因此不会浪费用户宝贵的处理器资源以及损耗电池的使用寿命。</p>
 
 
 		<h2>使立方体动起来</h2>
 		<h2>使立方体动起来</h2>
 
 
 		<p>
 		<p>
-			 在开始之前,如果你已经将上面的代码写入到了你所创建的文件中,你应当已经可以看到一个绿色的盒子。让我们来做一些更加有趣的事——让它旋转起来。</p>
+			在开始之前,如果你已经将上面的代码写入到了你所创建的文件中,你应当已经可以看到一个绿色的立方体。让我们来做一些更加有趣的事——让它旋转起来。</p>
 
 
-		<p>将下列代码加到animate()函数中,位于<strong>renderer.render</strong>调用的上方:</p>
+		<p>将下列代码加到animate()函数中<strong>renderer.render</strong>调用的上方:</p>
 
 
 		<code>
 		<code>
 		cube.rotation.x += 0.01;
 		cube.rotation.x += 0.01;
 		cube.rotation.y += 0.01;
 		cube.rotation.y += 0.01;
 		</code>
 		</code>
 
 
-		<p>这将在渲染每一帧时被调用(正常情况下时60次/秒),使得立方体有了一个看起来很不错的旋转动画。基本上来说,在应用程序运行时,你想要移动或者改变任何东西,都必须要经过这个动画循环。当然你也可以在这里调用其它函数,这样你在写<strong>animate</strong>函数的时候,就不用以成千上万行代码而结尾了。</p>
+		<p>这一段代码将在每一帧时被渲染时调用(正常情况下是60次/秒),这就让立方体有了一个看起来很不错的旋转动画。基本上来说,当应用程序运行时,如果你想要移动或者改变任何场景中的东西,都必须要经过这个动画循环。当然,在这个动画循环函数里,你也可以调用别的函数,这样你在写<strong>animate</strong>函数的时候,这样你在写animate函数的时候,就不用在这里以成千上万的代码来结尾了。</p>
 
 
 		<h2>结果</h2>
 		<h2>结果</h2>
 		<p>祝贺你!你现在已经成功完成了你的第一个Three.js应用程序。它现在很简单, 你现在已经有了一个起点。</p>
 		<p>祝贺你!你现在已经成功完成了你的第一个Three.js应用程序。它现在很简单, 你现在已经有了一个起点。</p>