我正在使用three.js并了解相机和渲染工作的方式。目前我正在构建拖动和调整three.js绘制的画布的能力。
我希望能够拖动并调整画布大小,而不会让场景变大。因此,更大的画布会显示更多场景,而不是更大的场景。
答案 0 :(得分:1)
如果你仍然在寻找一个解决方案,那么这就是你想要实现的目标:http://jsfiddle.net/psyrendust/8nbpehj3/(我没有这个小提琴)
您需要使用视野:
// remember these initial values
var tanFOV = Math.tan( ( ( Math.PI / 180 ) * camera.fov / 2 ) );
var windowHeight = window.innerHeight;
// Event Listeners
window.addEventListener( 'resize', onWindowResize, false );
function onWindowResize( event ) {
camera.aspect = window.innerWidth / window.innerHeight;
// adjust the FOV
camera.fov = ( 360 / Math.PI ) * Math.atan( tanFOV * ( window.innerHeight / windowHeight ) );
camera.updateProjectionMatrix();
camera.lookAt( scene.position );
renderer.setSize( window.innerWidth, window.innerHeight );
renderer.render( scene, camera );
}
希望这有帮助。