Aframe A-Frame的Mapbox组件显示桌面与移动设备的不同比例
我正在使用A-Frame场景中的以1:1的比例提供具有mapbox地图卫星视图纹理的地面(mapbox地图中的1米与A-Frame/three.js场景中的1个单位对齐) 问题:在桌面上加载时,我看到mapbox平面与3d场景的其余部分“正确”(预期)对齐(图1)。但是,在像素3a上的mobile中,贴图盒平面未正确对齐(图2),并且似乎比deskop场景中的要小 如何确保mapbox平面始终具有1:1的比例(1米的mapbox卫星视图=3.js/a-Frame场景中的1个单位)? 地点: 用于定义mapbox组件的代码片段:Aframe A-Frame的Mapbox组件显示桌面与移动设备的不同比例,aframe,mapbox-gl-js,Aframe,Mapbox Gl Js,我正在使用A-Frame场景中的以1:1的比例提供具有mapbox地图卫星视图纹理的地面(mapbox地图中的1米与A-Frame/three.js场景中的1个单位对齐) 问题:在桌面上加载时,我看到mapbox平面与3d场景的其余部分“正确”(预期)对齐(图1)。但是,在像素3a上的mobile中,贴图盒平面未正确对齐(图2),并且似乎比deskop场景中的要小 如何确保mapbox平面始终具有1:1的比例(1米的mapbox卫星视图=3.js/a-Frame场景中的1个单位)? 地点: 用于
<a-entity
geometry="primitive: plane; width: 512; height: 512;"
material="color: #ffffff; shader: flat; side: both; transparent: true;"
mapbox="center: -122.415126, 37.763699; zoom: 18;
accesstoken: pk.eyJ1IjoibWF0dHJlIiwiYSI6IjRpa3ItcWcifQ.s0AGgKi0ai23K5OJvkEFnA;
style: mapbox://styles/mapbox/satellite-streets-v11;
pxToWorldRatio: 4;"
position="0 0 0"
rotation="-90 0 0"
></a-entity>
)
图片1-桌面-正确:
图片2-手机-不正确:
(交叉参考)我的工作假设:mapbox gl库(它是框架mapbox组件的主要依赖项)有一些内置逻辑,根据设备显示DPI确定画布大小。在这种情况下,像素手机的DPI低于Macbook Retina显示屏,因此手机版本的画布尺寸减小。然后,该组件调整场景中平面的大小,以保持所需的像素/米比率。因此,也许解决方案是分叉组件并禁用此平面调整逻辑。另一个线索:我的工作假设:mapbox gl库(它是框架mapbox组件的主要依赖项)有一些内置逻辑,根据设备显示DPI确定画布大小。在这种情况下,像素手机的DPI低于Macbook Retina显示屏,因此手机版本的画布尺寸减小。然后,该组件调整场景中平面的大小,以保持所需的像素/米比率。因此,也许解决方案是分叉组件并禁用此平面调整逻辑。另一个线索: