[]3d 设置相机正交投影,在使用3d转2d 坐标转换不成功
透视投影的转换正常,改成正交就不可以了,看了下代码,因为转换后的z值得问题,这个z的为什么要这样判断 z<0 || z>1
__proto.worldToViewportPoint=function(position,out){
Matrix4x4.multiply(this._projectionMatrix,this._viewMatrix,this._projectionViewMatrix);
this.viewport.project(position,this._projectionViewMatrix,out);
var outE=out.elements;
if (out.z < 0.0 || out.z > 1.0){
outE[0]=outE[1]=outE[2]=NaN;
}else {
outE[0]=outE[0] / Laya.stage.clientScaleX;
outE[1]=outE[1] / Laya.stage.clientScaleY;
}
}
__proto.worldToViewportPoint=function(position,out){
Matrix4x4.multiply(this._projectionMatrix,this._viewMatrix,this._projectionViewMatrix);
this.viewport.project(position,this._projectionViewMatrix,out);
var outE=out.elements;
if (out.z < 0.0 || out.z > 1.0){
outE[0]=outE[1]=outE[2]=NaN;
}else {
outE[0]=outE[0] / Laya.stage.clientScaleX;
outE[1]=outE[1] / Laya.stage.clientScaleY;
}
}
没有找到相关结果
已邀请:
要回复问题请先登录
2 个回复
LagField
赞同来自:
gveden
赞同来自:
实在不太明白为什么这个地方要做这个z值判断。我把z判断去掉,看到的转换效果是对的