三个js对象的单位是什么?

问题描述 投票:7回答:2
var camera = new THREE.PerspectiveCamera(
    35,         // Field of view
    800 / 640,  // Aspect ratio
    .1,         // Near
    10000       // Far
);

var cube = new THREE.Mesh(
    new THREE.CubeGeometry( 5, 5, 5 ),
    new THREE.MeshLambertMaterial( { color: 0xFF0000 } )
);

在相机中,Near和Far参数的单位是多少。

在Cube中,CubeGeometry的参数单位是多少

请指出我在哪里,我可以找到有关的详细信息

对象空间 - (用于绘制对象的局部轴)世界空间 - (全局轴)

three.js
2个回答
11
投票

很确定这些参数是OpenGL中的单位。如果你看一下OpenGL红皮书,请参阅第3章中的每一本

http://www.glprogramming.com/red/chapter03.html

这里有一个简短的段落:

前一段提到英寸和毫米 - 这些与OpenGL有什么关系吗?答案是,总之,没有。投影和其他变换本质上是无单位的。如果你想将近和远剪裁平面看作1.0和20.0米,英寸,公里或联盟,那取决于你。唯一的规则是您必须使用一致的度量单位。然后按比例绘制得到的图像。

所以要回答你的问题,单位是你认为应该是什么,它们是纯粹的相对规模。


6
投票

官方答案是ThreeJS使用SI单位进行所有测量,请参见此处:

https://github.com/mrdoob/three.js/issues/6259

© www.soinside.com 2019 - 2024. All rights reserved.