한국어
Qt
 

Qt 6 Qt 6.4에 추가될 Qt Quick 3D Physics

makersweb 2022.08.07 17:21 조회 수 : 346

Qt 6.4에는 Qt Quick 3D Physics 모듈이 기술 미리보기로 새롭게 포함된다. 이름에서 알 수 있듯이 이것은 Qt Quick 3D 위에 물리적 시뮬레이션 기능을 추가하는 모듈이다. 특히 단순한 기본 요소(구, 상자, 평면 및 캡슐)와 볼록 및 삼각형 메시 및 하이트맵을 사용하여 강체 시뮬레이션이 가능하다. 질량, 밀도, 중력 및 마찰과 같은 물리적 특성을 사용자 정의할 수 있다. 이를 통해 애니메이션을 직접 만들지 않고도 3D 장면에서 물리적으로 올바른 동작을 만들 수 있다.

장면에 물리학을 추가하는 것은 매우 쉽다. 다음 스니펫은 서로 상호 작용하는 평면과 상자가 있는 전체 장면을 만들고 렌더링하는 데 필요한 모든 것이다.

import QtQuick
import QtQuick3D
import QtQuick3D.Physics

Window {
    visible: true
    DynamicsWorld {}

    View3D {
        anchors.fill: parent

        PerspectiveCamera {
            position: Qt.vector3d(0, 100, 500)
            clipFar: 5000
            clipNear: 1
        }

        DirectionalLight {
            eulerRotation.x: -45
            eulerRotation.y: 45
            castsShadow: true
        }

        StaticRigidBody {
            position: Qt.vector3d(0, 0, 0)
            eulerRotation: Qt.vector3d(-90, 0, 0)
            collisionShapes: PlaneShape {}
            Model {
                source: "#Rectangle"
                scale: Qt.vector3d(10, 10, 10)
                materials: PrincipledMaterial {
                    baseColor: "green"
                }
                castsShadows: false
                receivesShadows: true
            }
        }

        DynamicRigidBody {
            position: Qt.vector3d(0, 200, 0)
            collisionShapes: BoxShape {}
            Model {
                source: "#Cube"
                materials: PrincipledMaterial {
                    baseColor: "yellow"
                }
            }
        }
    }
}

 

다음과 같이 보인다.

e6dd3f2cffeda22afb85cf1056a9e2ba.png

 

Qt Quick 3D Physics 는 순수한 QML API이며 곧 출시될 Qt 6.4에서 기술 프리뷰로 제공된다. 문서에는 모듈의 다양한 기능을 보여주는 몇 가지 설명 예제가 함께 제공된다. 직접 사용해보고 싶다면 여기에서 시작하는 것이 가장 좋다. 이 모듈에 대해 말할 수 있는 것이 훨씬 더 많지만 한 장의 그림이 수천 단어를 말해주기 때문에 다음의 예제 비디오가 훨씬 더 많은 것을 표현할 것이라고 생각된다.

 

(언리얼 엔진에 비할 바는 아니지만 그 영역을 넘볼지도..😎)

 

번호 제목 글쓴이 날짜 조회 수
공지 Qt프로그래밍(QtQuick) Beginner를 위한 글 읽는 순서 운영자 2019.01.05 86203
19 Qt의 스레드간 시그널 슬롯의 커넥션타입 [1] makersweb 2015.10.24 10224
18 Ubuntu Linux에서 Qt Creator 설치 file makersweb 2016.03.06 10683
17 Qt 응용프로그램 배포(windows) file makersweb 2018.10.10 11390
16 Qt Installer Framework - 패키징, 설치프로그램 제작 file makersweb 2018.10.14 11699
15 QtSerialPort를 사용한 시리얼(Serial)통신 [3] makersweb 2019.05.21 11982
14 Qml 기본 컴포넌트 강좌 (1) file makersweb 2019.01.03 12126
13 Qt의 오픈소스 라이센스 소개 file makersweb 2019.12.15 12628
12 Windows에서 라즈베리파이3용 Qt5.10.0 크로스컴파일 [20] file makersweb 2018.02.23 13055
11 QML과 QtQuick 모듈 개념과 기본 타입들 makersweb 2019.04.26 13441
10 Qml과 C++로 구현하는 GUI어플리케이션 file makersweb 2018.12.25 14022
9 Qt 프로그래밍의 시작 makersweb 2015.10.25 14415
8 초보자를 위한 첫번째 프로젝트 - QML로 만드는 Hello World file makersweb 2018.03.16 14523
7 QtCreator Design으로 GUI만들기 (QML로 만드는 Hello World -2) [1] file makersweb 2019.05.26 14985
6 QThread 소개 및 예제 makersweb 2019.12.25 19606
5 Qt의 시그널 슬롯 시스템 file makersweb 2015.10.20 23682
4 Windows에서 Qt 설치 따라하기 file makersweb 2019.10.14 30939
3 QString 문자열 다루기 예제 운영자 2019.01.26 40371
2 콘솔에서 사용자 입력받기 file makersweb 2020.03.22 51864
1 가상키보드(Qt Virtual Keyboard)를 사용하는 방법 [32] file makersweb 2019.05.03 221929