Qt Quick 3D Physics 테크 프리뷰 대비 API 변경 사항
Qt 6.5.0 릴리스부터 Qt Quick 3D Physics 모듈은 더 이상 테크 프리뷰 상태가 아닙니다. API에 대한 피드백 및 검토 과정을 거쳐 소스 호환성이 없는 일부 변경 사항이 적용되었습니다.
대부분의 변경 사항은 다른 API와의 일관성을 유지하고 이름을 더 직관적으로 만들기 위한 타입 및 속성 이름 변경입니다. 가장 눈에 띄는 이름 변경은 ` DynamicsWorld `을 ` PhysicsWorld`으로 변경한 것으로, 이는 모든 애플리케이션에 영향을 미칩니다.
가장 중요한 동작상의 변경 사항은 ` kinematic bodies`의 처리 방식입니다. 키네마틱 바디의 위치/방향을 변경하는 작업은 더 이상 ` Node ` 속성(`position`, ` rotation` 등)을 사용하여 수행되지 않으며, 대신 새로운 속성인 ` kinematicPosition`, ` kinematicEulerRotation`, ` kinematicRotation` 및 ` kinematicPivot`을 사용하여 수행됩니다. 이러한 변경은 키네마틱 바디의 시각적 움직임이 시뮬레이션 단계 하나보다 일찍 발생하지 않고, 시뮬레이션의 나머지 부분과 동기화되도록 하기 위함입니다.
DynamicRigidBody.density 속성은 더 이상 음수 값(및 0)을 특수한 경우로 취급하지 않습니다. 대신, Density 을 대체하는 두 가지 새로운 massMode 열거형 값이 있습니다:
DefaultDensity | 물체의 밀도는 ` PhysicsWorld.defaultDensity`로 정의됩니다. 이것이 기본값입니다. |
CustomDensity | 바디의 밀도는 density 속성으로 정의됩니다. |
enableTriggerReports 속성의 이름이 sendTriggerReports 으로 변경되었습니다. 또한, receiveTriggerReports 을 설정하여 물리 객체가 트리거 바디에 진입할 때 알림을 받을 수 있게 되었습니다.
다음은 모든 API 변경 사항의 전체 목록입니다:
- CollisionShape:
- enableDebugView의 이름이 enableDebugDraw
- 추상 기본 유형 `
CollisionNode`의 이름을 PhysicsNode- enableTriggerReports를 sendTriggerReports 로 변경하고 receiveTriggerReports
- CharacterController
speed의 이름을 movement
- ConvexMeshShape
meshSource의 이름을 source
- HeightFieldShape
heightMap의 이름을 변경하여 source
- TriangleMeshShape
meshSource의 이름을 다음과 같이 변경했습니다. source
- PhysicsWorld (
DynamicsWorld에서 이름 변경됨)forceDebugView의 이름을 다음과 같이 변경했습니다. forceDebugDrawminTimestep/maxTimestep를 minimumTimestep 로 이름 변경 /maximumTimestep- sceneNode 제거
- 추가됨 scene
- 추가됨 viewport
- DynamicRigidBody
axisLockLinearX/Y/Z속성을 비트필드를 받는 단일 속성 linearAxisLock 로 변경axisLockAngularX/Y/Z속성을 비트필드를 받는 단일 속성 angularAxisLock 으로 변경했습니다- kinematicPosition, kinematicEulerRotation, kinematicRotation 라는 새로운 속성을 추가했으며, kinematicPivot
Density열거형 값을 DefaultDensity/CustomDensity 로 변경하고 음수 값에 대한 특수 처리를 제거했습니다.linearVelocity속성을 setLinearVelocity 메서드로 대체했습니다.angularVelocity속성을 setAngularVelocity 메서드로 대체했습니다.
© 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.