Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. QML 3D Resizing model in UI
Qt 6.12 LTS is out! See what's new in the release blog

QML 3D Resizing model in UI

Scheduled Pinned Locked Moved Unsolved QML and Qt Quick
1 Posts 1 Posters 705 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Offline
    R Offline
    rahulch_pp
    wrote on last edited by
    #1

    I am trying to implement a basic QML application that loads a 3D model from a .obj file and just display it on the screen. For now I am able to do so, but the object displayed is far too small. Is there a way to stretch/resize the model while rendering to fit its parent window's size or something?

    Here is the code -

    import Qt3D.Core 2.12
    import Qt3D.Render 2.12
    import Qt3D.Extras 2.12
    import Qt3D.Input 2.12
    import QtQuick.Scene3D 2.12
    import QtQuick 2.12 as QQ2
    
    Scene3D {
        id: scene3d
        anchors.fill: parent
        focus: true
        aspects: ["input", "logic"]
        cameraAspectRatioMode: Scene3D.AutomaticAspectRatio
        Entity {
            id: sceneRoot
    
            Camera {
                id: camera
                projectionType: CameraLens.PerspectiveProjection
                fieldOfView: 45
                nearPlane: 0.1
                farPlane: 1000.0
                position: Qt.vector3d(0.0, 0.0, 40.0)
                upVector: Qt.vector3d(0.0, 1.0, 0.0)
                viewCenter: Qt.vector3d(0.0, 0.0, 0.0)
            }
            
            FirstPersonCameraController {
                camera: camera
            }
            
            components: [
                RenderSettings {
                    activeFrameGraph: ForwardRenderer {
                        camera: camera
                        clearColor: "transparent"
                    }
                },
                InputSettings {
                }
            ]
            
            PhongMaterial {
                id: material
            }
            
            Mesh {
                id: sphereMesh
    //             source: "images/face3d/face_bse_mesh.obj"
                source: "images/robo-obj-pose4/source/d2f0cff60afc40f5afe79156ec7db657.obj"
            }
            
            Transform {
                id: sphereTransform
                property real userAngle: 0.0
                matrix: {
                    var m = Qt.matrix4x4()
                    m.rotate(userAngle, Qt.vector3d(0, 1, 0))
    //                 m.translate(Qt.vector3d(20, 0, 0))
                    return m
                }
            }
            
            QQ2.NumberAnimation {
                target: sphereTransform
                property: "userAngle"
                duration: 10000
                from: 0
                to: 360
                
                loops: QQ2.Animation.Infinite
                running: true
            }
            
            Entity {
                id: sphereEntity
                components: [sphereMesh, material, sphereTransform]
            }
    
        //     InputSettings {
        //         id: inputSettings
        //     }
        // 
        //     OrbitCameraController{
        //         id: orbitCamera
        //         camera: camera
        //     }
        }
    }
    
    
    1 Reply Last reply
    0

    • Login

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Get Qt
    • Unsolved