[ThreeJS] 初心者入門 (七) ─ 控制器 OrbitControls

Heko
小彥彥的前端五四三
2 min readDec 23, 2019

還記得[ThreeJS] 初心者入門 (五) ─ 材質 Material 應用裡的可愛羊咩咩模型嗎?

這篇我們就加上 OrbitControls:軌道控制器,透過拖移及縮放調整相機位置,讓畫面旋轉縮放吧!

首先OrbitControls是額外的函式庫,所以需要引入以下檔案:

https://threejs.org/examples/js/controls/OrbitControls.js

OrbitControls是軌道控制器,他的設置算是比較簡單的,程式碼如下:

camera = new THREE.PerspectiveCamera(65, window.innerWidth / window.innerHeight, 0.5, 1000); //建立鏡頭renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true }); //建立渲染器controls = new THREE.OrbitControls(camera, renderer.domElement); //建立控制 讓鏡頭旋轉

這樣就這置完成了,很簡單。但是其實OrbitControls還是有很多細部的屬性可以設定選擇:

controls.enableZoom = true; //啟用縮放
controls.enableDamping = true; // 啟用阻尼效果
controls.dampingFactor = 0.25; // 阻尼系數
controls.autoRotate = true; //啟用自動旋轉

這邊特別要提autoRotate這個屬性,如果要使用自動旋轉這屬性,必須要在render() 處做 update 才會有效果:

function render() {
controls.update() // 自動旋轉 需設定 update
renderer.render( scene, camera );
}

加上控制器後小羊項展示品一樣自動旋轉展示:

--

--