一個基本的three.js三維場景立方體

以下是一個基本的three.js三維場景,使用HTML和JavaScript編寫。下面的代碼創建了一個簡單的立方體並呈現在窗口中:

 

一個基本的three.js三維場景立方體

<!DOCTYPE html>
<html>
  <head>
    <title>Three.js Demo</title>
    <style>
      body { margin: 0; }
      canvas { width: 100%; height: 100%; }
    </style>
  </head>
  <body>
    <script src="https://dm.qunapu.com/threejs/build/three.min.js"></script>
    <script>
      // 創建場景
      var scene = new THREE.Scene();
      // 創建相機
      var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
      // 創建渲染器
      var renderer = new THREE.WebGLRenderer();
      renderer.setSize(window.innerWidth, window.innerHeight);
      document.body.appendChild(renderer.domElement);
      // 創建立方體
      var geometry = new THREE.BoxGeometry();
      var material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
      var cube = new THREE.Mesh(geometry, material);
      scene.add(cube);
      // 設置相機位置
      camera.position.z = 5;
      // 渲染場景
      function animate() {
        requestAnimationFrame(animate);
        cube.rotation.x += 0.01;
        cube.rotation.y += 0.01;
        renderer.render(scene, camera);
      }
      animate();
    </script>
  </body>
</html>

 

在這個例子中,我們創建了一個簡單的場景,其中包含一個綠色立方體並通過渲染器呈現在窗口中。下面是代碼中的每個組件的解釋:

 

- `THREE.Scene()`: 用於創建場景對象。

 

- `THREE.PerspectiveCamera(fov, aspect, near, far)`: 用於創建透視投影相機。fov參數是相機的視角,aspect參數是視口的寬高比,near參數是相機到近平面的距離,far參數是相機到遠平面的距離。

 

- `THREE.WebGlRenderer()`: 用於創建WebGL渲染器,它將呈現場景和相機中的三維對象。

 

- `THREE.BoxGeometry()`: 用於創建一個立方體幾何體對象,它由6個面組成。

 

- `THREE.MeshBasicMaterial({ color: 0x00ff00 })`: 用於創建mesh基礎材質對象,可以設置顏色或貼圖等特性。

 

- `THREE.Mesh(geometry, material)`: 用於將幾何體與材質組合成一個mesh對象。

 

- `scene.add(cube)`: 將mesh對象添加到場景中。

 

- `camera.position.z = 5`: 將相機的z軸位置設置為5,使其與立方體的距離為5個單位長度。

 

- `renderer.render(scene, camera)`: 這是我們常規地將場景和鏡頭傳遞給渲染器來呈現場景的方式。

 

- `animate()`: 創建一個遞歸調用函數,在渲染每一幀時可以執行額外的邏輯代碼。在這個例子中,我們旋轉立方體並再次渲染場景的方法。

 

上面這些代碼將顯示一個綠色的立方體,並且當您在窗口中轉動時,立方體也會相應地旋轉。註意,示例僅用於顯示基本用例,three.js具有更廣泛的工具箱,可以使用光源、紋理、動畫、特效等擴展示例。

效果圖截圖:

分享給朋友:

“一個基本的three.js三維場景立方體” 的相關文章

視頻嵌入代碼,簡單的 video 嵌入代碼例子

視頻嵌入代碼,簡單的 video 嵌入代碼例子

視頻嵌入代碼,簡單的 video 嵌入代碼例子:- height:視頻高度。- controls:為 true 時,添加視頻控制條。- source:指定視頻文件路徑和類型,可支持多種類型。- Your browser does not support the video tag:如果用戶的瀏覽器不…

JS跳轉頁面代碼及例子

JS跳轉頁面代碼及例子

JS跳轉頁面是一種很常見的前端交互技術,下面是幾種跳轉頁面的方式:1. 直接修改 `window.location.href` 屬性,2. 使用 `window.location.replace` 方法,此方法會替換當前頁面歷史記錄,不會在瀏覽器歷史記錄中留下痕跡。3. 使用 `window.ope…

一個簡單的html結婚特效的代碼

一個簡單的html結婚特效的代碼

以下是一個簡單的html結婚特效的代碼:1. 使用html和css定義了一個結婚的基本樣式;2. 分別定義新娘和新郎,並使用background-image設置其背景圖;3. 定義一個心形圖案,並使用animation讓其跳動。…

學習html網頁制作模板代碼怎麼寫

學習html網頁制作模板代碼怎麼寫

HTML網頁制作模板代碼是用來定義網頁結構、內容和樣式的基礎代碼。以下是一個簡單的HTML網頁制作模板代碼的示例。通過這個模板代碼,你可以定義一個基本的網頁結構,以及樣式和導航等元素,讓你的網頁更加美觀和易於導航。通過這個適應式的模板代碼,你的網頁能夠在不同設備的屏幕上具有更好的用戶體驗,適應不同的…

html5自學教程步驟及代碼例子

html5自學教程步驟及代碼例子

HTML5是最新的HTML標準,具有更多的功能和特性,讓網頁的制作更加靈活和多樣化。以下是HTML5自學教程的一些步驟:1. 學習HTML基礎知識。在深入學習HTML5之前,你需要先學習HTML的基礎知識,包括HTML文件結構、標簽、屬性和元素等。2. 熟悉HTML5的新特性。HTML5相比於之前的…

java的四種訪問權限及示例代碼

java的四種訪問權限及示例代碼

Java的四種訪問權限如下:1. public(公有的):公有成員可以被任何類和方法訪問,不受訪問限制。在Java中,一個類只能有一個public類,且與文件名一致。2. protected(受保護的):被保護的成員可以被繼承子類或者同一包中的其他類訪問,但不能被其他類訪問。3. default(默…