你好。这个模型使用了draco压缩,目前安卓客户端上draco解压功能有问题,下个客户端版本会解决,预计本月21日左右。
glb模型在安卓报错,我指的是所有安卓(in promise) MiniProgramError Cannot read properties of undefined (reading 'errCode') TypeError: Cannot read properties of undefined (reading 'errCode') at t.<anonymous> (WAXRFrameRenderContext.js:1:1046069) at (WAXRFrameRenderContext.js:1:1045357) at Object.next (WAXRFrameRenderContext.js:1:1045462) at (WAXRFrameRenderContext.js:1:1044398) at new Promise (<anonymous>) at c (WAXRFrameRenderContext.js:1:1044143) at t.<anonymous> (WAXRFrameRenderContext.js:1:1045623) at e.extensionSlot (WAXRFrameRenderContext.js:1:1003164) at t.<anonymous> (WAXRFrameRenderContext.js:1:1085282) at (WAXRFrameRenderContext.js:1:1083597) [图片]
2023-06-07暂时还没有,你可以直接在xr-frame中渲染模型,如果console没有报错,那说明这个模型是符合要求的。 如果console没有报错,模型也绘制的不正确,那可以作为bug提给我们。
微信有没有测试xr-frame中加载的模型是否符合GLTF模型的限制的工具?微信有没有测试xr-frame中加载的模型是否符合GLTF模型的限制的工具?
2023-03-09试了下这段代码是可以触发事件的,你可以尝试下更新工具和微信客户端版本。
XR-FRAME模型交互点击事件不起作用<xr-scene bind:ready="handleReady"> <xr-assets bind:progress="handleAssetsProgress" bind:loaded="handleAssetsLoaded"> <xr-asset-load type="gltf" asset-id="damage-helmet" src="https://mmbizwxaminiprogram-1258344707.cos.ap-guangzhou.myqcloud.com/xr-frame/demo/damage-helmet/index.glb" /> <xr-asset-load type="gltf" asset-id="miku" src="https://mmbizwxaminiprogram-1258344707.cos.ap-guangzhou.myqcloud.com/xr-frame/demo/miku.glb" /> </xr-assets> <xr-env env-data="xr-frame-team-workspace-day"/> <xr-light type="ambient" color="1 1 1" intensity="1" /> <xr-light type="directional" rotation="40 70 0" color="1 1 1" intensity="3" cast-shadow /> <xr-gltf node-id="damage-helmet" model="damage-helmet" id="helmet" mesh-shape bind:touch-shape="handleTouchModel"/> <xr-gltf model="miku" position="-0.15 0.75 0" scale="0.07 0.07 0.07" rotation="0 180 0" anim-autoplay id="miku" cube-shape="autoFit:true" shape-gizmo bind:touch-shape="handleTouchModel"/> <xr-camera position="0 1.5 4" target="damage-helmet" background="skybox" clear-color="0.4 0.8 0.6 1" camera-orbit-control /> </xr-scene> // index.js // 获取应用实例 //const app = getApp() Page({ data: { }, // 事件处理函数 onLoad() { }, methods: { handleReady: function ({detail}) { this.scene = detail.value; }, handleAssetsProgress: function ({detail}) { console.log('assets progress', detail.value); }, handleAssetsLoaded: function ({detail}) { console.log('assets loaded', detail.value); }, //模型点击事件 handleTouchModel: function ({detail}) { const {target} = detail.value; const id = target.id; wx.showToast({title: `点击了模型: ${id}`}); } } }) [图片]
2023-03-09我试了下在自己的安卓手机上是可以画出来的,能提供下手机的详细型号吗?
xf-frame组件轮廓可视化线框,安卓上看不到?官方Demo示例代码中 “基础案例--Animation 动画”: 给 xr-mesh 添加属性 cube-shape shape-gizmo 把轮廓用线框绘制出来,开发工具和苹果手机都看到了轮廓线框,安卓手机(小米手机)上没看到线框 [图片] [图片]
2023-03-09你好,麻烦提供下能复现问题的gltf文件。
xrframe加载gltf模型视椎体剔除问题?如果加载gltf只有一个mesh时,视椎体会按照正常的剔除方式来做剔除。 如果加载的gltf包含多个mesh是,视椎体会把还能渲染在视锥范围内的模型直接全部剔除掉。 [图片] [图片] 图一中,相机视锥在没有靠近右侧边缘时,小人的眼镜和蛋糕上的棋子、字母都是正常显示的。 图二中,相机视锥靠近了蛋糕边缘处,小人的眼镜眼镜和部分棋子、字母被剔除掉了。
2023-03-03这个错误是小程序基础能力报出来的,和xr-frame框架应该没什么关系。 建议排查方法: 确认文件是否存在,并且确认文件是否有读权限;在该小程序里编写js脚本调用小程序基础能力,确认是否能打开文件:wx.getFileSystemManager().readFile({ filePath: "...文件路径", success() { console.log("读取成功"); }, fail(err) { console.error(err); } }); 3. 参考社区内其他相关问题解决。
【XR能力】资源文件使用本地路径渲染纹理无效果,会提示没有权限,使用网络地址可以https://developers.weixin.qq.com/miniprogram/dev/component/xr-frame/render/texture.html [图片]
2023-02-21直接在3d物体上绑定touch-shape事件就行。 raycast接口暂时没有暴露出来,预计下个月和刚体物理效果一起上线。
xr-frame中有没有像其他3d引擎中提供的Raycaster发射射线做3d模型的碰撞检测的方法?xr-frame中有没有像其他3d引擎比如说unity、threejs中提供的Raycaster Raycaster 这个类用于进行raycasting(光线投射)。 光线投射用于进行鼠标拾取(在三维空间中计算出鼠标移过了什么物体)。 发射射线做3d模型的碰撞检测的方法
2023-02-20gltf内部的节点与xr-frame的元素并不是一一对应的,可能没有办法拿到每种类型节点的extra信息,但是node和material应该是可以的。 xr-frame的gltf loader设计的时候是不希望开发者动态地修改gltf内部结构的,可以举例说下你的小程序里准备怎么使用extra属性,来帮助我们更好地设计这个功能;xr-frame的gltf loader是有完整的扩展机制来支持扩展的,目前支持的官方扩展都是使用这一机制来实现的。但是编写扩展会涉及到尚未封装完毕的xr-frame内部渲染机制,待我们做好准备之后就会将编写扩展的能力开放给开发者们。可以说说你的扩展需要用到哪些hooks,以便我们在开放扩展后的第一时间支持你的需求。
xr-frame加载GLTF时如何读取GLTF中的extra信息?xr-frame当前加载gltf的机制没有给开发者提供去获取gltf node,gltf material上的extra信息的方法。 是否可以在loader那里提供一些选项,让开发者可以通过这些选项声明要求loader在加载gltf成功之后把原始gltf的node,material之类的对象上的extra信息以键值对或者JSON string的方式给retain到xr-frame的GLTF组件的成员上去。 gltf的schema中定义的extra对象是为了方便开发者,内容创造者在官方定义的extension和vendor定义的extension之外为gltf资产添加更丰富的语义而设置的。希望xr-frame也能提供相应的机制在loader和组件中帮助开发者更方便的去获取extra中的信息。 另外还有一点,官方今后是否会提供某些机制让开发者自己去编写代码来支持官方暂时不支持的GLTF扩展。比如,three.js的GLTF Loader就有各种各样的Hook,方便开发者编写handler来处理three.js不支持的extension和vendor specific extension。
2023-02-17刚体物理功能正在开发,预计下个月上线。不过gltf 2.0标准内并没有rigidbody属性,想问下你的glb里用了什么扩展?
xr-frame,刚体动画如何实现?我的glb文件里有rigid body,如何实现刚体动画? 我看到代码里有rigid body,不知道怎么用。 谢谢
2023-02-09目前gltf模型中的JOINTS顶点属性只支持JOINTS_0,如果使用了JOINTS_n(n>0)将无法渲染,在导出模型时请选择只使用一套joints。 如果想要强行渲染,可以尝试手动将gltf文件中的meshes→primitives→attributes节点中的JOINTS_n(n>0)全部改成JOINTS_0,但是有可能会使蒙皮错乱。
xr-frame 加载模型报错 不支持joint slot,该如何调整模型资源?[图片]
2023-02-06