一個基本的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三維場景立方體” 的相關文章

html a標簽target屬性

html a標簽target屬性

HTML語言中的標簽用於定義超鏈接。其中,標簽有一個屬性叫做target,它用於指定鏈接在何處打開。目前,標簽的target屬性有以下四個取值:- _self:鏈接會在當前窗口中打開(默認值),這意味著打開新的文檔或資源時,頁面會在當前瀏覽器窗口中重新加載,並將新文檔或資源顯示在當前窗口中。基於以上講解,編寫標簽鏈接的代碼並使用target屬性指定打開方式的實例:< a href="htpps://sn.qunapu.com" target="_blank">打開示例網站。這段代碼表示鏈接將在新的瀏覽器窗口或標簽頁中打開,能夠實現用戶在訪問完畢後仍能保留原有瀏覽器窗口內容的體驗。…

mark點怎麼設置及設置例子

mark點怎麼設置及設置例子

mark 元素用於標記或高亮文本,非常適合用於文本搜索和結果導航。要在文本中使用 mark 元素,只需要將需要高亮的文本放在 mark 元素內即可。通常情況下,瀏覽器默認為高亮文本設置為黃色。 .highlight {    background-color: lightblue;    color: white;  }```上述代碼會將 mark 元素的背景顏色設置為淺藍色,文本顏色設置為白色。根據實際需要,您可以將顏色更改為您想要的顏色。…

css高亮效果,CSS 創建不同高亮效果具體方法及例子

css高亮效果,CSS 創建不同高亮效果具體方法及例子

CSS 可以為  元素創建各種不同的高亮效果,具體方法如下:1. 使用默認的高亮樣式。可以通過樣式修改  元素的背景色和文本顏色,實現自定義高亮效果,例如:```html這是一段需要高亮的文本,這裏面的文本被自定義高亮了,這裏又是正常的文本。.highlight {  position: relative;}.highlight::before {  content: "";  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;  background-color: lightgreen;  opacity: 0.5;  z-index: -1;}```上述代碼會將  元素的文本區域覆蓋上高亮色,實現了高亮效果。…

一個簡單的 HTML5 導航菜單的示例代碼

一個簡單的 HTML5 導航菜單的示例代碼

以下是一個簡單的 HTML5 導航菜單的示例代碼,這個導航菜單使用了 HTML5 中的 `nav` 標簽來包裝整個菜單,使用了 Flex 布局來對菜單進行布局和對齊,同時也設置了一些簡單的樣式來美化菜單。…

一個簡單的html放煙花特效的代碼

一個簡單的html放煙花特效的代碼

以下是一個簡單的html放煙花特效的代碼,代碼說明:1. 使用html和css定義了一個煙花的基本樣式;2. 使用javascript動態生成多個煙花元素,並使用animation讓其展開,模擬煙花爆炸效果;3. 使用setTimeout函數控制煙花爆炸持續時間,並使用setInterval控制煙花爆炸的觸發時間間隔。…

星空特效的HTML代碼示例

星空特效的HTML代碼示例

以下是一個星空特效的HTML代碼示例:這個代碼會在頁面背景中生成100個閃爍的星星,使得整個頁面看起來像是夜空中的星空。可以在瀏覽器中運行查看效果。這些代碼可以在瀏覽器中運行並產生相應的星空特效。…