Почему .obj формат добавляется без текстур на Arcgis?

0 голосов
спросил 02 Апр, 19 от truf (310 баллов)

Не подхватываются текстуры и материалы , когда добавляю 3D модель формата .obj  на arcgis. Функция добавления :

    void ViewshedGeoElement::AddModelToGraphicsOverlay(const double x, const double y, const double z, QString PathModel, QString NameModel, const double w, const double h, const double Depth)

    {

        qDebug()<<x<<y<<z<<PathModel<<NameModel;

        Esri::ArcGISRuntime::Graphic* m_model = nullptr;

        OrbitGeoElementCameraController* followingModel = new OrbitGeoElementCameraController(m_model, 200.0, this);

        followingModel->setCameraPitchOffset(45.0);

        m_sceneView->setCameraController(followingModel);

        const Point tankPoint(x, y, z, SpatialReference(4326));

        const QString dataPath = QQmlProperty::read(this, "dataPath").toString();

        const float scale = 1;

    

        // Create the Graphic Symbol

        ModelSceneSymbol* sceneSymbol = new ModelSceneSymbol(QUrl(dataPath + PathModel), scale, this);

        qDebug()<<"dataPath + PathModel"<<dataPath + PathModel;

        sceneSymbol->setAnchorPosition(SceneSymbolAnchorPosition::Bottom);

        sceneSymbol->setHeading(180.0f);

    

        if(w!=0&&h!=0&&Depth!=0)

        {

            sceneSymbol->setWidth(w);

            sceneSymbol->setHeight(h);

            sceneSymbol->setDepth(Depth);

        }

    

        // Create the Graphic

        QVariantMap attr;

        attr[m_headingAttr] = 150.0;

        Esri::ArcGISRuntime::TextSymbol* drapedText = new TextSymbol(QString("Ширинат: %1\nВысота: %2\nДлинна:%3").arg(w).arg(h).arg(Depth), QColor("black"), 20, HorizontalAlignment::Left, VerticalAlignment::Middle, this);

        m_model = new Graphic(tankPoint, attr , sceneSymbol, this);

        m_graphicsOverlay->graphics()->append(new Graphic(tankPoint, drapedText));

        m_graphicsOverlay->graphics()->append(m_model);

        Esri::ArcGISRuntime::OrbitGeoElementCameraController*m_modelController  = new OrbitGeoElementCameraController(m_model, 200.0, this);

        m_modelController->setCameraPitchOffset(45.0);

        m_sceneView->setCameraController(m_modelController);

    }

Сам файл .obj :

65.obj

    # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware

    # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware

    # File Created: 29.03.2019 15:18:56

    

    mtllib 65.mtl //путь до материала

    

    #

    # object 65msta

    #

    

    v  -0.6000 0.6048 -0.0816

    v  -0.6000 0.6134 0.1082

    v  0.6000 0.6134 0.1082

    v  0.6000 0.6048 -0.0816

...

65.mtl

    # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware

    # File Created: 29.03.2019 15:18:56

    

    newmtl 65msta

    Ns 10.0000

    Ni 1.5000

    d 1.0000

    Tr 0.0000

    Tf 1.0000 1.0000 1.0000 

    illum 2

    Ka 0.5880 0.5880 0.5880

    Kd 0.5880 0.5880 0.5880

    Ks 0.0000 0.0000 0.0000

    Ke 0.0000 0.0000 0.0000

    map_Kd C:/Users/52/ArcGIS/Runtime/Data/3D/65/65.bmp //путь до текстуры

1 Ответ

0 голосов
ответил 03 Апр, 19 от Grigoriy (127,020 баллов)

А вот один из этих форматов Collada (.dae), 3D Max (.3ds), Blender 3d (.blend)  не пробовали?

https://www.sketchup.com/ru/plans-and-pricing

оставил комментарий 12 Апр, 19 от truf (310 баллов)
К сожалению мне надо .obj
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...