new U3dSphere(opt)
구체(Sphere) 도형을 생성합니다.
좌표는 생성 후 setVertex(월드) 또는 setPositions(위경도)로 지정합니다.
| Name | Type | Default | Description |
|---|---|---|---|
opt |
U3dSphere~U3dSphereCO | {} |
optional
생성 옵션 (반지름·세그먼트·각도·색상·투명도·외곽선 등) |
Members
-
EVENTU3dGeometryEMI
-
구체에서 발생하는 이벤트 이름 모음입니다. 도형 공통 이벤트와 같으며, 해제 시점을 알리는
DISPOSE는dispose()가 자원을 정리한 뒤 발생합니다. -
distanceMaterialShaderMaterial undefined
-
setDistanceMaterial: true로 만든 구체들이 공유하는 셰이더 재질 원본입니다. 처음 필요할 때 한 번만 만들어지고, 각 구체는 이 재질을 복제(clone)해 사용합니다. 참조 수를 세어 마지막 구체가dispose될 때 함께 해제되므로 직접dispose하지 않습니다. -
heightSegmentsnumber
-
세로(위아래) 방향 분할 수 (기본값 6, 최소 2).
클수록 표면이 매끄러워지고 정점 수가 늘어납니다. 변경은setParam으로 합니다. -
phiLengthnumber
-
가로 방향으로 그릴 각도 범위 (라디안, 기본값
Math.PI * 2).
360도면 둘레 전체를 그리고, 줄이면 수박 조각처럼 일부만 남습니다. 변경은setParam으로 합니다. -
phiStartnumber
-
가로 방향으로 그리기 시작할 각도 (라디안, 기본값 0). 변경은
setParam으로 합니다. -
radiusnumber
-
구체의 반지름 (미터, 기본값 5).
화면에 그릴 때는 좌표가 지정된 위도의 보정 배율이 곱해지므로 실제 지오메트리 반지름과 다를 수 있습니다. 직접 대입하면 형상에 반영되지 않으므로 변경은setParam으로 합니다. -
setDistanceMaterialboolean
-
카메라 거리에 따라 색과 밝기가 달라지는 셰이더 재질을 사용하는지 여부 (기본값 false).
false면 단색 재질을 사용합니다. 생성 시에만 적용되며setParam으로는 바꿀 수 없습니다. -
thetaLengthnumber
-
세로 방향으로 그릴 각도 범위 (라디안, 기본값
Math.PI).
Math.PI / 2를 넣으면 반구가 됩니다. 변경은setParam으로 합니다. -
thetaStartnumber
-
세로 방향으로 그리기 시작할 각도 (라디안, 기본값 0). 변경은
setParam으로 합니다. -
uselineboolean
-
외곽선(모서리 선) 표시 여부 (기본값 false).
켜면 구체의 모서리를 따라 선 객체가 자식으로 추가되며, 선 색은lineColor옵션 값(없으면 검정)을 사용합니다. 생성 옵션과setParam에서는outline(별칭useline/useLine/edge) 이름을 사용합니다. -
widthSegmentsnumber
-
가로(둘레) 방향 분할 수 (기본값 8, 최소 3).
클수록 옆에서 본 윤곽이 원에 가까워지고 정점 수가 늘어납니다. 변경은setParam으로 합니다.
Methods
-
dispose()
-
구체와 관련 리소스(지오메트리·재질·자식 객체)를 해제합니다.
더 이상 사용하지 않는 구체는 이 함수로 정리하면 메모리 누수를 방지할 수 있습니다. 해제가 끝나면DISPOSE이벤트가 발생하며, 호출한 뒤에는 같은 구체를 다시 사용할 수 없습니다. -
getParam()object
-
구체의 현재 속성을 반환합니다. (
setParam에 다시 넘길 수 있습니다)Returns:
Type Description object 현재 속성 객체 ( radius,widthSegments,heightSegments,phiStart,phiLength,thetaStart,thetaLength,outline과 도형 공통 속성) -
setColor(color)
-
구체의 색상을 설정합니다. 재질에 즉시 반영됩니다.
Name Type Description colorColorRepresentation 표면 색상. 16진수 숫자(
0xff0000), CSS 색 문자열('#ff0000') 또는THREE.Color를 넣습니다 -
setOpacity(opacity)
-
구체의 투명도를 설정합니다. (0이면 완전 투명, 1이면 불투명) 재질에 즉시 반영됩니다.
Name Type Description opacitynumber 투명도 (0~1). 1보다 작으면 투명 처리가 켜집니다
-
setParam(param)
-
구체의 속성(색상·투명도·반지름·세그먼트·각도·외곽선)을 한 번에 변경합니다.
전달한 값만 반영되고 나머지는 기존 값이 유지되며, 형태 관련 값을 바꾸면 지오메트리가 즉시 다시 생성됩니다.setDistanceMaterial은 생성 시에만 적용되어 여기서 변경되지 않습니다.Name Type Description paramU3dSphere~U3dSphereCO optional 변경할 속성 객체. 생략한 속성은 현재 값을 유지합니다
-
updateVertex()
-
설정된 좌표(vertices)의 첫 번째 점으로 구체 위치를 이동시키고 지오메트리를 갱신합니다.
이때 그 지점의 위도로 크기 보정 배율을 다시 계산하므로, 좌표를 옮기면 화면에 그려지는 반지름도 함께 조정됩니다.
Type Definitions
-
U3dSphereCOobject
-
U3dSphere(구체) 생성자에 넘기는 옵션입니다. 외곽선 옵션(
outline과 별칭)은U3dOutlineAliasCO가, 색상·투명도 같은 도형 공통 옵션은U3dGeometryCO가 정의합니다.Properties:
Name Type Argument Default Description radiusnumber <optional>
5 구체의 반지름 (미터). 화면에 그릴 때는 좌표가 지정된 위도의 보정 배율이 곱해집니다
widthSegmentsnumber <optional>
8 가로(둘레) 방향 분할 수. 클수록 옆에서 본 윤곽이 원에 가까워지고 정점 수가 늘어납니다. 최소 3
heightSegmentsnumber <optional>
6 세로(위아래) 방향 분할 수. 클수록 표면이 매끄러워지고 정점 수가 늘어납니다. 최소 2
phiStartnumber <optional>
0 가로 방향으로 그리기 시작할 각도 (라디안)
phiLengthnumber <optional>
가로 방향으로 그릴 각도 범위 (라디안). 기본값은
Math.PI * 2(360도)로 둘레 전체를 그리며, 줄이면 수박 조각처럼 일부만 남습니다thetaStartnumber <optional>
0 세로 방향으로 그리기 시작할 각도 (라디안)
thetaLengthnumber <optional>
세로 방향으로 그릴 각도 범위 (라디안). 기본값은
Math.PI(180도)로 위아래 전체를 그리며,Math.PI / 2를 넣으면 반구가 됩니다opacitynumber <optional>
1 불투명도. 0이면 완전 투명, 1이면 불투명하며 1보다 작으면 투명 처리가 켜집니다
setDistanceMaterialboolean <optional>
false 카메라 거리에 따라 색과 밝기가 달라지는 셰이더 재질을 쓸지 여부. false면 단색 재질을 사용하며, 생성 시에만 적용되고
setParam으로는 바꿀 수 없습니다colorColorRepresentation <optional>
구체 표면 색상. 16진수 숫자(
0xff0000), CSS 색 문자열('#ff0000') 또는THREE.Color를 넣습니다typestring <optional>
도형 종류 식별자 (기본값
'basic'). 구체는 이 값으로 재질이 달라지지 않으며, 재질 종류는setDistanceMaterial이 정합니다