UniformAnimator QML Type
UniformAnimatorタイプは、ShaderEffect のユニフォームをアニメーション化します。
| Import Statement: | import QtQuick |
| Inherits: |
プロパティ
- uniform : string
詳細説明
Animator タイプは通常のAnimationタイプとは異なります。Animatorを使用する場合、アニメーションはレンダースレッドで実行することができ、アニメーションが完了するとプロパティ値は最後にジャンプします。
ユニフォームを定義するQMLプロパティの値は、アニメーションが終了した後に更新されます。
以下のスニペットは、UniformAnimator をShaderEffect アイテムと共に使用する方法を示しています。
ShaderEffect { id: shader width: 50 height: 50 property variant t; UniformAnimator { target: shader uniform: "t" from: 0 to: 1 duration: 1000 running: true } fragmentShader: "qrc:shader.frag.qsb" }
また、on キーワードを使って、UniformAnimator をShaderEffect インスタンスのユニフォームに直接結びつけることも可能です。
ShaderEffect { width: 50 height: 50 property variant t; UniformAnimator on t { from: 0 to: 1 duration: 1000 } fragmentShader: "qrc:shader.frag.qsb" }
Note: Animator タイプは、スレッド化されていないレンダリングループを使用する場合、何のメリットもありません。
注: アプリケーションでは、メイン(GUI)スレッドで高価なブロッキング処理を行いながらアニメーションコンテンツを表示するためにアニメーターに依存するのではなく、マルチスレッド、非同期の原則に基づいた設計を検討することをお勧めします。QMLではWorkerScript 、asynchronous image loading 、C++ではワーカースレッド、並列アルゴリズムなどを使用します、 Qt ConcurrentC++では、ワーカースレッド、並列アルゴリズム、コルーチンを使用します。
ShaderEffect およびShaderEffectSourceも参照して ください。
プロパティのドキュメント
uniform : string
このプロパティは、アニメートするユニフォームの名前を保持する。
ユニフォームの値は、ターゲットShaderEffect のプロパティに対応し、フラグメントシェーダまたは頂点シェーダのfloat タイプのユニフォームでなければなりません。
© 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.