ThreeJS将相机更改为正交

Posted

技术标签:

【中文标题】ThreeJS将相机更改为正交【英文标题】:ThreeJS change camera to orthographic 【发布时间】:2020-11-03 06:42:16 【问题描述】:

react-three-fiber 中的默认相机是透视的,因此我的旋转模型在旋转时会变形。我需要一个正交相机来避免这种情况。 react-three-fiber 文档建议我可以通过在 canvas 模块中包含语句来更改相机:

"orthographic = false          // Creates an orthographic camera if true

但是这个语句不起作用 = 编译器不喜欢等号。

编译器接受以下语句,但失真没有明显差异:

npm 文档没有明确说明以这种方式创建的正交相机将替换现有相机,或创建新相机。

有一个 Set Default Camera 语句

【问题讨论】:

【参考方案1】:

这行得通:

  <Canvas orthographic camera= zoom: 50, position: [0, 0, 100]  >
    <ambientLight /> 
    <pointLight position=[10, 10, 10] />
    <directionalLight intensity=4.16 />
    <Suspense fallback=<Loading />>
      <YourModel />         // replace with name of function which creates your model
    </Suspense>
  </Canvas>

【讨论】:

以上是关于ThreeJS将相机更改为正交的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Threejs 连接到 React?

相机自动旋转threejs

ThreeJS:更新相机 FOV

threejs初探

threejs raycasting - 相机和加载的 obj 模型之间的交集

一个简单的案例,理解threejs中几个基本概念