1

有什么方法可以在 Three.js 中配置相机,以便在 z=0 处渲染 2d 对象(线、平面、图像)时,它不会(从透视角度)渗入其他像素。

前任:

var plane = new THREE.Mesh(new THREE.PlaneGeometry(1, 1), material);
plane.position.x = 4;
plane.position.y = 3;
scene.add(plane);
...
// Get canvas pixel information
context.readPixels(....);

如果您以 readPixels 中的数据为例,我总是发现像素正在渲染到其周围的像素中(例如:3,3,0 可能包含一些颜色信息),但如果绘制的元素是在 z=0 平面上。

4

2 回答 2

0

渲染哪些像素取决于您的相机所在的位置。例如,如果您的相机 tz=1,则会渲染很多像素。如果您将相机移动到 z=1000,那么您会看到,由于透视,您的几何体可能只会渲染 1 个像素。

于 2013-03-01T10:11:48.700 回答
0

您可能想使用THREE.OrthographicCamera2d 的东西而不是THREE.PerspectiveCamera. 这样它们就不会受到透视投影的影响。

于 2013-03-01T11:47:26.410 回答