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)
상세 설명
이 유형은 동적 강체를 정의합니다. 동적 강체는 물리 씬의 일부이며, 질량과 속도를 가진 물리적 물체처럼 행동하는 객체입니다.
참고: isKinematic 가 false 인 경우,triangle mesh, height field 및 plane 지오메트리 모양은 충돌 모양으로 사용할 수 없습니다.
속성 설명서
angularAxisLock : AxisLock
이 속성은 ` DynamicRigidBody.AxisLock` 열거형으로 정의된 축을 따라 물체의 각속도를 고정합니다. 여러 축을 고정하려면 해당 열거형 값들을 비트별 OR 연산으로 결합하면 됩니다.
사용 가능한 옵션:
| 상수 | 설명 |
|---|---|
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` 열거형으로 정의된 축을 따라 물체의 선속도를 고정합니다. 여러 축을 고정하려면 해당 열거형 값들을 비트별 OR 연산으로 결합하면 됩니다.
사용 가능한 옵션:
| 상수 | 설명 |
|---|---|
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
이 속성은 해당 천체의 질량과 관성이 어떻게 계산되는지를 설명하는 열거형을 포함합니다.
사용 가능한 옵션:
| 상수 | 설명 |
|---|---|
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.