DynamicRigidBody QML Type
움직이거나 움직일 수 있는 육체. 더 보기...
| Import Statement: | import QtQuick3D.Physics |
| Since: | Qt 6.4 |
| Inherits: |
속성
- angularAxisLock : AxisLock
- centerOfMassPosition : vector3d
- centerOfMassRotation : quaternion
- density : real
- gravityEnabled : bool
- inertiaMatrix : list<real>
- inertiaTensor : vector3d
- isKinematic : bool
- isSleeping : bool
(since 6.9) - kinematicEulerRotation : vector3d
(since 6.5) - kinematicPivot : vector3d
(since 6.5) - kinematicPosition : vector3d
(since 6.5) - kinematicRotation : quaternion
(since 6.5) - linearAxisLock : AxisLock
- mass : real
- massMode : MassMode
방법
- void applyCentralForce(vector3d force)
- void applyCentralImpulse(vector3d impulse)
- void applyForce(vector3d force, vector3d position)
- void applyImpulse(vector3d impulse, vector3d position)
- void applyTorque(vector3d torque)
- void applyTorqueImpulse(vector3d impulse)
- void reset(vector3d position, vector3d eulerRotation)
- void setAngularVelocity(vector3d angularVelocity)
- void setLinearVelocity(vector3d linearVelocity)
상세 설명
이 유형은 물리 장면의 일부이며 질량과 속도를 가진 실제 물체처럼 동작하는 물체인 동적 강체를 정의합니다.
참고: triangle mesh, height field 및 plane 지오메트리 모양은 isKinematic 이 false 일 때 충돌 모양으로 허용되지 않습니다.
프로퍼티 문서
angularAxisLock : AxisLock
이 프로퍼티는 DynamicRigidBody.AxisLock 열거형에 정의된 축을 따라 몸체의 각속도를 잠급니다. 여러 축을 비트 단위로 잠그거나 해당 열거형 값을 잠급니다.
사용 가능한 옵션
| Constant | 설명 |
|---|---|
DynamicRigidBody.None | 축을 잠그지 않습니다. |
DynamicRigidBody.LockX | X 축을 잠급니다. |
DynamicRigidBody.LockY | Y 축을 잠급니다. |
DynamicRigidBody.LockZ | Z 축을 잠급니다. |
기본값입니다: DynamicRigidBody.None
centerOfMassPosition : vector3d
몸체를 기준으로 질량 중심의 위치를 정의합니다. massMode 이 DynamicRigidBody.MassAndInertiaTensor 으로 설정된 경우에만 사용됩니다.
기본값입니다: (0, 0, 0)
massMode 및 inertiaTensor 을참조하세요 .
centerOfMassRotation : quaternion
질량 중심 포즈의 회전을 정의합니다. 즉, 몸체에 대한 몸의 주 관성 축의 방향을 지정합니다. massMode 이 DynamicRigidBody.MassAndInertiaTensor 으로 설정된 경우에만 사용됩니다.
기본값입니다: (1, 0, 0, 0)
massMode 및 inertiaTensor 을참조하세요 .
density : real
이 속성은 몸체의 밀도를 정의합니다. massMode 이 DynamicRigidBody.CustomDensity 으로 설정된 경우에만 사용됩니다.
기본값입니다: 0.001
범위: (0, inf]
massMode 를참조하십시오 .
gravityEnabled : bool
이 프로퍼티는 오브젝트가 중력의 영향을 받을지 여부를 정의합니다.
기본값입니다: true
inertiaMatrix : list<real>
관성 텐서 행렬을 정의합니다. 이 행렬은 3x3 행렬로 열이 큰 순서로 정렬됩니다. 이 행렬은 대각선화할 수 있을 것으로 예상됩니다. massMode 이 DynamicRigidBody.MassAndInertiaMatrix 으로 설정된 경우에만 사용됩니다.
기본값입니다: 3x3 아이덴티티 행렬
massMode 및 inertiaTensor 을참조하세요 .
inertiaTensor : vector3d
질량 공간 좌표로 지정된 파라미터를 사용하여 관성 텐서 벡터를 정의합니다.
이것은 3x3 대각선 행렬의 대각선 벡터이며, 대각선이 아닌 월드/액터 공간 관성 텐서를 사용하는 경우 inertiaMatrix 을 대신 사용해야 합니다.
관성 텐서 성분은 양수여야 하며, 어떤 성분의 값이 0이면 해당 축을 따라 무한 관성이 있는 것으로 해석됩니다. massMode 이 DynamicRigidBody.MassAndInertiaTensor 으로 설정된 경우에만 사용된다는 점에 유의하세요.
기본값입니다: (1, 1, 1)
massMode 및 inertiaMatrix 을참조하세요 .
isKinematic : bool
이 속성은 오브젝트의 운동성 여부를 정의합니다. 키네마틱 오브젝트는 외부 힘의 영향을 받지 않으며 무한 질량의 오브젝트로 볼 수 있습니다. 이 속성을 설정하면 모든 시뮬레이션 프레임에서 물리적 오브젝트는 외부 힘에 관계없이 목표 위치로 이동합니다. 키네마틱 오브젝트를 이동하고 회전하려면 kinematicPosition, kinematicRotation, kinematicEulerRotation 및 kinematicPivot 프로퍼티를 사용해야 합니다.
기본값입니다: false
kinematicPosition, kinematicRotation, kinematicEulerRotation, kinematicPivot 을참조하세요 .
isSleeping : bool [since 6.9]
바디가 절전 모드인 경우 true 로 설정됩니다. 이 프로퍼티를 설정하는 것은 기술적으로 가능하지만 물리 시뮬레이션이 실행되는 모든 프레임에 설정되는 읽기 전용 프로퍼티로 보아야 합니다.
이 프로퍼티는 Qt 6.9에 도입되었습니다.
kinematicEulerRotation : vector3d [since 6.5]
오브젝트가 운동할 때, 즉 isKinematic 이 true 으로 설정되었을 때 오브젝트의 오일러 회전을 정의합니다. 시뮬레이션을 반복할 때마다 이 값에 따라 물리적 오브젝트가 업데이트됩니다.
기본값입니다: (0, 0, 0)
이 프로퍼티는 Qt 6.5에 도입되었습니다.
isKinematic, kinematicPosition, kinematicEulerRotation 및 kinematicPivot 를참조하십시오 .
kinematicPivot : vector3d [since 6.5]
오브젝트가 키네마틱 상태일 때, 즉 isKinematic 가 true 로 설정되어 있을 때 오브젝트의 피벗을 정의합니다. 시뮬레이션을 반복할 때마다 이 값에 따라 물리적 오브젝트가 업데이트됩니다.
기본값입니다: (0, 0, 0)
이 프로퍼티는 Qt 6.5에 도입되었습니다.
isKinematic, kinematicPosition, kinematicEulerRotation, kinematicRotation 를참조하십시오 .
kinematicPosition : vector3d [since 6.5]
개체가 운동할 때, 즉 isKinematic 가 true 로 설정되었을 때 개체의 위치를 정의합니다. 시뮬레이션을 반복할 때마다 이 값에 따라 물리적 오브젝트가 업데이트됩니다.
기본값입니다: (0, 0, 0)
이 프로퍼티는 Qt 6.5에 도입되었습니다.
isKinematic, kinematicRotation, kinematicEulerRotation, kinematicPivot 를참조하십시오 .
kinematicRotation : quaternion [since 6.5]
개체가 운동할 때, 즉 isKinematic 이 true 으로 설정되어 있을 때 개체의 회전을 정의합니다. 시뮬레이션을 반복할 때마다 이 값에 따라 물리적 오브젝트가 업데이트됩니다.
기본값입니다: (1, 0, 0, 0)
이 프로퍼티는 Qt 6.5에 도입되었습니다.
isKinematic, kinematicPosition, kinematicEulerRotation, kinematicPivot 를참조하십시오 .
linearAxisLock : AxisLock
이 프로퍼티는 DynamicRigidBody.AxisLock 열거형에 정의된 축을 따라 몸체의 선형 속도를 잠급니다. 여러 축을 비트 단위로 잠그거나 해당 열거형 값을 잠급니다.
사용 가능한 옵션
| Constant | 설명 |
|---|---|
DynamicRigidBody.None | 축을 잠그지 않습니다. |
DynamicRigidBody.LockX | X 축을 잠급니다. |
DynamicRigidBody.LockY | Y 축을 잠급니다. |
DynamicRigidBody.LockZ | Z 축을 잠급니다. |
기본값입니다: DynamicRigidBody.None
mass : real
이 속성은 몸체의 질량을 정의합니다. massMode 이 DynamicRigidBody.CustomDensity 또는 DynamicRigidBody.DefaultDensity 이 아닌 경우에만 사용됩니다. 또한 0 값은 무한 질량으로 해석되며 음수는 허용되지 않는다는 점에 유의하세요.
기본값입니다: 1
범위: [0, inf]
massMode 를참조하세요 .
massMode : MassMode
이 프로퍼티에는 이 바디의 질량과 관성을 계산하는 방법을 설명하는 열거형이 들어 있습니다.
사용 가능한 옵션은 다음과 같습니다:
| Constant | 설명 |
|---|---|
DynamicRigidBody.DefaultDensity | 균일한 밀도를 가정하여 질량과 관성을 계산하려면 PhysicsWorld 의 defaultDensity 프로퍼티에 지정된 밀도를 사용합니다. |
DynamicRigidBody.CustomDensity | 균일한 밀도를 가정하여 질량 및 관성을 계산하려면 density 에 지정된 밀도를 사용합니다. |
DynamicRigidBody.Mass | 지정된 질량을 사용하여 균일한 밀도를 가정하여 관성을 계산합니다. |
DynamicRigidBody.MassAndInertiaTensor | 지정된 질량 값과 관성 텐서를 사용합니다. |
DynamicRigidBody.MassAndInertiaMatrix | 지정된 질량 값을 사용하고 지정된 관성 행렬에서 관성을 계산합니다. |
기본값입니다: DynamicRigidBody.DefaultDensity
메서드 문서
void applyCentralForce(vector3d force)
본문 중앙에 force 을 적용합니다.
void applyCentralImpulse(vector3d impulse)
본문 중앙에 impulse 을 적용합니다.
void applyForce(vector3d force, vector3d position)
본문의 position 에 force 을 적용합니다.
void applyImpulse(vector3d impulse, vector3d position)
본문에 position 에 impulse 을 적용합니다.
void applyTorque(vector3d torque)
본문에 torque 을 적용합니다.
void applyTorqueImpulse(vector3d impulse)
본문에 impulse 토크를 적용합니다.
void reset(vector3d position, vector3d eulerRotation)
본문의 position 및 eulerRotation 을 재설정합니다.
void setAngularVelocity(vector3d angularVelocity)
본문의 angularVelocity 을 설정합니다.
void setLinearVelocity(vector3d linearVelocity)
본문의 linearVelocity 을 설정합니다.
© 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.