Model QML Type

3D 모델 데이터를 로드할 수 있습니다. 더 보기...

Import Statement: import QtQuick3D
Inherits:

Node

Inherited By:

XrHandModel

속성

상세 설명

모델 항목을 사용하면 메시를 로드하고 머티리얼을 추가하여 메시의 음영 처리 방식을 수정할 수 있습니다. 모델을 렌더링할 수 있으려면 최소한 메시와 머티리얼이 필요합니다.

메시 형식 및 기본 제공 프리미티브

모델은 스토리지 또는 기본 제공 프리미티브 유형 중 하나에서 정적 메시를 로드할 수 있습니다. 사용되는 메시 포맷은 엔진에 기본으로 제공되는 런타임 포맷이지만 에셋 임포트 툴인 Balsam을 통해 추가 포맷을 지원합니다.

빌트인 프리미티브는 source 프로퍼티를 다음 값 중 하나로 설정하여 로드할 수 있습니다: #Rectangle, #Sphere, #Cube, #Cylinder or #Cone.

Model {
    source: "#Sphere"
}

커스텀 지오메트리

스태틱 메시를 사용하는 것 외에도 런타임에 모델에 커스텀 버텍스 데이터를 제공하는 custom geometry 공급자를 구현할 수 있습니다. 모델에 커스텀 머티리얼을 생성하고 사용하는 방법에 대한 예제는 커스텀 지오메트리 예제를 참조하세요.

머티리얼

모델은 여러 개의 서브메시로 구성될 수 있으며, 각 서브메시에는 고유한 머티리얼이 있을 수 있습니다. 하위 메쉬는 materials 목록의 인덱스에 해당하는 머티리얼을 사용합니다. 머티리얼 수가 하위 메시보다 적은 경우 목록의 마지막 머티리얼이 후속 하위 메시에 사용됩니다. 이는 서브 메시 예시에서 확인할 수 있습니다.

모델 항목과 함께 다음 머티리얼을 사용할 수 있습니다: PrincipledMaterial, DefaultMaterial, 및 CustomMaterial 입니다.

피킹

피킹은 특정 시작 위치에서 장면을 통해 광선을 전송하여 광선과 교차하는 모델을 찾는 프로세스입니다. Qt Quick 3D 에서 광선은 일반적으로 터치 또는 마우스 이벤트의 결과인 2D 좌표를 사용하여 뷰에서 전송됩니다. 모델이 광선에 닿은 경우 pickResult 은 모델에 대한 핸들과 광선이 모델에 닿은 위치에 대한 정보와 함께 반환됩니다. custom geometry 을 사용하는 모델의 경우 모델의 bounding volume 에 대해서만 피킹이 수행되므로 정적 메시 데이터보다 피킹이 덜 정확합니다. 광선이 두 개 이상의 모델을 통과하는 경우 가장 가까운 pickable 모델이 선택됩니다.

모델이 pickable 이 되려면 pickable 속성을 true 로 설정해야 합니다. 자세한 내용은 Qt Quick 3D - 선택 예시를 참조하세요.

속성 문서

bakedLightmap : BakedLightmap

이 프로퍼티가 유효하고 활성화된 BakedLightmap 객체로 설정되면 모델은 조명을 베이킹할 때 생성된 라이트맵을 가져오고, 라이트맵은 영구적으로 저장됩니다. 렌더링할 때 모델은 연결된 라이트맵을 로드하여 사용합니다. 기본값은 null입니다.

참고: 모델에 대해 영구적으로 저장된 라이트맵을 생성하려는 경우 모델이 라이트매핑된 장면에 참여할 뿐만 아니라 전체 라이트맵을 베이크하고 저장하기를 원한다는 것을 나타내기 위해 bakedLightmap과 usedInBakedLighting 모두 설정해야 합니다.

라이트맵을 베이크하는 방법에 대한 자세한 내용은 Lightmapper 문서를 참조하세요.

이 속성은 베이킹할 때와 라이트맵을 사용할 때 모두 관련이 있습니다. 베이킹 실행과 생성된 데이터를 사용하는 후속 실행 간에 일관된 상태가 필수적입니다. 예를 들어 라이트맵 키를 변경하면 이전에 생성된 데이터를 로드할 수 없게 됩니다. 예외적으로 enabled 를 사용하여 베이킹 실행 외부에서 라이트맵 사용을 동적으로 전환할 수 있지만 렌더링된 결과는 씬의 조명 bakeMode 설정에 따라 달라질 수 있다는 점에 유의하세요.

usedInBakedLightingLightmapper참조하세요 .


bounds : Bounds [read-only]

모델의 바운드는 모델 주변의 바운딩 볼륨의 범위를 나타냅니다.

참고: 모델을 먼저 로드해야 하는 경우 바운드를 즉시 사용하지 못할 수 있습니다.


castsReflections : bool [since 6.4]

이 프로퍼티가 true 로 설정되면 모델은 반사 프로브에 의해 렌더링되며 리플렉션에서 볼 수 있습니다.

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


castsShadows : bool

