업데이트 버전: 2.2.1.13.183.e
업데이트 내용:
1. U3dLodModelLayer 대용량 인스턴스 생성 안정성 개선
특정 타일에 동일한 속성값의 모델이 대량으로 포함된 경우, 일부 인스턴스 모델이 표시되지 않는 현상이 개선되었습니다.
특정 모델 또는 속성 그룹에 많은 개체가 집중된 일부 데이터에서 인스턴스 생성이 원활하지 않은 예외적인 상황이 확인되었습니다.
이번 업데이트에서는 데이터 규모와 구성에 맞춰 인스턴스 생성이 원활하게 처리되도록 개선하여, 대용량 데이터에서도 전체 모델이 안정적으로 생성되고 표출됩니다.
일반적인 환경에서는 별도의 설정 없이 기존과 동일하게 사용할 수 있습니다.
또한 특정 모델의 예상 인스턴스 수를 사전에 관리해야 하는 경우에는 모델별 LOD 설정의 maxCapacity 옵션을 통해 최대 생성 상한을 직접 지정할 수 있습니다.
maxCapacity는 선택 설정이며, 실제 데이터 규모를 고려하여 예상되는 최대 인스턴스 수에 맞게 설정하는 것을 권장합니다.
값을 필요 이상으로 크게 설정할 경우 인스턴스 버퍼의 크기가 함께 증가하여 메모리 사용량과 렌더링 성능에 영향을 줄 수 있으므로, 실제 데이터 규모에 적합한 값으로 설정하는 것을 권장합니다.
설정 관련 항목
- U3dLodModelLayer 생성 옵션 중 일부 ( 'typeLodTable' 속성 설정시 maxCapacity 정보 추가 )

- 모델별로 생성 가능한 InstancedMesh의 최대 capacity를 설정합니다.
- 각 행의 maxCapacity는 lods에서 같은 type을 기준으로 적용되는 고정 상한입니다.
- maxCapacity를 생략하면 해당 type을 기준의 객체(Instanced Mesh)는 필요한 시점에 capacity를 동적으로 증가합니다.
- 대용량 모델이 특정 속성 또는 모델 유형에 집중되는 경우, 예상되는 최대 수를 고려하여 설정하는 것을 권장합니다.
capacity 관련 정보 출력 항목
- U3dLodModelLayer.getInstancesCount(name) : name 대상 mesh의 이름 (*미입력시 전체 정보 반환) capacity와 현재 렌더링 된 갯수 관련 정보를 반환합니다.

- U3dLodModelLayer에서 관리하는 인스턴스 메쉬(Instanced Mesh)들의 상태를 모니터링하기 위한 용도로 사용됩니다.
-
name (String) : 해당 인스턴스 메쉬의 고유 이름입니다.
-
activeCount (Number) : 현재 활성화(Active) 상태인 인스턴스의 총 개수입니다.
-
현재 유효한 feature 정보를 보유하고 있어 실제로 관리되는 인스턴스의 수를 의미합니다.
-
삭제되었거나 사용하지 않는 인덱스가 포함될 수 있는 instancesArrayCount와는 집계 기준이 다르므로, 해당 값은 instancesArrayCount보다 작거나 같을 수 있습니다.
-
capacity (Number) : 해당 메쉬가 수용할 수 있는 최대 용량(Buffer Size)입니다. (*maxCapacity 설정시 해당 값이 설정 됩니다. )
-
instancesArrayCount (Number) : 인스턴스 데이터 배열 내에서 사용 중인 인덱스의 상한선입니다.
-
데이터 배열(Matrix, Color 등)에서 유효한 데이터가 들어있는 범위의 끝을 나타냅니다.
-
인스턴스가 추가되면 증가하고, 마지막 인덱스의 인스턴스가 해제되면 감소합니다.
-
visibilityCount (Number) : visible과 active 두 상태가 모두 활성화된 인 인스턴스 수입니다.
-
lodCount (Array) : LOD(Level of Detail) 단계별로 현재 렌더링되고 있는 인스턴스의 개수 리스트입니다.
-
lodRenderCount (Number) : lodCount 합계이며 카메라 프러스텀 컬링과 LOD index 갱신 이후의 렌더 대상 수입니다.
|