Qt Quick 3D Physics - Simple Example▲
Sélectionnez
// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
import
QtQuick
import
QtQuick3D
import
QtQuick3D.Physics
import
QtQuick3D.Physics.Helpers
Window
{
width
:
640
height
:
480
visible
:
true
title
:
qsTr("Qt Quick 3D Physics - Simple"
)
PhysicsWorld {
scene
:
viewport.scene
}
View3D {
id
:
viewport
anchors.fill
:
parent
environment
:
SceneEnvironment {
clearColor
:
"#d6dbdf"
backgroundMode
:
SceneEnvironment.Color
}
PerspectiveCamera {
position
:
Qt.vector3d(-
200
, 100
, 500
)
eulerRotation
:
Qt.vector3d(-
20
, -
20
, 0
)
clipFar
:
5000
clipNear
:
1
}
DirectionalLight {
eulerRotation.x
:
-
45
eulerRotation.y
:
45
castsShadow
:
true
brightness
:
1
shadowFactor
:
100
}
StaticRigidBody {
position
:
Qt.vector3d(0
, -
100
, 0
)
eulerRotation
:
Qt.vector3d(-
90
, 0
, 0
)
collisionShapes
:
PlaneShape {}
Model {
source
:
"#Rectangle"
scale
:
Qt.vector3d(10
, 10
, 1
)
materials
:
DefaultMaterial {
diffuseColor
:
"green"
}
castsShadows
:
false
receivesShadows
:
true
}
}
DynamicRigidBody {
position
:
Qt.vector3d(-
100
, 100
, 0
)
collisionShapes
:
BoxShape {
id
:
boxShape
}
Model {
source
:
"#Cube"
materials
:
PrincipledMaterial {
baseColor
:
"yellow"
}
}
}
DynamicRigidBody {
position
:
Qt.vector3d(0
, 100
, 0
)
collisionShapes
:
SphereShape {
id
:
sphereShape
}
Model {
source
:
"#Sphere"
materials
:
PrincipledMaterial {
baseColor
:
"blue"
}
}
}
DynamicRigidBody {
position
:
Qt.vector3d(75
, 200
, 0
)
collisionShapes
:
CapsuleShape {
id
:
capsuleShape
}
Model {
geometry
:
CapsuleGeometry {}
materials
:
PrincipledMaterial {
baseColor
:
"red"
}
}
}
}
}