初始化渲染器(畫布): var renderer = new THREE.WebGLRenderer({});
① 設置畫布大小、顏色、位置等參數
② 嵌入畫布到頁面中:document.body.appendChild(renderer.domElement);
初始化場景和相機:
① 初始化場景:var scene = new THREE.Scene();
② 初始化相機:var camera = new THREE.Camera();
③ 在場景中添加相機:scene.add(camera);
處理arToolkitSource:
① var arToolkitSource = new THREEx.ArToolkitSource({sourceType: ‘webcam’}); 從網絡攝像機讀取
② arToolkitSource.init(function onReady() {onResize()}) 和 window.addEventListener(‘resize’, function () {onResize()}):監聽頁面並調整大小
初始化arToolkitContext:
① var arToolkitContext = new THREEx.ArToolkitContext({cameraParametersUrl: 加載相機參數})
② 將投影矩陣複製到相機
③ 在每一幀上更新artoolkit,更新scene.visible(如果看到標記),scene.visible = camera.visible;
創建ArMarkerControls,創建標記控制
① 初始化相機控制:當我們控制相機時,設置矩陣模式:‘攝像機變換矩陣’(changeMatrixMode: ‘cameraTransformMatrix’)
② 正如我們所做的更改matrixmode:‘cameraTransformMatrix’,從不可見的場景開始:scene.visible = false
在場景中添加對象 (通過three.js可以加載多種類型的模型,如fbx等)
渲染模型到頁面上
① renderer.render(scene, camera);
② requestAnimationFrame(animate);