Revision control

Copy as Markdown

// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\title Dice
\ingroup qtquickdemos
\example demos/dice
\brief A dice throwing application using Qt Quick 3D Physics and other
Qt Modules.
\examplecategory {Application Examples}
\examplecategory {Mobile}
\meta {tag} {quick,3d,physics, multimedia, sensors}
\meta {docdependencies} {QtQuick3DPhysics,QtMultimedia,QtSensors}
\image {dice-screenshot.webp} {}
This example application simulates rolling a number of dice on a table. The
application uses QML and relies on a number of Qt modules, including
\l {Qt Quick 3D}, \l {Qt Quick 3D Physics}, \l {Qt Multimedia}, and
\l {Qt Sensors}.
\include examples-run.qdocinc
\section1 Relevant modules and classes
The example makes use of the \l{Qt Quick 3D}, \l{Qt Multimedia},
\l{Qt Quick 3D Physics} and \l{Qt Sensors} modules that are separate items
in the \l{Get and Install Qt}{Qt Online Installer}. If the example fails to
compile or run, make sure that you have these required packages installed.
\section1 Simulating the physics of rolling dice
\e Dice demonstrates using \l{Qt Quick 3D Physics} for the physical simulation
of dice and a wooden table. The rendering is done with components from
\l{Qt Quick 3D}. For information on how this can be achieved, see the
\l{Qt Quick 3D Physics - Custom Shapes Example}.
\section1 Using sensor input to trigger a roll
On compatible targets, using \l{Qt Sensors} API enables using
accelerometer output to detect when the device is shaken, triggering a dice
roll. For more information on using an accelerometer, see the
\l{Sensors Showcase} example.
\section1 Adding sound effects
Using \l{Qt Multimedia}, sound effects are added for a more immersive
experience. See the \l{SoundEffect} QML type more for information.
\section1 Implementing a UI for changing simulation settings
A \l{Qt Quick} UI is provided for configuring the physical material of
the simulated dice, the magnitude of gravity, and the number and size of dice.
\section1 Source files
\sa {Qt Quick Examples and Tutorials} {All Qt Examples}
*/