[]摄像机不在原点的时候3D空间转2D空间会失效?

我参考引擎范例里的“照相机--3D空间转2D空间”实现了一下3D坐标转2D坐标,过程如下:
this.point.elements[0] = Laya.stage.mouseX;
this.point.elements[1] = Laya.stage.mouseY;

this.camera.viewportPointToRay(this.point, this.ray);
Laya.Physics.rayCast(this.ray, this._outHitInfo)
然后:
this.camera.viewport.project(this._outHitInfo.position, this.camera.projectionViewMatrix, this._outPos);

var x = this._outPos.x / Laya.stage.clientScaleX;
var y = this._outPos.y / Laya.stage.clientScaleY;

console.log("x = ", x, "y = ", y);
但是发现,当摄像机在原点的时候,上述转换没有任何问题,而摄像机不在原点的时候,上述转换的结果就不正确。
 
请问是我打开的方式有问题吗?
已邀请:

Aar0n

赞同来自:

就要在原点,不然自己算偏差

薛萌

赞同来自:

请问这个偏差怎么计算?

该问题目前已经被锁定, 无法添加新回复

商务合作
商务合作