yannliao / threejs-example-for-miniprogram

这是一个 three.js 在微信小程序里的使用示例
MIT License
271 stars 87 forks source link

真机测试时屏幕右边有大概六分之一的区域不能显示模型 #16

Open jiakuaibu opened 4 years ago

jiakuaibu commented 4 years ago

iphoneX,iphone7 plus测试时都是这样,模型一到右边就被截止,请问是什么原因?

liangxiaowei commented 4 years ago

iphoneX,iphone7 plus测试时都是这样,模型一到右边就被截止,请问是什么原因? 同样遇到这个问题,有人解决了这个问题吗?

liangxiaowei commented 4 years ago

iphoneX,iphone7 plus测试时都是这样,模型一到右边就被截止,请问是什么原因?

demo 里面的 glb 例子右边是没有被截断的。我把布局里面的 canvas 放到最外层就不会截断了。可能和布局有关系。

yannliao commented 4 years ago

可能是需要设置下canvas大小和布局~

1002987772 commented 3 years ago

这个大佬解决了吗?能分享一下解决思路吗?

miugic commented 1 year ago

let window = THREE.global; window.innerWidth和window.innerHeight实际为屏幕的宽高,和你的canvas样式没有关系,如果你没有手动调用renderer.setSize()并把你的canvas的实际宽高传进去就会造成这种问题,你需要在出现window.innerWidth和window.innerHeight的地方替换成canvas.width和canvas.height,并且至少要调用一次renderer.setSize(width, height)把canvas的实际宽高传进去。