PhysicsWorld QML Type

물리 시뮬레이션을 제어합니다. 더 보기...

Import Statement: import QtQuick3D.Physics
Since: Qt 6.4

프로퍼티

신호

상세 설명

피직스월드 유형은 피직스 시뮬레이션을 제어합니다. 이 노드는 피직스 월드의 인스턴스를 생성하고 프로퍼티를 정의하는 데 사용됩니다. 피직스 월드는 하나만 존재할 수 있습니다. qml의 모든 콜리전 노드는 피직스 월드에 자동으로 추가됩니다.

프로퍼티 문서

defaultDensity : real

이 프로퍼티는 입방 단위당 킬로그램으로 측정되는 동적 오브젝트의 기본 밀도를 정의합니다. 이는 한 변이 1 인 정육면체의 무게와 같습니다.

기본값은 0.001 으로 물의 밀도인 1g/cm³에 해당합니다. 측정 단위가 미터인 경우 좋은 값은 1000 입니다. 양수 값만 허용된다는 점에 유의하세요.

범위: (0, inf]


enableCCD : bool

이 속성을 사용하면 연속 충돌 감지가 가능합니다. 이렇게 하면 다른 물체를 빠른 속도로 통과하는 물체(터널링이라고도 함)의 위험을 줄일 수 있습니다. 기본값은 false 입니다.

경고: CCD가 활성화된 트리거 바디를 사용하는 것은 지원되지 않으며 트리거 보고서가 누락되거나 잘못된 트리거 보고서가 생성될 수 있습니다.


forceDebugDraw : bool

이 속성을 사용하면 피직스 월드의 모든 활성 도형에 대한 디버그 드로잉을 활성화할 수 있습니다. 기본값은 false 입니다.


gravity : vector3d

이 프로퍼티는 물리 세계의 중력 벡터를 정의합니다. 기본값은 (0, -981, 0) 입니다. 측정 단위가 미터이고 지구 중력을 시뮬레이션하는 경우 값을 Qt.vector3d(0, -9.81, 0) 로 설정합니다.


maximumTimestep : real

이 속성은 최대 시뮬레이션 시간 간격(밀리초)을 정의합니다. 기본값은 33.333 이며 초당 30 프레임에 해당합니다.

범위: [0, inf]


minimumTimestep : real

이 속성은 최소 시뮬레이션 타임스텝을 밀리초 단위로 정의합니다. 기본값은 16.667 (초당 60 프레임에 해당)입니다.

범위: [0, maximumTimestep]


numThreads : int [since 6.7]

이 속성은 물리적 시뮬레이션에 사용되는 스레드 수를 정의합니다. 이것이 값의 범위가 해석되는 방식입니다:

범위설명
Negative[-inf, -1]자동 스레드 수입니다. 애플리케이션이 시스템에서 스레드 수를 쿼리하려고 시도합니다.
0{0}스레딩이 없으며 시뮬레이션이 순차적으로 실행됩니다.
Positive[1, inf]특정 스레드 수입니다.

기본값은 자동 스레드 수를 의미하는 -1 입니다.

참고: 일단 씬이 실행되기 시작하면 스레드 수를 변경할 수 없습니다.

이 프로퍼티는 Qt 6.7에 도입되었습니다.


reportKinematicKinematicCollisions : bool [since 6.7]

이 프로퍼티는 한 쌍의 키네마틱 동적 리지드 바디 간의 충돌이 접촉 보고서를 트리거할지 여부를 제어합니다.

기본값은 false 입니다.

참고: 씬이 실행되기 시작하면 이 설정을 변경할 수 없습니다.

이 속성은 Qt 6.7에 도입되었습니다.

PhysicsWorld::reportStaticKinematicCollisions, DynamicRigidBody, PhysicsNode::bodyContact참조하십시오 .


reportStaticKinematicCollisions : bool [since 6.7]

이 프로퍼티는 정적 리지드 바디와 동적 리지드 바디 사이의 충돌이 접촉 보고서를 트리거할지 여부를 제어합니다.

기본값은 false 입니다.

참고: 씬이 실행되기 시작하면 이 설정을 변경할 수 없습니다.

이 속성은 Qt 6.7에 도입되었습니다.

PhysicsWorld::reportKinematicKinematicCollisions, StaticRigidBody, DynamicRigidBody, PhysicsNode::bodyContact참조하십시오 .


running : bool

이 속성은 물리적 시뮬레이션을 시작하거나 중지합니다. 기본값은 true 입니다.


scene : Node

이 속성은 물리 시뮬레이션의 모든 노드를 포함하는 최상위 노드를 정의합니다. 이 노드의 조상인 모든 피직스 오브젝트는 이 PhysicsWorld 의 일부로 표시됩니다.

참고: 여러 개의 PhysicsWorld 에 동일한 씬 노드를 사용하는 것은 지원되지 않습니다.


typicalLength : real

이 프로퍼티는 시뮬레이션에서 오브젝트의 대략적인 크기를 정의합니다. 이는 특정 길이 관련 허용 오차를 추정하는 데 사용됩니다. 이 크기보다 훨씬 작거나 큰 오브젝트는 제대로 작동하지 않을 수 있습니다. 기본값은 100 입니다.

범위: [0, inf]


typicalSpeed : real

이 속성은 시뮬레이션에서 물체의 일반적인 속도 크기를 정의합니다. 이는 충격 속도와 시뮬레이션에서 물체를 절전 모드로 전환할 수 있는 운동 에너지 임계값을 기준으로 접촉을 튀는 것으로 처리할지 아니면 정지한 것으로 처리할지를 예측하는 데 사용됩니다.

일반적인 물리적 환경에서는 물체가 중력에 의해 1초 동안 떨어지는 대략적인 속도를 선택하는 것이 좋습니다. 기본값은 1000 입니다.

범위: [0, inf]


viewport : Node

이 속성은 forceDebugDraw 가 활성화된 경우 디버그 컴포넌트가 그려질 뷰포트를 정의합니다. 설정하지 않으면 scene 노드가 사용됩니다.

forceDebugDrawscene참조하세요 .


신호 문서

[since 6.5] frameDone(float timestep)

이 신호는 물리적 시뮬레이션이 프레임 시뮬레이션을 완료할 때 방출됩니다. timestep 매개변수는 시뮬레이션에서 시간 간격이 얼마나 오래 지속되었는지를 밀리초 단위로 나타냅니다.

참고: 해당 핸들러는 onFrameDone 입니다.

이 신호는 Qt 6.5에 도입되었습니다.


© 2025 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.