在我的 three.js 项目中,我像这样设置我的场景和相机: var container = document.getElementById('container'); renderer = new THREE.WebGLRenderer({ antialias: true }); renderer.setPixelRatio(window.devicePixelRatio); renderer.setSize(window.innerWidth, window.innerHeight); renderer.setAnimationLoop(render); renderer.outputEncoding = THREE.sRGBEncoding; renderer.toneMapping = THREE.ACESFilmicToneMapping; renderer.toneMappingExposure = 1.25; container.appendChild(renderer.domElement); window.addEventListener('resize', onWindowResize, false); stats = new Stats(); container.appendChild(stats.dom); // camera = new THREE.PerspectiveCamera(40, window.innerWidth / window.innerHeight, 0.1, 100); camera.position.set(3.5, 2, - 2.5); controls = new OrbitControls(camera, container); controls.target.set(0, 0.5, 0); controls.update(); scene = new THREE.Scene(); scene.background = new THREE.Color(0xeeeeee); scene.environment = new RoomEnvironment(renderer); scene.fog = new THREE.Fog(0xeeeeee, 10, 50); ...好吧,我的场景是这样开始的:我想开始加倍我的对象,像这样:我尝试:camera.zoom.set(2);但什么也没发生所以我尝试定义一个vector3(2,2,2)并缩放我的对象:myobj.scale.set(myVector3);没有什么。有人可以帮助我用更大的对象开始我的场景吗?
1 回答
隔江千里
TA贡献1906条经验 获得超10个赞
如果你这样做:
camera.zoom.set(2);
您必须确保像这样更新项目矩阵:
camera.updateProjectionMatrix();
关于另一个问题,Vector3.set()
只接受三个标量作为参数。您不能将该方法与 type 的单个参数一起使用Vector3
。所以你可以这样做:
myobj.scale.set(myVector3.x, myVector3.y, myVector3.z);
甚至更好:
myobj.scale.copy(myVector3);
添加回答
举报
0/150
提交
取消