收藏
回答

使用XR-Frame进行3D模型的预览时,不同大小的模型,如何让它们以合适的处于画面中央呢?

请问一下,我有的模型大小差异很大,才能让它们都能以合适的大小显示在画面中央呢?

我是在做一个3D模型预览的项目。


回答关注问题邀请回答
收藏

3 个回答

  • 孜然鸡丁📸
    孜然鸡丁📸
    05-23

    我用了一个蠢办法,就是每个模型单独设置一个缩放值。比如我的模型都存储在oss上,使用一个json文件记录模型路径,我就json里加上一个模型的缩放值记录不同模型的缩放比例。加载模型时同时使用这个缩放值对模型进行缩放。而且这样后续可以随时调整单个模型的默认显示大小。

    {
      "model": [
        {
          "id": 1,
          "modelName": "model1",
          "modelURL": "xxx.oss.com",
          "description": "这是一个模型",
          "scaling": 0.5
        },
        {
          "id": 2,
          "modelName": "model2",
          "modelURL": "xxx.oss.com",
          "description": "这是另一个模型",
          "scaling": 0.4
        },
        ...
      ]
    }
    
    05-23
    有用
    回复
  • 慕
    2024-05-29

    很抱歉 对这个不了解

    2024-05-29
    有用
    回复 1
    • 易达山
      易达山
      2024-05-30
      谢谢
      2024-05-30
      回复
  • 棒棒冰
    棒棒冰
    2024-05-27

    计算出模型的包围盒尺寸+相机的fov值,利用三角函数,可求出相机的到模型的距离(相机坐标)。

    2024-05-27
    有用
    回复 7
    • 易达山
      易达山
      2024-05-30
      尴尬了,不知道怎么获取包围盒尺寸,翻遍了百度也找不到太多相关XR-frame的教程,微信的demo里,找了好久也没有找到相关获取包围盒尺寸或者顶点信息的,不知道它给藏哪里去了  微信这个文档看得我一头雾水。
      2024-05-30
      回复
    • 棒棒冰
      棒棒冰
      2024-05-31回复易达山
      https://developers.weixin.qq.com/miniprogram/dev/api/xr-frame/classes/GLTF.html    calcTotalBoundBox
      2024-05-31
      回复
    • 易达山
      易达山
      2024-05-31回复棒棒冰
      哥,大佬,就是这个,我看到了,就是这个文档  我看得一头雾水,这玩意儿怎么使用的?求求大佬指点一下。有没有文档介绍这些接口怎么使用的?
      2024-05-31
      回复
    • 易达山
      易达山
      2024-05-31
      就是我看了他api文档中的这些,但是我在demo中都没有找到相关的使用案例,我真是摸不着头脑,不知道怎么使用,比如这个calcTotalBoundBox
      2024-05-31
      回复
    • 易达山
      易达山
      2024-05-31
      我找到了使用方法了  谢谢!感谢大佬
      let el = this.scene.getElementById('showobj');
      let gltf = el.getComponent(xrSystem.GLTF);
      const boundBoxData = gltf.calcTotalBoundBox();
      console.log('gltf calcTotalBoundBox', boundBoxData);
      2024-05-31
      1
      回复
    查看更多(2)
登录 后发表内容