Three.js Fundamentals starting lesson
基礎
注意,在圖中,相機一半在鏡頭外,一半在鏡頭內。這是爲了表示,在three.js中,與其他對象不同,相機不必在場景中發揮作用。就像其他對象一樣,Camera作爲其他對象的子對象,將相對於其父對象移動和定向。在關於場景的文章末尾有一個將多個Camera對象放入場景中的例子。
網格(Mesh)對象表示用特定的材質繪製特定的幾何體。材質對象和幾何對象都可以被多個網格對象使用。例如,要在不同的位置繪製兩個藍色立方體,我們可能需要兩個網格對象來表示每個立方體的位置和方向。我們只需要一個幾何體來保存立方體的頂點數據,我們只需要一個材質來指定藍色。兩個網格對象都可以引用相同的幾何對象和相同的材質對象。
Mesh表示三個東西的組合:
- 一個Geometry,描述對象形狀;
- 一個Material,描述如何繪製對象,光澤或平坦,什麼顏色,應用什麼紋理等。
- 該對象在場景中相對於其父對象的位置、方向和比例。在下面的代碼中,父節點是場景。
幾何對象(Geometry)表示一些幾何圖形的頂點數據,如球體、立方體、平面、狗、貓、人、樹、建築等。js提供了多種內建的幾何原語。您還可以創建自定義幾何圖形以及從文件加載幾何圖形。
const camera = new THREE.PerspectiveCamera(fov, aspect, near, far);
這四個設置定義了一個“截錐體(frustum)”。截錐體是一種3d形狀的名稱,它就像一個尖端被切掉的金字塔。換句話說,把“截錐體”這個詞想象成另一個3D形狀,比如球體、立方體、棱鏡、截錐體。
Responsive Design
https://threejs.org/manual/#en/responsive
就是講展示區怎麼去適應各種不同頁面而不畸形。