class QCamera#

QCamera 类定义了一个通过它来渲染场景的视点。更多

Inheritance diagram of PySide6.Qt3DRender.Qt3DRender.QCamera

摘要#

属性#

方法#

槽函数#

信号#

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译存在问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE 上创建工单来通知我们。

详细描述#

class CameraTranslationOption#

此枚举指定了如何平移相机视图中心。

常量

描述

Qt3DRender.QCamera.TranslateViewCenter

平移动画视图中心,使视图方向保持不变

Qt3DRender.QCamera.DontTranslateViewCenter

不平移视图中心,导致视图方向改变

注意

可以在使用 from __feature__ import true_property 时直接使用属性,否则可通过访问器函数使用。

property aspectRatio: float#

持有当前纵横比。

访问函数
property bottom: float#

持有相机的当前底部。

projectionTypeOrthographicProjection 时,此属性才相关。

访问函数
property exposure: float#

持有相机的当前曝光值。

默认值为 0.0。

Qt 3D Extras 中的 MetalRoughMaterial 是目前唯一提供的利用相机曝光功能的支持材料。负值会使材质变暗,正值会使材质变亮。

自定义材料可以选择不同地解释此值。

访问函数
property farPlane: float#

保持当前摄像机的远裁剪面。距离摄像机比farPlane远的对象将不会被渲染。

访问函数
属性 fieldOfView: float#

保持当前垂直视场角(以度为单位)。

aspectRatio一起,此属性决定了场景中有多少部分对摄像机是可见的。在这方面,您可能认为它类似于选择广角镜头(宽水平视场角)或长焦镜头(窄水平视场角)以捕捉场景的多少。

fieldOfView仅在projectionTypePerspectiveProjection时相关。

访问函数
属性 left: float#

保持当前摄像机的左侧。

projectionTypeOrthographicProjection 时,此属性才相关。

访问函数
属性 lens: QCameraLens#

保持摄像机的QCameraLens组件。

访问函数
属性 nearPlane: float#

保持当前摄像机的近裁剪面。距离摄像机比nearPlane近的对象将不会被渲染。

访问函数
属性 position: QVector3D#

保持摄像机相对于父实体的坐标位置。

访问函数
属性 projectionMatrix: QMatrix4x4#

保持当前摄像机的投影矩阵。

访问函数
属性 projectionType: Qt3DRender.QCameraLens.ProjectionType#

保存相机的投影类型。默认值是 透视投影

  • 透视投影 - 平行线看起来会逐渐汇聚于远方。物体离相机越远,看起来就越小。

  • 正交投影 - 平行线保持平行。物体无论距离多远,看起来大小都相同。

  • FrustumProjection

  • CustomProjection

另请参阅

投影类型

访问函数
属性 right: float#

保存相机当前的水平方向。

projectionTypeOrthographicProjection 时,此属性才相关。

访问函数
属性 top: float#

保存相机当前的顶部方向。

projectionTypeOrthographicProjection 时,此属性才相关。

访问函数
属性 transform: QTransform#

保存相机中的 QTransform 组件。

访问函数
属性 upVector: QVector3D#

保存相机相对于父实体的坐标空间中的向上向量。

向上向量指示相机顶部朝向的方向。想象一下拍照:你定位自己,指向目标,然后左右旋转相机,得到肖像或风景(或角度!)照。upVector 允许你控制这种移动。

访问函数
属性 viewCenter: QVector3D#

包含相对于父实体坐标系的相机视图中心。

直观地说,viewCenter 是相机指向的位置。

访问函数
属性 viewMatrix: QMatrix4x4#

包含相对于父实体坐标系的相机视图矩阵。

访问函数
属性 viewVector: QVector3D#

包含相对于父实体坐标系的相机视图向量。

此向量表示从相机(position)到其目标(viewCenter)的偏移。

访问函数
__init__([parent=None])#
参数:

parentQNode

创建一个新的 QCamera 实例,指定 parent

aspectRatio()#
返回类型:

float

另请参阅

setAspectRatio()

属性 aspectRatio 的获取器。

aspectRatioChanged(aspectRatio)#
参数:

aspectRatio – float

属性 aspectRatio 的通知信号。

bottom()#
返回类型:

float

另请参阅

setBottom()

属性 bottomᅟ 的获取器。

bottomChanged(bottom)#
参数:

bottom – 浮点数

属性 bottomᅟ 的通知信号。

exposure()#
返回类型:

float

另请参阅

setExposure()

属性 exposureᅟ 的获取器。

