new UPlaneBufferGeometry(width, height, widthSegments, heightSegments, offsetX, offsetY, skirt, defaultHeight)
격자형 평면 지오메트리를 생성합니다.
| Name | Type | Default | Description |
|---|---|---|---|
width |
number | 1 |
optional
평면 너비 |
height |
number | 1 |
optional
평면 세로 길이 |
widthSegments |
number | 1 |
optional
가로 분할 수 |
heightSegments |
number | 1 |
optional
세로 분할 수 |
offsetX |
number | 0 |
optional
X 오프셋 |
offsetY |
number | 0 |
optional
Y 오프셋 |
skirt |
boolean | true |
optional
가장자리 스커트 생성 여부 |
defaultHeight |
number | UDEF.TERRAIN_NO_DATA |
optional
높이 데이터가 없을 때 사용할 기본 높이 |
Members
-
templateInfoRecord.<string, UPlaneTemplateInfo>
-
Methods
-
change(targetGeometry)UPlaneBufferGeometry
-
대상 geometry의 속성을 이 geometry에 적용합니다. (attributes를 재할당하지 않고 내부 속성만 교체합니다)
Name Type Description targetGeometryUPlaneBufferGeometry 속성을 가져올 대상 지오메트리
Returns:
Type Description UPlaneBufferGeometry 이 지오메트리(this) -
dispose()void
-
공유분을 하나 돌려줍니다. 다른 소유자가 남아 있으면 GL 자원은 그대로 두고, 마지막 소유자였을 때만 실제로 해제합니다.
정점 자료를 제자리에서 고친 뒤 다시 올려야 할 때는 dispose()가 아니라 attribute의 needsUpdate를 사용합니다.Returns:
Type Description void -
getDefaultHeight()number
-
높이 데이터가 없을 때 사용하는 기본 높이값을 반환합니다.
Returns:
Type Description number 기본 높이값 -
getOffset()Vector3
-
평면의 오프셋(원점 이동값)을 반환합니다.
Returns:
Type Description Vector3 오프셋 벡터 -
getOffsetBox()Box3
-
오프셋이 적용된 바운딩 박스를 반환합니다.
Returns:
Type Description Box3 오프셋이 적용된 바운딩 박스 -
getPointAtIndex(x, y, includeSkirt)Object|undefined
-
격자 인덱스(x, y) 위치의 정점 좌표를 반환합니다.
Name Type Default Description xnumber 가로 인덱스
ynumber 세로 인덱스
includeSkirtboolean true optional skirt 영역을 인덱스 범위에 포함할지 여부
Returns:
Type Description Object | undefined 정점 좌표 (범위를 벗어나면 undefined) -
getRatio()number
-
격자 해상도 비율(ratio)을 반환합니다.
Returns:
Type Description number 격자 비율 -
getSegmentCount()number|undefined
-
가로 방향 정점 개수를 반환합니다.
Returns:
Type Description number | undefined 정점 개수 -
getShareCount()number
-
소유자 수를 반환합니다. 생성 직후는 1입니다.
Returns:
Type Description number -
getSkirtIndex()number
-
스커트(가장자리 여백) 인덱스를 반환합니다. (스커트를 쓰지 않으면 0)
Returns:
Type Description number 스커트 인덱스 -
isSkirt()boolean
-
가장자리 스커트를 사용하는지 여부를 반환합니다.
Returns:
Type Description boolean 스커트 사용 여부 -
setDefaultHeight(height)number
-
높이 데이터가 없을 때 사용할 기본 높이값을 설정합니다.
Name Type Description heightnumber 기본 높이값
Returns:
Type Description number 설정된 기본 높이값 -
share()this
-
이 geometry를 다른 메시와 공유합니다. 소유자 수를 1 늘리고 자기 자신을 돌려주므로 생성자 인자에 바로 쓸 수 있습니다.
예:super(tile._mesh.geometry.share(), material, opt)
타일 메시(UTileMesh)와 이미지 레이어의 지형 메시(UTerrainMesh)가 같은 geometry 객체를 쓰므로, 각 소유자는 share()로 받고 dispose()로 돌려줍니다. 마지막 소유자가 dispose()할 때만 GL 자원이 해제됩니다.Returns:
Type Description this -
static getCache(width, height, widthSegments, heightSegments)UPlaneTemplateInfo|undefined
-
주어진 크기·세그먼트에 해당하는 캐시된 템플릿 정보를 반환합니다.
Name Type Description widthnumber 너비
heightnumber 세로 길이
widthSegmentsnumber 가로 분할 수
heightSegmentsnumber 세로 분할 수
Returns:
Type Description UPlaneTemplateInfo | undefined 캐시된 템플릿 정보 (없으면 undefined) -
static getCacheKey(width, height, widthSegments, heightSegments)string
-
크기·세그먼트 값으로 캐시 키 문자열을 생성합니다.
Name Type Description widthnumber 너비
heightnumber 세로 길이
widthSegmentsnumber 가로 분할 수
heightSegmentsnumber 세로 분할 수
Returns:
Type Description string 캐시 키
Type Definitions
-
UPlaneCustomBoxobject
-
customBox에 저장되는 데이터 구조
Properties:
Name Type Description minxnumber minynumber maxxnumber maxynumber heightnumber -
UPlaneTemplateInfoobject
-
templateInfo 캐시에 저장되는 데이터 구조
Properties:
Name Type Description indicesArray.<number> verticesArray.<number> normalsArray.<number> uvsArray.<number> uwidthnumber uheightnumber segmentWidthnumber segmentHeightnumber boundingBoxBox3