收藏
回答

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。

最后一次编辑于  2022-12-29
回答关注问题邀请回答
收藏

1 个回答

  • goutou1994
    goutou1994
    2023-02-17
    1. gltf内部的节点与xr-frame的元素并不是一一对应的,可能没有办法拿到每种类型节点的extra信息,但是node和material应该是可以的。 xr-frame的gltf loader设计的时候是不希望开发者动态地修改gltf内部结构的,可以举例说下你的小程序里准备怎么使用extra属性,来帮助我们更好地设计这个功能;
    2. xr-frame的gltf loader是有完整的扩展机制来支持扩展的,目前支持的官方扩展都是使用这一机制来实现的。但是编写扩展会涉及到尚未封装完毕的xr-frame内部渲染机制,待我们做好准备之后就会将编写扩展的能力开放给开发者们。可以说说你的扩展需要用到哪些hooks,以便我们在开放扩展后的第一时间支持你的需求。
    2023-02-17
    有用
    回复
登录 后发表内容