[]摄像机不在原点的时候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);
但是发现,当摄像机在原点的时候,上述转换没有任何问题,而摄像机不在原点的时候,上述转换的结果就不正确。
请问是我打开的方式有问题吗?
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);
但是发现,当摄像机在原点的时候,上述转换没有任何问题,而摄像机不在原点的时候,上述转换的结果就不正确。
请问是我打开的方式有问题吗?
没有找到相关结果
已邀请:
2 个回复
Aar0n
赞同来自:
薛萌
赞同来自: