收藏
回答

使用xr-start自定义组件,动态加载了GLTF后,下面的Plane上没有影子?

      const xrFrameSystem = wx.getXrFrameSystem();
      const {rootShadow} = scene;
      const faceElem = scene.createElement(xrFrameSystem.XRGLTF);
      rootShadow.addChild(faceElem)
      var assetInfo = {src:url, type:"gltf", assetId:"my-gltf"}
      const {value: loadedModel} = await scene.assets.loadAsset(assetInfo)
      const faceGLTF = faceElem.getComponent(xrFrameSystem.GLTF);
      faceGLTF.setData({model: loadedModel})

page里有2个cube,然后底下有个地面。可以看到影子。
但是动态加载的GLTF没有影子。

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

2 个回答

  • Roam
    Roam
    06-07

    gltf 组件上需要设置

    cast-shadow

    具体可以参考官方示例

    06-07
    有用
    回复
  • 崔立臣
    崔立臣
    06-07

    是这样吗?也没有效果啊,const faceElem = scene.createElement(xrFrameSystem.XRGLTF, {'cast-shadow':true});

    包括这样也是:const faceGLTF = faceElem.getComponent(xrFrameSystem.GLTF);

    faceGLTF.setData({model: loadedModel, 'cast-shadow':true})

    其中的model参数生效了,但是cast-shadow没效果。

    我的开发环境,调试基础库是3.4.5

    06-07
    有用
    回复 1
    • 崔立臣
      崔立臣
      06-07
      找到问题了。
      06-07
      回复
登录 后发表内容