コンテンツにスキップ

MoonVisualizer

月を表現するクラス

同時に使えるのは 1 つの Viewer だけ。破棄されていない別の Viewer に渡すと警告を出し、その Viewer では 使われない。Viewer を作り直して使い回すときは、前の Viewer の Viewer.destroy を先に呼ぶ (設定した値は次の Viewer へ引き継がれる)。複数の Viewer を並べるときは Viewer ごとに作る。

Constructors

new MoonVisualizer()

new MoonVisualizer(image_src): MoonVisualizer

constructor

Parameters

Parameter Type Description
image_src string | URLResource image source

Returns

MoonVisualizer

Accessors

glow_intensity

get glow_intensity(): number

月の周囲の円光の強さ (無次元の倍率。0.0 以上)。

置かれた値を返す。月を隠している間も値は変わらない。

See

MoonVisualizer.setGlowIntensity

Returns

number


visibility

get visibility(): boolean

可視性フラグを取得

Returns

boolean

Methods

destroy()

destroy(): void

破棄

Returns

void


draw()

draw(render_stage, gocs_to_clip, view_to_gocs): void

月を描画

Parameters

Parameter Type Description
render_stage RenderStage レンダリングステージ
gocs_to_clip Matrix gocs_to_clip
view_to_gocs Matrix view_to_gocs

Returns

void


drawMask()

drawMask(render_stage, gocs_to_clip, view_to_gocs): void

月マスクを描画

Parameters

Parameter Type Description
render_stage RenderStage レンダリングステージ
gocs_to_clip Matrix gocs_to_clip
view_to_gocs Matrix view_to_gocs

Returns

void


init()

init(viewer): void

初期化 Viewerのコンストラクタで呼び出されます。

Parameters

Parameter Type Description
viewer Viewer 所属するViewer

Returns

void


setGlowIntensity()

setGlowIntensity(value): void

月の周囲の円光 (明るい暈) の強さを設定する。

太陽の SunVisualizer.setGlowIntensity と同じ意味で、月光の照度 (Moon.illuminance) と大気のもや量に掛かる演出上の増幅。0 で円光を無効化できる。

MoonVisualizer.setVisibility で月を隠している間は円光も描かれない (値は保たれ、表示を戻すとそのまま反映される)。プリセット (Atmosphere.applyPreset) の aureole_intensity もここへ書き込まれ、 後から書いたほうが残る。

Parameters

Parameter Type Description
value number 円光の強さ (無次元の倍率)。0.0 以上 (負の値は 0.0)

Returns

void

Default Value

0.3 (filmic-physical プリセットの値)


~~setIntensity()~~

setIntensity(value): void

輝度係数を設定

月光の照度を既定 (Moon.DEFAULT_ILLUMINANCE) の value 倍にする。 ディスクだけでなく空・地表・水面の月光も一緒に変わる。

Parameters

Parameter Type Description
value number 輝度係数 (0 以上)

Returns

void

Deprecated

Moon.setIlluminance を使う


~~setRadius()~~

setRadius(value): void

半径係数を設定

月の視直径を既定の value 倍にする。照度は変わらないので、大きくすると ディスクは暗くなる (太陽の SunVisualizer.setRadius と同じ)。

Parameters

Parameter Type Description
value number 半径係数 (0 より大きい値)

Returns

void

Deprecated

Moon.setAngularDiameterDegree を使う


setVisibility()

setVisibility(flag): void

可視性フラグを設定

Parameters

Parameter Type
flag boolean

Returns

void