1. 程式人生 > >three.js學習筆記(三)-camera.up屬性探索

three.js學習筆記(三)-camera.up屬性探索

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script src="js/three.js"></script>
<script src="js/OrbitControls.js"></script>
<script>
    var scene=new THREE.Scene();
    scene.background = new
THREE.CubeTextureLoader() .setPath('skyboxCameraTest/') .load(['right.jpg','left.jpg','up.jpg','down.jpg','near.jpg','far.jpg']);//設定天空盒 var camera = new THREE.PerspectiveCamera(80,window.innerWidth/window.innerHeight,1,1000); camera.position.set(0,0,500); camera.up.x=0; camera.up.y=0
; camera.up.z=1var geometry=new THREE.BoxGeometry(300,300,300); var texturecube=scene.background; var material=new THREE.MeshBasicMaterial({envMap:texturecube}); var mesh=new THREE.Mesh(geometry,material); scene.add(mesh); var renderer=new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth,window.innerHeight); document.body.appendChild(renderer.domElement); renderer.render(scene,camera); function
render(){
renderer.render(scene,camera); } render(); var controls=new THREE.OrbitControls(camera);//加入相機控制 controls.addEventListener('change',render); function animate(){ //貼圖(使用圖片)的3D模型需要不斷渲染才能顯示。 requestAnimationFrame(animate); render(); } animate();
</script> </body> </html>

通過調整整個程式中的camera.up引數,發現相機預設up軸與y軸同方向(0,1,0),up軸方向與向量(camera.up.x,camera.up.y,camera.up.z)同方向。即(1,1,0)表示相機右轉45度。(-1,1,0)左轉45度。

(0,1,0)時執行效果圖為:
這裡寫圖片描述

(1,0,0)時執行效果圖為:
這裡寫圖片描述

關於z,此程式中改變沒有什麼變化。