Forge Viewer SVF打包文件是否使用父子链接的转换?

时间:2019-06-12 10:17:42

标签: autodesk-forge autodesk-model-derivative

上下文:我一直在使用Petr的Forge Extract代码将Forge SVF结构中的几何数据提取为 OBJ 格式。然后将这些数据透明地发送到我正在处理的项目的其他渲染系统。但是,我注意到提取的对象组中的旋转不正确。并非所有对象,仅是分组。

作为示例,这是在正确旋转的情况下用一组对象(长杆)进行的Forge Viewer渲染。您会看到所有极点均沿基板边缘均匀放置,并且彼此之间均等放置。 correct rotation

在渲染的提取几何中,对象的分组相对于彼此正确放置(相等于3x3),但是整个对象组相对于底板沿Z轴略微旋转。 / p>

incorrect rotation

如果单个极点都是某个父对象(可能是不可见的分组对象)的所有子对象,并且父级的旋转将使SVF中的所有极点都旋转,但这种旋转不是在几何图形提取期间未应用。 对于场景中的单个对象,所有分组都会发生这种情况。

在查看this question时,我有很强的印象,即存在第二个旋转方面,但是当直接阅读SVF时我看不到它如何应用。


问题: 显然,我不是要寻找直接的代码解决方案,而是要确认SVF包文件的结构。看着the extraction,我看不到任何暗示父子组合但没有设法考虑其他原因的东西。

那么,SVF包文件中是否存在此类父子转换关系,或者仅适用于某些对象的全局旋转组件?如果是这样,则将其放在打包文件中的什么位置。如果没有,还有什么可能导致这种类型的群体系统轮换?

1 个答案:

答案 0 :(得分:0)

SVF文件格式不使用父子转换-所有片段转换基本上都是世界转换。我的parsing the fragment transforms代码有可能错误地处理了其中一种转换类型。我会尝试调试getTransform方法的基本或两极之一的dbId,然后将转换与Forge Viewer解析的转换进行比较。

另外,我想知道是不是稍微偏离了基地,而不是3x3杆?