exposureChanged(exposure)#
参数:

exposure – 浮点数

属性 exposureᅟ 的通知信号。

farPlane()#
返回类型:

float

另请参阅

setFarPlane()

属性 farPlaneᅟ 的获取器。

farPlaneChanged(farPlane)#
参数:

farPlane – 浮点数

属性 farPlaneᅟ 的通知信号。

fieldOfView()#
返回类型:

float

另请参阅

setFieldOfView()

属性 fieldOfViewᅟ 的获取器。

fieldOfViewChanged(fieldOfView)#
参数:

fieldOfView – 浮点数

属性 fieldOfViewᅟ 的通知信号。

left()#
返回类型:

float

另请参阅

setLeft()

属性 leftᅟ 的获取器。

leftChanged(left)#
参数:

left – 浮点数

属性 leftᅟ 的通知信号。

lens()#
返回类型:

QCameraLens

返回当前镜头。

属性 lensᅟ 的获取器。

nearPlane()#
返回类型:

float

另请参阅

setNearPlane()

属性 nearPlaneᅟ 的获取器。

nearPlaneChanged(nearPlane)#
参数:

nearPlane – float

属性 nearPlaneᅟ 的通知信号。

pan(angle)#
参数:

angle – float

通过角度 angle 调整摄像机的俯仰角度。

pan(angle, axis)
参数:

在选定的 axis 上以角度 angle 调整摄像机的俯仰角度。

panAboutViewCenter(angle)#
参数:

angle – float

通过角度 angle 在视图中调整摄像机。

panAboutViewCenter(angle, axis)
参数:

在选定的 axis 上通过角度 angle 在视图中调整摄像机。

panRotation(angle)#
参数:

angle – float

返回类型:

QQuaternion

根据角度 angle 返回 Pan 旋转,该角度用于调整摄像机在Y轴上的左/右旋转。

position()#
返回类型:

QVector3D

另请参阅

setPosition()

属性 positionᅟ 的获取器。

positionChanged(position)#
参数:

positionQVector3D

属性 positionᅟ 的通知信号。

projectionMatrix()#
返回类型:

QMatrix4x4

另请参阅

设置投影矩阵()

属性 projectionMatrix 的获取器。

projectionMatrixChanged(projectionMatrix)#
参数:

projectionMatrix - QMatrix4x4

属性 projectionMatrix 的通知信号。

projectionType()#
返回类型:

投影类型

另请参阅

setProjectionType()

属性 projectionType 的获取器。

projectionTypeChanged(projectionType)#
参数:

projectionType - ProjectionType

属性 projectionType 的通知信号。

right()#
返回类型:

float

另请参阅

setRight()

属性 right 的获取器。

rightChanged(right)#
参数:

right - float

属性 right 的通知信号。

roll(angle)#
参数:

angle – float

通过在度为单位中调整角度,改变摄像机的翻滚。

rollAboutViewCenter(angle)#
参数:

angle – float

通过在度为单位中调整角度,在视图中心附近改变摄像机的翻滚。

rollRotation(angle)#
参数:

angle – float

返回类型:

QQuaternion

根据在度中调整摄像机翻滚或倾斜左/右旋转的角度,返回计算的翻滚旋转。

rotate(q)#
参数:

qQQuaternion

使用四元数 q 来旋转相机。

rotateAboutViewCenter(q)#
参数:

qQQuaternion

使用四元数 q 来环绕视中心旋转相机。

rotation(angle, axis)#
参数:
返回类型:

QQuaternion

返回基于度数的 angle 和选择的方向 axis 计算出的旋转。

setAspectRatio(aspectRatio)#
参数:

aspectRatio – float

设置相机的宽高比为 aspectRatio

另请参阅

aspectRatio()

属性 aspectRatio 的设置器。

setBottom(bottom)#
参数:

bottom – 浮点数

设置相机的底部为 bottom

另请参阅

bottom()

属性 bottom 的设置器。

setExposure(exposure)#
参数:

exposure – 浮点数

设置相机的曝光值为 exposure

另请参阅

exposure()

属性 exposure 的设置器。

setFarPlane(farPlane)#
参数:

farPlane – 浮点数

设置相机的远裁剪面为 farPlane

另请参阅

farPlane()

属性 farPlane 的设置器。

setFieldOfView(fieldOfView)#
参数:

fieldOfView – 浮点数

设置相机的视野范围为 fieldOfView 度。

另请参阅

fieldOfView()

属性 fieldOfView 的设置器。

