实例化 QML 类型
实例表的基础类型。 更多...
导入语句 | import QtQuick3D |
自 | Qt 6.2 |
实例化 | QQuick3DInstancing |
继承自 | |
继承 |
属性
- depthSortingEnabled : bool
- hasTransparency : bool
- instanceCountOverride : int
方法
- color instanceColor(int index)
(since 6.3)
- vector3d instanceCustomData(int index)
(since 6.3)
- vector3d instancePosition(int index)
(since 6.3)
- quaternion instanceRotation(int index)
(since 6.3)
- vector3d instanceScale(int index)
(since 6.3)
详细描述
实例渲染 允许以不同的方式复制模型。
实例化类型定义了一个表格,该表格指定了相对于基模型如何修改每个实例。此表条目对应于每个索引,包含一个转换矩阵、一个颜色和用于自定义材质的通用数据。要使用实例化,将模型的 instancing 属性设置为引用实例化对象。
应用程序可以手动在 C++ 中定义实例化对象,通过继承 QQuick3DInstancing,或者可以使用预定义的 QML 类型之一:InstanceList、FileInstancing 或 RandomInstancing。此外,还可以使用 粒子系统 通过 ModelParticle3D.instanceTable 属性定义实例化表格。
属性文档
depthSortingEnabled : bool |
保留实例表的深度排序启用值。当启用时,实例将从相机最远的实例开始排序和渲染到最近的实例,即从后往前。如果禁用,这是默认值,实例将按照在实例表中指定的顺序进行渲染。
注意: 实例仅相互排序。实例不会与其他场景中的对象排序。
注意: 排序会增加帧准备时间,尤其是在实例数量较多时。
hasTransparency : bool |
将此属性设置为true,如果实例表中包含了应该在模型渲染时使用的alpha值。此属性仅在模型不透明时才有区别:如果模型具有透明的 material,或者小于一的opacity,则无论此属性如何,都会使用表中的alpha值。
注意: 启用alpha混合可能会导致实例重叠时的渲染问题。有关详细信息,请参阅alpha blending and instancing文档。
instanceCountOverride : int |
将此属性设置为限制实例数量,而无需重新生成或重新上传实例表。这允许非常便宜的实例数量动画渲染。
方法文档
返回索引为index的实例的颜色
此方法自Qt 6.3起引入。
也见 instancePosition、instanceScale、instanceRotation、instanceColor和instanceCustomData。
返回索引为index的实例的自定义数据
此方法自Qt 6.3起引入。
也见 instancePosition、instanceScale、instanceRotation、instanceColor和instanceCustomData。
|
返回表示索引为index的实例旋转的四次元数
此方法自Qt 6.3起引入。
也见 instancePosition、instanceScale、instanceRotation、instanceColor和instanceCustomData。
返回索引为index的实例的缩放
此方法自Qt 6.3起引入。
也请参阅 instancePosition、instanceScale,instanceRotation,instanceColor和instanceCustomData。
© 2024 Qt公司有限公司。本文件中包含的文档贡献者是各自所有者的版权所有。提供的文档是根据自由软件基金会发布的GNU自由文档许可协议版本1.3许可的。Qt及其相关标志是芬兰和/或其他国家/地区的Qt公司注册商标。所有其他商标均为各自所有者所有。