three.js學習筆記(三)-camera.up屬性探索
阿新 • • 發佈:2019-02-15
<!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=1;
var 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,此程式中改變沒有什麼變化。