이 프로퍼티가 true 인 경우 이 모델의 지오메트리는 섀도 맵에 렌더링할 때 사용되며 베이크된 조명에서도 그림자를 생성합니다.

기본값은 true 입니다.


depthBias : real

모델의 깊이 바이어스를 보유합니다. 오브젝트를 정렬할 때 카메라로부터의 오브젝트 거리에 뎁스 바이어스가 추가됩니다. 이 값을 사용하면 프레임마다 다른 순서로 렌더링될 수 있는 서로 가까운 오브젝트 간의 렌더링 순서를 강제할 수 있습니다. 음수 값은 정렬 값을 카메라에 더 가깝게 이동시키고 양수 값은 카메라에서 더 멀리 이동시킵니다.


geometry : Geometry

모델에 대한 사용자 지정 지오메트리를 지정합니다. 사용자 지정 지오메트리를 사용하는 경우 Model::source 은 비어 있어야 합니다.


instanceRoot : QtQuick3D::Node

이 속성은 인스턴스의 좌표계의 원점을 정의합니다.

자세한 설명은 개요 문서를 참조하세요.

instancingInstancing참조하세요 .


instancing : QtQuick3D::Instancing

이 속성을 설정하면 모델이 정상적으로 렌더링되지 않습니다. 대신 인스턴스 테이블에 정의된 대로 모델의 여러 인스턴스가 렌더링됩니다.

Instancing도 참조하세요 .


instancingLodMax : real

이 모델의 인스턴스가 표시되는 카메라로부터의 최대 거리를 정의합니다. 세부 수준 구현에 사용됩니다.


instancingLodMin : real

이 모델의 인스턴스가 표시되는 카메라로부터의 최소 거리를 정의합니다. 세부 수준 구현에 사용됩니다.


inverseBindPoses : List<matrix4x4>

이 프로퍼티에는 스켈레탈 애니메이션에 사용되는 역 바인드 포즈 매트릭스 목록이 포함되어 있습니다. 각 inverseBindPose 행렬은 처음에 사용되는 skeleton 에서 해당 Joint::index 의 글로벌 트랜스폼의 역을 의미합니다.

참고: 이 프로퍼티는 Model::skeleton 가 유효한 경우에만 사용됩니다.

참고: 행렬 중 일부가 설정되지 않은 경우 아이덴티티 값이 사용됩니다.

Joint::index도 참조하세요 .


levelOfDetailBias : real [since 6.5]

이 속성은 자동 레벨 오브 디테일 메시가 사용되기 전에 렌더링할 때 모델의 크기를 변경합니다. 생성된 각 레벨 오브 디테일 메시에는 각 레벨이 표시되어야 하는 이상적인 크기 값이 포함되어 있으며, 이는 렌더링된 씬에서 해당 메시가 차지하는 비율입니다. 화면에서 몇 픽셀만 표현하는 모델에는 전체 지오메트리가 올바르게 보이지 않으므로 이 경우 더 낮은 레벨 오브 디테일 메시가 대신 사용됩니다. 이 값은 이상적인 값에 대한 편향된 값으로, 1.0 보다 작은 값은 더 낮은 세부 수준으로 전환하기 전에 렌더링 크기를 더 작게 해야 합니다. 1.0 이상의 값은 더 낮은 세부 수준이 더 빨리 사용되도록 합니다. 0.0 값은 세부 수준 사용을 완전히 비활성화합니다.

기본값은 다음과 같습니다. 1.0

참고: 이 프로퍼티는 모델의 지오메트리에 레벨 오브 디테일이 포함된 경우에만 적용됩니다.

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

Camera::levelOfDetailBias참조하십시오 .


lightmapBaseResolution : int

이 모델의 라이트맵의 대략적인 크기를 정의합니다. 기본값은 1024로, 1024x1024를 기본 크기로 나타냅니다. 라이트맵 텍스처의 실제 크기는 메쉬에 따라 다를 수 있으며, 종종 더 클 수 있습니다.

더 단순하고 작은 메시의 경우 또는 더 큰 라이트맵을 사용할 필요가 없다고 판단되는 경우 512 또는 256과 같이 더 작은 값으로 설정할 수 있습니다.

최소값은 128입니다.

이 설정은 영구적으로 저장된 라이트맵과 중간 부분 라이트맵 모두에 적용됩니다. 라이트맵을 베이킹할 때 usedInBakedLighting 을 활성화한 모든 모델은 경로 추적 장면의 일부가 됩니다. 따라서 모든 모델은 라이트맵 UV 언래핑을 수행하고 직접 조명을 계산하는 데 필요한 래스터화 단계를 수행한 다음 씬의 간접광 반사를 고려할 수 있어야 합니다. 그러나 라이트맵에 기여만 하고 저장하지 않는 모델의 경우 기본값으로 충분한 경우가 많습니다. 미세 조정은 생성된 라이트맵을 저장한 다음 사용하는 모델에 더 적합합니다.

이 속성은 라이트맵을 베이킹할 때만 관련이 있습니다. 이후 렌더링 중에 생성된 라이트맵을 사용할 때는 아무런 영향을 미치지 않습니다.

