javascript Three.js - 设置相机位置
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/21894607/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-27 21:55:19 来源:igfitidea点击:
Three.js - Set Camera position
提问by Apalabrados
I'm struggling to guess how can I get any object loaded covering almost the full width and height of the canvas.
我正在努力猜测如何加载几乎覆盖画布整个宽度和高度的任何对象。
<script>
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );
var renderer = new THREE.WebGLRenderer();
var loader = new THREE.STLLoader();
var mesh;
renderer.setClearColor(0xFFFFFF, 1);
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
loader.addEventListener( 'load', function ( event ) {
var geometry = event.content;
var redPhongMaterial = new THREE.MeshPhongMaterial({ color: 0xFFEA32, side: THREE.DoubleSide, ambient:0x000000});
mesh = new THREE.Mesh( geometry, redPhongMaterial )
mesh.castShadow = true;
mesh.receiveShadow = true;
geometry.computeBoundingBox();
var boundingBox = mesh.geometry.boundingBox.clone();
drawBoundingBox(boundingBox, mesh.scale.x, mesh.scale.y, mesh.scale.z);
mesh.translateX (0);
mesh.translateY (0);
mesh.translateZ (0);
scene.add( mesh );
} );
loader.addEventListener( 'progress', function ( event ) {
document.getElementById('progress').innerHTML = 'Progress: '+event.loaded+'%';
});
loader.addEventListener( 'error', function ( event ) {
alert( event.message );
});
loader.load( 'pet.stl' );
camera.position.set( 15, -10, 120 );
render();
function render() {
requestAnimationFrame(render);
renderer.render(scene, camera);
}
</script>
I think I should set camera position to a certainly x, y and z but do not know.
我想我应该将相机位置设置为肯定的 x、y 和 z 但不知道。
How can I accomplish this?
我怎样才能做到这一点?
回答by Chiedo
camera.position.set(0,0,Math.max(x*3,ys*3,z*3));