为了账号安全,请及时绑定邮箱和手机立即绑定

Three.js - 正交相机

Three.js - 正交相机

慕雪6442864 2019-09-03 17:01:27
我正在开发一款展示3D模型的应用程序。我们加载模型,创建网格,将它们添加到场景......标准程序。添加最后一个网格后,我们计算边界框以移动相机并覆盖所有场景,使用总几何的大小和视口的大小来进行数学运算。    if (bounds.bx / bounds.by < camera.aspect) {        /* Vertical max */        r = bounds.by / (2 * Math.tan(Math.PI / 8));    } else {        /* Horizontal max */        hFOV = 2 * Math.atan(Math.tan(Math.PI / 8) * camera.aspect);        r = bounds.bx / (2 * Math.tan((hFOV / 2)));    }bounds是包含边界框宽度和高度的对象。在这个计算之后,我们移动相机(加上一点比例,只是美学,我们想要在几何和屏幕边框之间有一点空间:))并渲染    camera.position.z = r * 1.05;到目前为止,这已实施并运行正常。这已经通过PerspectiveCamera完成。现在我们要改变它并使用OrthographicCamera ......结果是一团糟。模型太小,我们失去了TrackBall控件的鼠标滚轮缩放功能,移动相机的算法不再适用。另外我不明白摄像机构造函数的参数......这些宽度和高度是几何体还是视口?
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 573 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信