QCamera Class
class Qt3DRender::QCameraQCameraクラスは、シーンがレンダリングされるビューポイントを定義します。詳細...
Header: | #include <Qt3DRender/QCamera> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake: | QT += 3drender |
In QML: | Camera |
Inherits: | Qt3DCore::QEntity |
Status: | Deprecated |
パブリックタイプ
enum | CameraTranslationOption { TranslateViewCenter, DontTranslateViewCenter } |
プロパティ
|
|
パブリック関数
QCamera(Qt3DCore::QNode *parent = nullptr) | |
float | aspectRatio() const |
float | bottom() const |
float | exposure() const |
float | farPlane() const |
float | fieldOfView() const |
float | left() const |
Qt3DRender::QCameraLens * | lens() const |
float | nearPlane() const |
void | pan(float angle) |
void | pan(float angle, const QVector3D &axis) |
void | panAboutViewCenter(float angle) |
void | panAboutViewCenter(float angle, const QVector3D &axis) |
QQuaternion | panRotation(float angle) const |
QVector3D | position() const |
QMatrix4x4 | projectionMatrix() const |
Qt3DRender::QCameraLens::ProjectionType | projectionType() const |
float | right() const |
void | roll(float angle) |
void | rollAboutViewCenter(float angle) |
QQuaternion | rollRotation(float angle) const |
void | rotate(const QQuaternion &q) |
void | rotateAboutViewCenter(const QQuaternion &q) |
QQuaternion | rotation(float angle, const QVector3D &axis) const |
void | tilt(float angle) |
void | tiltAboutViewCenter(float angle) |
QQuaternion | tiltRotation(float angle) const |
float | top() const |
Qt3DCore::QTransform * | transform() const |
void | translate(const QVector3D &vLocal, Qt3DRender::QCamera::CameraTranslationOption option = TranslateViewCenter) |
void | translateWorld(const QVector3D &vWorld, Qt3DRender::QCamera::CameraTranslationOption option = TranslateViewCenter) |
QVector3D | upVector() const |
QVector3D | viewCenter() const |
QVector3D | viewVector() const |
パブリックスロット
void | setAspectRatio(float aspectRatio) |
void | setBottom(float bottom) |
void | setExposure(float exposure) |
void | setFarPlane(float farPlane) |
void | setFieldOfView(float fieldOfView) |
void | setLeft(float left) |
void | setNearPlane(float nearPlane) |
void | setPosition(const QVector3D &position) |
void | setProjectionMatrix(const QMatrix4x4 &projectionMatrix) |
void | setProjectionType(Qt3DRender::QCameraLens::ProjectionType type) |
void | setRight(float right) |
void | setTop(float top) |
void | setUpVector(const QVector3D &upVector) |
void | setViewCenter(const QVector3D &viewCenter) |
void | viewAll() |
void | viewEntity(Qt3DCore::QEntity *entity) |
void | viewSphere(const QVector3D ¢er, float radius) |
シグナル
void | aspectRatioChanged(float aspectRatio) |
void | bottomChanged(float bottom) |
void | exposureChanged(float exposure) |
void | farPlaneChanged(float farPlane) |
void | fieldOfViewChanged(float fieldOfView) |
void | leftChanged(float left) |
void | nearPlaneChanged(float nearPlane) |
void | positionChanged(const QVector3D &position) |
void | projectionMatrixChanged(const QMatrix4x4 &projectionMatrix) |
void | projectionTypeChanged(Qt3DRender::QCameraLens::ProjectionType projectionType) |
void | rightChanged(float right) |
void | topChanged(float top) |
void | upVectorChanged(const QVector3D &upVector) |
void | viewCenterChanged(const QVector3D &viewCenter) |
void | viewVectorChanged(const QVector3D &viewVector) |
メンバー型ドキュメント
enum QCamera::CameraTranslationOption
この列挙型は、カメラビューの中心がどのように変換されるかを指定します。
定数 | 値 | 説明 |
---|---|---|
Qt3DRender::QCamera::TranslateViewCenter | 0 | ビューセンターを平行移動し、ビューの方向が変わらないようにする。 |
Qt3DRender::QCamera::DontTranslateViewCenter | 1 | ビューの方向を変更するビューの中心を変換しない |
プロパティの説明
aspectRatio : float
現在のアスペクト比を保持する。
アクセス関数:
float | aspectRatio() const |
void | setAspectRatio(float aspectRatio) |
通知信号:
void | aspectRatioChanged(float aspectRatio) |
bottom : float
カメラの現在位置を保持する。
こ のプ ロパテ ィ は、projectionType がQCameraLens::OrthographicProjection の場合のみ意味を持ち ます。
アクセス関数:
float | bottom() const |
void | setBottom(float bottom) |
ノーティファイアシグナル:
void | bottomChanged(float bottom) |
exposure : float
カメラの現在の露出を保持します。
デフォルト値は0.0。
Qt 3D Extras のMetalRoughMaterial は現在、カメラの露出を利用する唯一のマテリアルです。負の値を指定するとマテリアルは暗くなり、正の値を指定すると明るくなります。
カスタムマテリアルでは、値を異なるように解釈することもできます。
アクセス関数
float | exposure() const |
void | setExposure(float exposure) |
通知シグナル
void | exposureChanged(float exposure) |
farPlane : float
現在のカメラの遠い平面を保持します。farPlaneよりカメラから遠いオブジェクトはレンダリングされません。
アクセス関数:
float | farPlane() const |
void | setFarPlane(float farPlane) |
通知シグナル
void | farPlaneChanged(float farPlane) |
fieldOfView : float
現在の垂直視野を度単位で保持する。
このプロパティは、aspectRatio とともに、カメラに見えるシーンの範囲を決定します。その点で、このプロパティは、撮影したいシーンに応じて広角(水平方向の視野が広い)または望遠(水平方向の視野が狭い)レンズを選択することに似ていると考えることができる。
fieldOfViewが関係するのは、projectionType がQCameraLens::PerspectiveProjection のときだけである。
関数にアクセスする:
float | fieldOfView() const |
void | setFieldOfView(float fieldOfView) |
通知シグナル:
void | fieldOfViewChanged(float fieldOfView) |
left : float
カメラの現在の左を保持する。
こ のプ ロパテ ィ は、projectionType がQCameraLens::OrthographicProjection の場合のみ意味を持ち ます。
アクセス関数:
float | left() const |
void | setLeft(float left) |
ノーティファイアシグナル:
void | leftChanged(float left) |
[read-only]
lens : Qt3DRender::QCameraLens* const
カメラのQt3DRender::QCameraLens コンポーネントを保持する。
機能にアクセスします:
Qt3DRender::QCameraLens * | lens() const |
nearPlane : float
現在のカメラのニアプレーンを保持します。nearPlane よりもカメラに近いオブジェクトはレンダリングされません。
アクセス関数:
float | nearPlane() const |
void | setNearPlane(float nearPlane) |
通知シグナル
void | nearPlaneChanged(float nearPlane) |
position : QVector3D
親エンティティからの相対座標でカメラの位置を保持する。
アクセス関数:
QVector3D | position() const |
void | setPosition(const QVector3D &position) |
通知シグナル:
void | positionChanged(const QVector3D &position) |
projectionMatrix : QMatrix4x4
カメラの現在の投影行列を保持します。
アクセス関数:
QMatrix4x4 | projectionMatrix() const |
void | setProjectionMatrix(const QMatrix4x4 &projectionMatrix) |
通知信号:
void | projectionMatrixChanged(const QMatrix4x4 &projectionMatrix) |
projectionType : Qt3DRender::QCameraLens::ProjectionType
カメラの投影タイプを保持します。デフォルト値はQCameraLens::PerspectiveProjection 。
- QCameraLens::OrthographicProjection - 平行線は平行に表示されます。オブジェクトは距離に関係なく同じ大きさに見える。
- QCameraLens::PerspectiveProjection - 平行線が遠方で合流して見える。オブジェクトはカメラから離れるほど縮小して見える。
- QCameraLens::FrustumProjection
- QCameraLens::CustomProjection
アクセス機能
Qt3DRender::QCameraLens::ProjectionType | projectionType() const |
void | setProjectionType(Qt3DRender::QCameraLens::ProjectionType type) |
通知信号:
void | projectionTypeChanged(Qt3DRender::QCameraLens::ProjectionType projectionType) |
Qt3DRender::QCameraLens::ProjectionTypeも参照してください 。
right : float
カメラの現在の右位置を保持します。
このプロパティは、projectionType がQCameraLens::OrthographicProjection の場合のみ関連します。
アクセス関数:
float | right() const |
void | setRight(float right) |
Notifier シグナル:
void | rightChanged(float right) |
top : float
カメラの現在の上部を保持します。
このプロパティは、projectionType がQCameraLens::OrthographicProjection の場合のみ関連します。
アクセス関数:
float | top() const |
void | setTop(float top) |
ノーティファイアシグナル:
void | topChanged(float top) |
[read-only]
transform : Qt3DCore::QTransform* const
カメラのQt3DCore::QTransform コンポーネントを保持する。
アクセス関数:
Qt3DCore::QTransform * | transform() const |
upVector : QVector3D
親エンティティからの相対座標で、カメラのアップベクトルを保持する。
アップベクトルは、カメラの上部がどの方向を向いているかを示します。写真を撮ることを想像してください:自分の位置を決め、カメラをターゲットに向けた後、カメラを左右に回転させ、ポートレートまたはランドスケープ(またはアングル!)のショットを撮るかもしれません。
アクセス機能
QVector3D | upVector() const |
void | setUpVector(const QVector3D &upVector) |
通知信号:
void | upVectorChanged(const QVector3D &upVector) |
viewCenter : QVector3D
親エンティティからの相対座標で、カメラのビューセンターを保持します。
直感的には、viewCenterはカメラが向いている位置です。
アクセス関数
QVector3D | viewCenter() const |
void | setViewCenter(const QVector3D &viewCenter) |
ノーティファイアシグナル:
void | viewCenterChanged(const QVector3D &viewCenter) |
[read-only]
viewVector : const QVector3D
親エンティティに対する相対座標で、カメラのビューベクトルを保持する。
このベクトルは、カメラ (position) からターゲット (viewCenter) への変位を表す。
アクセス関数:
QVector3D | viewVector() const |
ノーティファイアシグナル:
void | viewVectorChanged(const QVector3D &viewVector) |
メンバ関数ドキュメント
[explicit]
QCamera::QCamera(Qt3DCore::QNode *parent = nullptr)
指定されたparent で新しい QCamera インスタンスを作成します。
Qt3DRender::QCameraLens *QCamera::lens() const
現在のレンズを返します。
注: プロパティ lens のゲッター関数です。
[invokable]
void QCamera::pan(float angle)
カメラのパン角度をangle 度単位で調整します。
注: この関数は、メタオブジェクトシステムおよび QML から呼び出すことができます。Q_INVOKABLE を参照してください。
[invokable]
void QCamera::pan(float angle, const QVector3D &axis)
カメラのパン角度を、選択されたaxis 上でangle 度単位で調整します。
注意 :この関数はメタオブジェクトシステム経由でも QML からも呼び出すことができます。Q_INVOKABLE を参照してください。
[invokable]
void QCamera::panAboutViewCenter(float angle)
カメラのパン角度を、ビュー中心に対してangle 度単位で調整します。
注 :この関数はメタオブジェクトシステム経由でも QML からも呼び出すことができます。Q_INVOKABLE を参照してください。
[invokable]
void QCamera::panAboutViewCenter(float angle, const QVector3D &axis)
ビューセンターに関するカメラのパンを度単位でangle で調整しますaxis 。
注 :この関数はメタオブジェクトシステム経由でも QML からも呼び出すことができます。Q_INVOKABLE を参照してください。
[invokable]
QQuaternion QCamera::panRotation(float angle) const
カメラのパンまたは Y 軸の左右回転を調整するために、angle に対して計算されたパン回転を度単位で返します。
注意: この関数は、メタオブジェクトシステムおよび QML から呼び出すことができます。Q_INVOKABLE を参照してください。
[invokable]
void QCamera::roll(float angle)
カメラロールをangle 度単位で調整します。
注: この関数はメタオブジェクトシステム経由でも QML からも呼び出すことができます。Q_INVOKABLE を参照してください。
[invokable]
void QCamera::rollAboutViewCenter(float angle)
ビューセンターのカメラロールをangle 度単位で調整します。
注 :この関数はメタオブジェクトシステム経由でも QML からも呼び出すことができます。Q_INVOKABLE を参照してください。
[invokable]
QQuaternion QCamera::rollRotation(float angle) const
カメラのロールまたは Z 軸の傾き左右回転を調整するために、angle に対して計算されたロール回転を度単位で返します。
注意: この関数は、メタオブジェクトシステムおよび QML から呼び出すことができます。Q_INVOKABLE を参照してください。
[invokable]
void QCamera::rotate(const QQuaternion &q)
q でクォータニオンを使ってカメラを回転させます。
注意 :この関数はメタオブジェクトシステム経由でも QML からも呼び出すことができます。Q_INVOKABLE を参照してください。
[invokable]
void QCamera::rotateAboutViewCenter(const QQuaternion &q)
q の Quaternion を使用して、ビューセンターを中心にカメラを回転します。
注: この関数はメタオブジェクトシステム経由でも QML からも呼び出すことができます。Q_INVOKABLE を参照してください。
[invokable]
QQuaternion QCamera::rotation(float angle, const QVector3D &axis) const
計算されたangle に対する回転を度単位で返し、選択されたaxis を取り込みます。
注意: この関数はメタオブジェクトシステム経由でも QML からでも呼び出すことができます。Q_INVOKABLE を参照してください。
[slot]
void QCamera::setAspectRatio(float aspectRatio)
カメラのアスペクト比をaspectRatio に設定します。
注: プロパティのセッター関数aspectRatio 。
aspectRatio()も参照してください 。
[slot]
void QCamera::setBottom(float bottom)
カメラの底面をbottom に設定します。
注: プロパティbottom のセッター関数。
bottom()も参照 。
[slot]
void QCamera::setExposure(float exposure)
カメラの露出をexposure に設定する。
注: プロパティexposure のセッター関数。
exposure()も参照 。
[slot]
void QCamera::setFarPlane(float farPlane)
カメラのファー平面をfarPlane
注: プロパティfarPlane のセッター関数。
farPlane()も参照 。
[slot]
void QCamera::setFieldOfView(float fieldOfView)
カメラの視野を度単位でfieldOfView に設定します。
注: プロパティfieldOfView のセッター関数。
fieldOfView()も参照 。
[slot]
void QCamera::setLeft(float left)
カメラの左をleft に設定します。
注: プロパティleft のセッター関数。
left()も参照して ください。
[slot]
void QCamera::setNearPlane(float nearPlane)
カメラのニアプレーンをnearPlane に設定します。
注: プロパティnearPlane のセッター関数。
nearPlane()も参照して ください。
[slot]
void QCamera::setPosition(const QVector3D &position)
3D空間におけるカメラの位置をposition に設定します。
注: プロパティposition のセッター関数。
position() も参照して ください。
[slot]
void QCamera::setProjectionMatrix(const QMatrix4x4 &projectionMatrix)
カメラの投影行列をprojectionMatrix に設定します。
注意: プロパティprojectionMatrix のセッター関数。
projectionMatrix()も参照して ください。
[slot]
void QCamera::setProjectionType(Qt3DRender::QCameraLens::ProjectionType type)
カメラの投影タイプをtype に設定します。
注意: プロパティprojectionType のセッター関数。
projectionType()も参照して ください。
[slot]
void QCamera::setRight(float right)
カメラの右をright に設定します。
注: プロパティright のセッター関数。
right()も参照 。
[slot]
void QCamera::setTop(float top)
カメラの上部をtop に設定します。
注: プロパティtop のセッター関数。
top() も参照して ください。
[slot]
void QCamera::setUpVector(const QVector3D &upVector)
カメラの上方向ベクトルをupVector に設定します。
注: プロパティupVector のセッター関数。
upVector() も参照して ください。
[slot]
void QCamera::setViewCenter(const QVector3D &viewCenter)
カメラのビュー中心をviewCenter に設定します。
注: プロパティviewCenter のセッター関数。
viewCenter()も参照して ください。
[invokable]
void QCamera::tilt(float angle)
カメラのチルト角をangle (度)単位で調整します。
注: この関数はメタオブジェクトシステムおよび QML から呼び出すことができます。Q_INVOKABLE を参照してください。
[invokable]
void QCamera::tiltAboutViewCenter(float angle)
ビュー中心に対するカメラの傾きをangle 度単位で調整します。
注: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[invokable]
QQuaternion QCamera::tiltRotation(float angle) const
カメラの X 軸の傾きや上下の回転を調整するために、angle に対して計算された傾き回転を度単位で返します。
注意: この関数は、メタオブジェクトシステムおよび QML から呼び出すことができます。Q_INVOKABLE を参照してください。
Qt3DCore::QTransform *QCamera::transform() const
カメラの位置を transform で返します。
注: プロパティ transform のゲッター関数です。
[invokable]
void QCamera::translate(const QVector3D &vLocal, Qt3DRender::QCamera::CameraTranslationOption option = TranslateViewCenter)
カメラの位置とビューベクトルをローカル座標でvLocal だけ変換します。option では、ビュー中心を移動させるかどうかを切り替えることができます。
備考 :この関数はメタオブジェクトシステムおよび QML から呼び出すことができます。Q_INVOKABLE を参照してください。
[invokable]
void QCamera::translateWorld(const QVector3D &vWorld, Qt3DRender::QCamera::CameraTranslationOption option = TranslateViewCenter)
カメラの位置とビューベクトルをワールド座標でvWorld だけ平行移動します。option では、ビューセンターを移動させるかどうかを切り替えることができます。
注意: この関数はメタオブジェクトシステムからも QML からも呼び出すことができます。Q_INVOKABLE を参照してください。
[slot]
void QCamera::viewAll()
viewCenter がシーンのバウンディングボリュームの中心となり、シーン全体がビューポートに収まるように、カメラを回転・移動します。
注意: レンズが透視投影または正射投影モードになっている場合のみ動作します。
Qt3D.Render::Camera::projectionTypeも参照してください 。
[slot]
void QCamera::viewEntity(Qt3DCore::QEntity *entity)
viewCenter がentity のバウンディングボリュームの中心となり、エンティティ全体がビューポートに収まるように、カメラを回転および移動します。
注意: レンズが透視投影モードまたは正射投影モードの場合にのみ動作します。
Camera.projectionTypeも参照してください 。
[slot]
void QCamera::viewSphere(const QVector3D ¢er, float radius)
viewCenter がcenter になり、radius の球体がビューポートに収まるようにカメラを回転・移動します。
注意: レンズが透視投影または正射投影モードになっている場合にのみ動作します。
Qt3D.Render::Camera::projectionTypeも参照して ください。
©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。