Sur cette page

ModelParticle3D QML Type

Particule utilisant un modèle 3D Qt Quick. Plus d'informations...

Import Statement: import QtQuick3D.Particles3D
Since: Qt 6.2
Inherits:

Particle3D

Propriétés

Description détaillée

Le ModelParticle3D est un élément de particule logique qui crée des particules à partir d'un composant Qt Quick 3D Model.

Documentation sur les propriétés

delegate : Component

Le délégué fournit un modèle définissant chaque objet instancié par la particule.

Par exemple, pour allouer 200 particules de cube rouge :

Component {
    id: particleComponent
    Model {
        source: "#Cube"
        scale: Qt.vector3d(0.2, 0.2, 0.2)
        materials: DefaultMaterial { }
    }
}

ModelParticle3D {
    id: particleRed
    delegate: particleComponent
    maxAmount: 200
    color: "#ff0000"
}

instanceTable : Instancing

L'instanceTable permet d'accéder à la table Instancing du modèle de particule. ModelParticle3D utilise une table d'instance interne pour mettre en œuvre un rendu efficace. Cette table peut être appliquée à la propriété instancing des modèles qui ne font pas partie du système de particules.

Il est également possible d'utiliser cette fonctionnalité pour fournir une table d'instance sans afficher aucune particule. Pour ce faire, il suffit d'omettre la propriété delegate. Par exemple :

ParticleSystem3D {
    id: psystem
    ModelParticle3D {
        id: particleRed
        maxAmount: 200
        color: "#ff0000"
        colorVariation: Qt.vector4d(0.5,0.5,0.5,0.5)
    }

    ParticleEmitter3D {
        particle: particleRed
        velocity: VectorDirection3D {
            direction: Qt.vector3d(-20, 200, 0)
            directionVariation: Qt.vector3d(20, 20, 20)
        }
        particleScale: 0.2
        emitRate: 20
        lifeSpan: 2000
    }
}

Model {
    source: "#Sphere"
    instancing: particleRed.instanceTable
    materials: PrincipledMaterial {
        baseColor: "yellow"
    }
}

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.