GeOnDT GeOnDT for JS

Class: U3dHeatManager

U3dHeatManager

열원(Heat)의 셰이더·텍스처·색상 팔레트를 관리하는 매니저 클래스입니다.
대상 Object3D별로 열원 데이터를 모아 재질(material)에 열 오버레이 셰이더를 주입합니다. 보통 U3dHeatGeometry가 내부적으로 사용합니다.

new U3dHeatManager()

Methods

registerHeat(heat, target)

특정 대상(target)에 열원을 등록합니다.
등록된 대상의 재질에 열 오버레이가 반영되어, 열원의 온도·범위 영향을 받게 됩니다.

Name Type Description
heat U3dSphere

열원 객체

target Object3D

대상 Object3D

setHeatPalette(colors)

색상 배열로 열원 색상 팔레트를 균등 간격으로 설정합니다.
배열의 색상들이 낮은 온도부터 높은 온도까지 균등하게 배치되어 보간됩니다. (최소 2개의 색상이 필요합니다.)

Name Type Description
colors Array.<ColorRepresentation>

색상 배열 (최소 2개)

unregisterHeatTarget(heat, target)

특정 대상(target)에서 열원 등록을 해제합니다.
해당 대상에 남은 열원이 없으면 재질을 원래대로 복원하고, 남아 있으면 텍스처만 다시 구성합니다.

Name Type Description
heat U3dSphere

열원 객체

target Object3D

대상 Object3D

update(heat)

열원의 변경사항(온도·범위 등)을 그 열원에 등록된 모든 대상에 다시 반영합니다.

Name Type Description
heat U3dSphere

열원 객체

Type Definitions

HeatGroupEntryobject

HeatGroup 엔트리. 타겟별 열원 정보를 관리한다.

Properties:
Name Type Description
heats Set.<U3dSphere>

등록된 열원 Set

uniforms U3dHeatManager.types~HeatUniforms | null

shader uniform 객체

texture DataTexture | null

센서 데이터 텍스처

buffer Float32Array | null

센서 데이터 버퍼

originM Map.<Mesh, Material>

원본 머터리얼 백업

materialPatched boolean

머터리얼 패치 여부

HeatUniformsobject

열원 셰이더 uniforms 객체

Properties:
Name Type Description
uSensorTex Object

센서 데이터 텍스처

uSensorCount Object

센서 개수

uSensorTexSize Object

텍스처 width

uTempMin Object

최소 온도

uTempMax Object

최대 온도

uInnerRadius Object

100% 영향 반경

uOuterRadius Object

감쇠 구간 반경

uOpacity Object

전체 알파

uTargetWorldInv Object

타겟 월드 역행렬

uTargetScale Object

타겟 월드 스케일

uPaletteTex Object

팔레트 텍스처

PaletteStopobject

팔레트 보간 정보 (정규화된 t, 색상, 투명도)

Properties:
Name Type Argument Default Description
t number

정규화된 위치 (0~1)

color Color

색상

opacity number <optional>
1.0

투명도