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

时间:2012-07-08 20:04:23

标签: three.js

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的参数单位是什么

请指出我在哪里,我可以找到有关

的详细信息

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

2 个答案:

答案 0 :(得分:11)

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

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

这里有一个简短的段落:

  

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

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

答案 1 :(得分:6)

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

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