Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 3JS渲染器上的2D gui_Javascript_User Interface_Three.js - Fatal编程技术网

Javascript 3JS渲染器上的2D gui

Javascript 3JS渲染器上的2D gui,javascript,user-interface,three.js,Javascript,User Interface,Three.js,我在渲染器上创建2d gui时遇到问题。 2d gui必须根据元素宽度动态定位,元素宽度以三个JS绘制(元素宽度为X,使用三个JS单位,菜单必须定位在最右侧50px处等) 有没有办法做到这一点?使用精灵或DOM元素直接在渲染器上绘图?是的,使用DOM元素,这是唯一的方法(精灵使用图像AFAIK),除非您需要在3D中移动元素,而3D需要css渲染器 如果对象的几何体仍具有宽度属性,则使用它 否则计算边界框得到它 然后,您只需要找到合适的乘法因子,将该值转换为像素,以适合您的布局是的,使用DOM

我在渲染器上创建2d gui时遇到问题。 2d gui必须根据元素宽度动态定位,元素宽度以三个JS绘制(元素宽度为X,使用三个JS单位,菜单必须定位在最右侧50px处等)


有没有办法做到这一点?使用精灵或DOM元素直接在渲染器上绘图?

是的,使用DOM元素,这是唯一的方法(精灵使用图像AFAIK),除非您需要在3D中移动元素,而3D需要css渲染器

  • 如果对象的几何体仍具有
    宽度
    属性,则使用它

  • 否则计算边界框得到它


然后,您只需要找到合适的乘法因子,将该值转换为像素,以适合您的布局

是的,使用DOM元素,这是唯一的方法(精灵使用图像AFAIK),除非您需要在3D中移动元素,这需要css渲染器

  • 如果对象的几何体仍具有
    宽度
    属性,则使用它

  • 否则计算边界框得到它


然后,您只需找到合适的倍增因子,将该值转换为像素,以适合您的布局

@Atranhasis问题在于Z轴上的摄影机距离改变了其距离,以在屏幕上显示整个元素(它可能相当高),从而改变了“屏幕上”元素的宽度(当然;)关于链接@Atranhasis,问题在于Z轴上的相机距离改变了它的距离,以在屏幕上显示整个元素(它可能相当高),从而改变了“屏幕上”元素的宽度(当然;)那链接呢