Qt Quick 3D Physics - Cannon Example

// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
import QtQuick
import QtQuick3D
import QtQuick3D.Physics

DynamicRigidBody {
    property bool inArea: false
    property real sphereDiameter: 2
    massMode: DynamicRigidBody.CustomDensity
    density: 10

    Model {
        source: "#Sphere"
        scale: Qt.vector3d(1, 1, 1).times(sphereDiameter * 0.01)
        materials: PrincipledMaterial {
            baseColor: "yellow"
        }
    }

    physicsMaterial: PhysicsMaterial {
        restitution: 0.6
        dynamicFriction: 0.5
        staticFriction: 0.5
    }

    collisionShapes: SphereShape {
        diameter: sphereDiameter
    }
}