[LayaAirIDE 2.0]真机测试时 有3d模型的界面尺寸就会错乱
用真机运行app 只要有加载3d模型的界面 界面的显示内容就会缩成一团 如下:
而其他没有3d模型的显示就正常 我测试了一下
一加上3d模型就开始有问题
问题代码: _modePnl是场景里的节点 一执行addChild()这句话 界面布局就会乱 请问是什么问题呢
let { x, y } = this._modelPnl.localToGlobal(new Laya.Point(0, 0))
let { x: x2, y: y2 } = this._modelPnl.localToGlobal(new Laya.Point(this._modelPnl.width, this._modelPnl.height))
let w = x2 - x
let h = y2 - y
let bounds = new Laya.Rectangle(x, y, w, h)
let view = new ModelView(bounds, 130, 6, 65)
this._modelPnl.addChild(view)
而其他没有3d模型的显示就正常 我测试了一下
一加上3d模型就开始有问题
问题代码: _modePnl是场景里的节点 一执行addChild()这句话 界面布局就会乱 请问是什么问题呢
let { x, y } = this._modelPnl.localToGlobal(new Laya.Point(0, 0))
let { x: x2, y: y2 } = this._modelPnl.localToGlobal(new Laya.Point(this._modelPnl.width, this._modelPnl.height))
let w = x2 - x
let h = y2 - y
let bounds = new Laya.Rectangle(x, y, w, h)
let view = new ModelView(bounds, 130, 6, 65)
this._modelPnl.addChild(view)
没有找到相关结果
已邀请:
4 个回复
155*****553
赞同来自:
注释掉设置camera视图尺寸的代码 也就是
camera.viewport = new Laya.Viewport(rect.x, rect.y, rect.width, rect.height)这一行
然后节点就会全屏显示 但是模型也变得非常大 那就使用localScale将模型进行缩放显示好了
这样就没有问题了。。
Aar0n
赞同来自:
155*****553
赞同来自:
155*****553
赞同来自:
就是在创建3d节点时 创建的camera组件 设置他的大小的时候,
原本是这样设置的:
let ratioW = Laya.RenderContext3D.clientWidth / Laya.stage.width
let ratioH = Laya.RenderContext3D.clientHeight / Laya.stage.height
rect.x *= ratioW
rect.y *= ratioH
rect.width *= ratioW
rect.height *= ratioH
return rect 这个rect就是放3d模型的节点的位置的宽高 而我改成了这样之后:
rect.x = 0;
rect.y = 0;
rect.width = Laya.stage.width;
rect.height = Laya.stage.height;
return rect 直接设整个屏幕为大小 Camera的赋值:
camera.viewport = new Laya.Viewport(rect.x, rect.y, rect.width, rect.height) 我改成整个屏幕为大小后 界面其他节点的显示就正常了 但这个3d模型的形象就变得很大。。