setLeft(left)#
参数:

left – 浮点数

将摄像机的左侧设置为 left

另请参阅

left()

属性 left属性 的设置器。

setNearPlane(nearPlane)#
参数:

nearPlane – float

将摄像机的近剪裁面设置为 nearPlane

另请参阅

nearPlane()

属性 nearPlane属性 的设置器。

setPositionposition)#
参数:

positionQVector3D

将摄像机在 3D 空间中的位置设置为 position

另请参阅

position()

属性 position属性 的设置器。

setProjectionMatrix(projectionMatrix)#
参数:

projectionMatrix - QMatrix4x4

将摄像机的投影矩阵设置为 projectionMatrix

另请参阅

projectionMatrix()

属性 projectionMatrix属性 的设置器。

setProjectionTypetype)#
参数:

typeProjectionType

将摄像机的投影类型设置为 type

另请参阅

projectionType()

属性 projectionType属性 的设置器。

setRightright)#
参数:

right - float

将摄像机的右侧设置为 right

另请参阅

right()

属性 right属性 的设置器。

setToptop)#
参数:

top – float

将摄像机的顶部设置为 top

另请参阅

top()

属性 top属性 的设置器。

setUpVectorupVector)#
参数:

upVectorQVector3D

将摄像机的向上向量设置为 upVector

另请参阅

upVector()

属性的设置器 upVector setting

setViewCenter(viewCenter)#
参数:

viewCenter - QVector3D

将摄像机的视图中心设置为 viewCenter

另请参阅

viewCenter()

属性的设置器 viewCenter setting

tilt(angle)#
参数:

angle – float

通过 angle(以度为单位的角)调整摄像机倾斜角度。

tiltAboutViewCenter(angle)#
参数:

angle – float

通过 angle(以度为单位的角)调整摄像机相对于视图中心的倾斜。

tiltRotation(angle)#
参数:

angle – float

返回类型:

QQuaternion

返回根据 angle (以度为单位的角)调整摄像机倾斜或X轴上下旋转而计算出的倾斜旋转。

top()#
返回类型:

float

另请参阅

setTop()

属性的获取器 top 获取器

topChanged(top)#
参数:

top – float

属性 top 获取器 的通知信号。

transform()#
返回类型:

QTransform

通过转换返回摄像机的位置。

属性的获取器 transform 获取器

translate(vLocal[, option=Qt3DRender.QCamera.CameraTranslationOption.TranslateViewCenter])#
参数:
  • vLocal - QVector3D

  • option - CameraTranslationOption

将摄像机位置及其视图向量通过 vLocal(局部坐标)平移。通过 option 可以切换是否应该平移视图中心。

translateWorld(vWorld[, option=Qt3DRender.QCamera.CameraTranslationOption.TranslateViewCenter])#
参数:
  • vWorldQVector3D

  • option - CameraTranslationOption

通过世界坐标的vWorld平移相机位置和它的视图矢量。通过option可以切换是否平移视图中心。

upVector()#
返回类型:

QVector3D

另请参阅

setUpVector()

属性upVector的获取器。

upVectorChanged(upVector)#
参数:

upVectorQVector3D

属性upVector的状态变更通知信号。

viewAll()#

旋转和移动相机,使其viewCenter成为场景边界框的中心,并且整个场景适合在视口中。

注意

仅当镜头在透视或正交投影模式下时才有效。

viewCenter()#
返回类型:

QVector3D

另请参阅

setViewCenter()

属性viewCenter的获取器。

viewCenterChanged(viewCenter)#
参数:

viewCenter - QVector3D

属性viewCenter的状态变更通知信号。

viewEntity(entity)#
参数:

entityQEntity

旋转和移动相机,使其viewCenter成为entity的边界框的中心,并且整个entity适合在视口中。

注意

仅当镜头在透视或正交投影模式下时才有效。

另请参阅

Camera.projectionType

viewMatrix()#
返回类型:

QMatrix4x4

属性viewMatrix的获取器。

viewMatrixChanged()#

属性viewMatrix的状态变更通知信号。

viewSphere(center, radius)#
参数:

旋转和移动相机,使其viewCentercenter,并且半径为radius的球体完全包含在视口中。

注意

仅当镜头在透视或正交投影模式下时才有效。

viewVector()#
返回类型:

QVector3D

属性 viewVectorᅟ 的获取器。

viewVectorChanged(viewVector)#
参数:

viewVectorQVector3D

viewVectorᅟ 属性的变更通知信号。