에셋 임포트 시(예: 발삼 툴을 통해) 미리 생성된 라이트맵 UV 데이터가 있는 모델은 라이트맵 UV 언래핑 및 라이트맵 크기 힌트 평가가 이미 수행되었으므로 이 프로퍼티를 무시하고 라이트맵 베이킹 중에 다시 수행하지 않습니다.


materials : List<QtQuick3D::Material>

이 프로퍼티에는 제공된 지오메트리를 렌더링하는 데 사용되는 머티리얼 목록이 포함되어 있습니다. 무엇이든 렌더링하려면 머티리얼이 하나 이상 있어야 합니다. 일반적으로 소스 지오메트리에 포함된 각 서브 메시마다 하나의 머티리얼이 있어야 합니다.

Qt Quick 3D - 서브 메시 예시를참조하십시오 .


morphTargets : List<QtQuick3D::MorphTarget>

이 속성에는 제공된 지오메트리를 렌더링하는 데 사용되는 MorphTarget의 목록이 포함되어 있습니다. 메시에는 모프 타깃의 위치, 노멀, 탄젠트, 바이노멀, 텍스처 좌표, 버텍스 컬러 중 하나 이상의 속성이 있어야 합니다.

MorphTarget참조하세요 .


pickable : bool

이 속성은 모델을 선택할 수 있는지 여부를 제어합니다. 모델을 선택할 수 있게 하려면 이 속성을 true 로 설정합니다. 모델은 기본적으로 선택할 수 없습니다.

View3D::pick도 참조하세요 .


receivesReflections : bool

이 속성을 true 으로 설정하면 모델의 머티리얼이 반사 프로브에서 반사 기여도를 가져옵니다. 모델이 동시에 두 개 이상의 반사 프로브 안에 있는 경우 가장 가까운 반사 프로브가 고려됩니다.


receivesShadows : bool

이 프로퍼티를 true 으로 설정하면 모델의 머티리얼은 그림자를 드리우는 조명의 그림자 기여도를 고려합니다.

참고: 이 모델에 라이트매핑이 활성화된 경우, Light.BakeModeAll이 Light::bakeMode 로 설정된 완전 베이크된 라이트는 이 속성 값에 관계없이 항상 모델에 (베이크된) 그림자를 생성합니다.

기본값은 true 입니다.


skeleton : Skeleton

모델의 스켈레톤을 포함합니다. 스켈레톤은 스키닝을 위해 inverseBindPoses 와 함께 사용됩니다.

참고: 모델의 메시에는 조인트와 웨이트 속성이 모두 있어야 합니다.

참고: 이 속성이 설정되어 있으면 스키닝 애니메이션이 활성화됩니다. 즉, Model 은 모델의 전역 변환을 무시하고 Skeleton 을 기준으로 변환됩니다.

Model::inverseBindPosesQt Quick 3D - 간단한 스키닝 예시도참조하세요 .


skin : Skin

모델의 스켈레톤을 포함합니다. 스켈레톤은 스키닝에 사용됩니다.

참고: 모델의 메시에는 조인트와 웨이트 속성이 모두 있어야 합니다.

참고: 이 속성이 설정되어 있으면 스키닝 애니메이션이 활성화됩니다. 즉, ModelSkin::joints 을 기준으로 변형되며 모델의 전역 변형은 무시됩니다.

참고: 모델에 스켈레톤과 스킨이 모두 있는 경우 스킨이 사용됩니다.

또한 참조 Qt Quick 3D - Simple Skinning Example.


source : url

이 속성은 이 모델의 지오메트리가 포함된 메시 파일 또는 Mesh format and built-in primitives 에 설명된 대로 아래에 나열된 기본 제공 프리미티브 메시 중 하나의 위치를 정의합니다.

  • "#Rectangle"
  • "#Sphere"
  • "#Cube"
  • "#Cone"
  • "#Cylinder"

usedInBakedLighting : bool

이 속성을 true 으로 설정하면 모델은 그림자나 간접광을 드리우는 등의 형태로 라이트맵과 같은 베이크된 조명에 기여합니다. 이 설정은 모델의 라이트맵 생성 제어와는 독립적이며, 이를 위해서는 bakedLightmap 을 사용합니다.

기본값은 false 입니다.

참고: 디자이너와 개발자는 항상 모델별로 개체가 베이크된 조명에 참여하기에 적합한지 평가해야 하므로 기본값은 거짓입니다.

경고: 애니메이션 위치, 회전 또는 기타 속성과 같이 동적으로 변경되는 속성이 있는 모델은 베이크된 조명에 참여하기에 적합하지 않습니다.

라이트맵을 베이크하는 방법에 대한 자세한 내용은 Lightmapper 문서를 참조하세요.

이 속성은 라이트맵을 베이크할 때만 관련이 있습니다. 이후 렌더링 중에 생성된 라이트맵을 사용할 때는 아무런 영향을 미치지 않습니다.

Light::bakeMode, bakedLightmap, Lightmapper라이트맵과 전역 조명을참조하세요 .


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