使用Forge AR / VR工具箱加载时模型不完整

时间:2019-06-04 08:34:02

标签: autodesk-forge autodesk-arvr

我有一个IFC模型,我使用场景准备(http://forgetoolkit.com/#/scenePrepration)中的示例脚本“ test-2legged”将其上载到Forge。然后我用AR / VR工具包(ForgeARKit-update-6-2018.1)加载了它。但是,下载的模型不完整(请参见下图)。模型中没有外部链接。

请注意,我对'test-2legged'做了一些小的修改,因为原始示例无法直接与新的Beta服务器'https://developer-api-beta.autodesk.io'配合使用(请参阅另一篇文章:{{3} }。

对于模型中的某些组件来说似乎是可见的,但对于其他组件则不是,我注意到的一件事是,某些组件在诸如Type / Type name之类的属性中具有非Unicode(Finnish)值,不确定如果是根本原因。

任何人都可以帮助检查哪些地方可能出问题吗?我可以上传示例模型。

Forge ARKit: Cannot load model in Unity

The downloaded model is incomplete, only some components are visible

提前谢谢!

1 个答案:

答案 0 :(得分:1)

对于遇到类似问题的任何人,在Unity中如何解析来自https://developer-api-beta.autodesk.io的仿射变换都存在问题。如果您遇到类似的问题(场景中的位置/旋转/比例都设置为零的网格),请转到 Assets / Forge / CodeBase / InstanceTreeRequest.cs 并替换"AffineMatrix"用以下代码切换大小写:

case "AffineMatrix":
    Matrix4x4 mat = new Matrix4x4 ();

    var elements = node["mt"]["elements"].AsArray;
    mat.m00 = elements[0].AsFloat;
    mat.m10 = elements[1].AsFloat;
    mat.m20 = elements[2].AsFloat;
    mat.m01 = elements[3].AsFloat;
    mat.m11 = elements[4].AsFloat;
    mat.m21 = elements[5].AsFloat;
    mat.m02 = elements[6].AsFloat;
    mat.m12 = elements[7].AsFloat;
    mat.m22 = elements[8].AsFloat;

    mat.m03 = node["tr"]["x"].AsFloat;
    mat.m13 = node["tr"]["y"].AsFloat;
    mat.m23 = node["tr"]["z"].AsFloat;
    mat.m33 = 1.0f;

    obj.transform.localScale = ScaleFromMatrix (mat);
    obj.transform.rotation = RotationFromMatrix (mat);
    obj.transform.position = TranslationFromMatrix (mat);
    break;