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- 활성화 트리거 보고서를 sendTriggerReports 로 변경하고 receiveTriggerReports
- CharacterController
speed
의 이름을 movement
- ConvexMeshShape
meshSource
로 이름 변경 source
- HeightFieldShape
heightMap
로 이름 변경 source
- TriangleMeshShape
meshSource
로 이름 변경 source
- PhysicsWorld (
DynamicsWorld
에서 이름 변경)forceDebugView
에서 forceDebugDrawminTimestep
/maxTimestep
에서 minimumTimestep/로 이름 변경maximumTimestep- 장면노드 제거
- 추가됨 scene
- 추가됨 viewport
- DynamicRigidBody
axisLockLinearX/Y/Z
프로퍼티를 비트필드를 취하는 단일 프로퍼티 linearAxisLock 로 변경했습니다.axisLockAngularX/Y/Z
프로퍼티를 비트필드를 취하는 단일 프로퍼티 angularAxisLock 로 변경했습니다.- 새 속성 kinematicPosition, kinematicEulerRotation, kinematicRotation, 그리고 kinematicPivot
Density
열거형 값을 DefaultDensity/CustomDensity 로 변경하고 음수 값의 특수 대소문자를 제거했습니다.linearVelocity
속성을 setLinearVelocity 메서드로 대체했습니다.angularVelocity
속성을 setAngularVelocity 메서드로 대체했습니다.
© 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.