@openheart/tavio-renderer 2.3.30-with-wasm → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/esm/assets/{tavio-JUxSmuMi.js → tavio-DVLlyem4.js} +211 -211
- package/build/esm/assets/{workerHelpers-yS8SNwfU.js → workerHelpers-BWRcUO-d.js} +1 -1
- package/build/esm/index.js +7366 -6111
- package/build/esm/types/editor/selector/boxSelector.d.ts +4 -3
- package/build/esm/types/module.d.ts +5 -4
- package/build/esm/types/viewer/canvas.d.ts +150 -1560
- package/build/esm/types/viewer/constants.d.ts +99 -0
- package/build/esm/types/viewer/driver/coreDriver.d.ts +1402 -0
- package/build/esm/types/viewer/driver/iCoreDriver.d.ts +206 -0
- package/build/esm/types/viewer/driver/offscreenDriver.d.ts +222 -0
- package/build/esm/types/viewer/driver/rpcBridge.d.ts +39 -0
- package/build/esm/types/viewer/driver/workerElementAdapter.d.ts +66 -0
- package/build/esm/types/viewer/materialGenerator.d.ts +24 -27
- package/build/esm/types/viewer/renderView.d.ts +4 -3
- package/build/esm/types/viewer/shaderRegistry.d.ts +22 -0
- package/build/esm/types/viewer/tavioMesh/localTransform.d.ts +65 -0
- package/build/esm/types/viewer/tavioMesh/minMaxRange.d.ts +47 -0
- package/build/esm/types/viewer/tavioMesh/parsers/imageParser.d.ts +14 -0
- package/build/esm/types/{utility/plyDecoder.d.ts → viewer/tavioMesh/parsers/plyParser.d.ts} +4 -15
- package/build/esm/types/viewer/tavioMesh/parsers/splatParser.d.ts +12 -0
- package/build/esm/types/viewer/tavioMesh/selection.d.ts +39 -0
- package/build/esm/types/viewer/{tavioMesh.d.ts → tavioMesh/tavioMesh.d.ts} +73 -62
- package/build/esm/types/viewer/types.d.ts +376 -0
- package/build/esm/types/worker/renderingWorker.d.ts +8 -0
- package/build/esm/types/worker/tavioWorker.d.ts +1 -1
- package/build/esm/wasm/pkg/no-thread/tavio.d.ts +13 -13
- package/build/esm/wasm/pkg/no-thread/tavio.js +125 -125
- package/build/esm/wasm/pkg/no-thread/tavio_bg.wasm +0 -0
- package/build/esm/wasm/pkg/no-thread/tavio_bg.wasm.d.ts +13 -13
- package/build/esm/wasm/pkg/thread/tavio.d.ts +16 -16
- package/build/esm/wasm/pkg/thread/tavio.js +154 -154
- package/build/esm/wasm/pkg/thread/tavio_bg.wasm +0 -0
- package/build/esm/wasm/pkg/thread/tavio_bg.wasm.d.ts +16 -16
- package/package.json +1 -1
- package/build/esm/types/animation/animationController.d.ts +0 -146
|
@@ -0,0 +1,1402 @@
|
|
|
1
|
+
import { RawShaderMaterial, WebGLRenderTarget, WebGLRenderer, PMREMGenerator, MeshStandardMaterialParameters } from 'three';
|
|
2
|
+
import { iSphereSelectorOption } from '../../editor/selector/sphereSelector';
|
|
3
|
+
import { iBoxSelectorOption } from '../../editor/selector/boxSelector';
|
|
4
|
+
import { iSelectorInfo, tControlsType, tMaskSource, tSelectionMode, iVectorLike, iCameraPathOption, iCameraParameter, iViewerOption, iViewerMaterialOption, iLoadingOption, iHeaderInfo, iTransform, iPickingInfo, tUniformValue, tCustomDefines, tCustomUniforms } from '../types';
|
|
5
|
+
import { iCollisionTarget } from '../../worker/tavioWorker';
|
|
6
|
+
import { WorkerElementAdapter } from './workerElementAdapter';
|
|
7
|
+
import { default as EventEmitter } from 'eventemitter3';
|
|
8
|
+
import { CameraPath } from '../../camera/cameraPath';
|
|
9
|
+
import { iLatitudeLongitude } from '../../camera/flightControls';
|
|
10
|
+
import { ConsoleOutput } from '../../utility/console';
|
|
11
|
+
import { TavioMesh } from '../tavioMesh/tavioMesh';
|
|
12
|
+
import { RenderView } from '../renderView';
|
|
13
|
+
import { iCoreDriver } from './iCoreDriver';
|
|
14
|
+
export declare class CoreDriver extends EventEmitter implements iCoreDriver {
|
|
15
|
+
canvas: HTMLCanvasElement | OffscreenCanvas;
|
|
16
|
+
viewerOption: iViewerOption;
|
|
17
|
+
elementAdapter?: WorkerElementAdapter;
|
|
18
|
+
getElementAdapter(): HTMLCanvasElement | OffscreenCanvas | WorkerElementAdapter;
|
|
19
|
+
/** WebGL コンテキスト(WebGL 2.0) */
|
|
20
|
+
gl: WebGL2RenderingContext;
|
|
21
|
+
/** Three.js レンダラー */
|
|
22
|
+
renderer: WebGLRenderer;
|
|
23
|
+
/** 背景生成用ジェネレータ */
|
|
24
|
+
pmremGenerator: PMREMGenerator;
|
|
25
|
+
/** ワールド座標のピックを行うために座標を書き込むレンダーターゲット */
|
|
26
|
+
pickingRenderTarget: WebGLRenderTarget;
|
|
27
|
+
/** インデックス選択を行うために座標を書き込むレンダーターゲット */
|
|
28
|
+
indexSelectionRenderTarget: WebGLRenderTarget;
|
|
29
|
+
/** インデックス選択用オフスクリーンバッファの解像度縮小率 */
|
|
30
|
+
indexSelectionDivisor: number;
|
|
31
|
+
/** レンダービューを保持する Map */
|
|
32
|
+
renderViewMap: Map<Symbol | string, RenderView>;
|
|
33
|
+
/** 既定のレンダービューを意味する Symbol */
|
|
34
|
+
defaultRenderViewSymbol: Symbol;
|
|
35
|
+
/** 現在アクティブなレンダービューの名前 */
|
|
36
|
+
currentRenderViewName: Symbol | string;
|
|
37
|
+
/** 現在アクティブなレンダービュー */
|
|
38
|
+
currentRenderView: RenderView;
|
|
39
|
+
/** 各種 TavioMesh を保持する Map */
|
|
40
|
+
meshMap: Map<string, TavioMesh>;
|
|
41
|
+
/** コンソール出力のラッパークラスのインスタンス */
|
|
42
|
+
console: ConsoleOutput;
|
|
43
|
+
/** uniform 変数管理 */
|
|
44
|
+
uniforms: any;
|
|
45
|
+
/** カメラの可動域制御用コライダーが有効かどうか */
|
|
46
|
+
cameraColliderEnabled: boolean;
|
|
47
|
+
/** TavioMesh から取得した全スプラットの最大距離 */
|
|
48
|
+
maxDistance: number;
|
|
49
|
+
/** レンダリングをインタラクティブに行うかどうか */
|
|
50
|
+
isInteractive: boolean;
|
|
51
|
+
/** レンダリングを行うかどうか */
|
|
52
|
+
isRendering: boolean;
|
|
53
|
+
/** 読み込みと初期化が現在進行中かどうか */
|
|
54
|
+
isLoading: boolean;
|
|
55
|
+
/** pause() によって描画が一時停止されているかどうか */
|
|
56
|
+
isPaused: boolean;
|
|
57
|
+
/** レンダリングを開始した瞬間のタイムスタンプ */
|
|
58
|
+
startRendering: number;
|
|
59
|
+
private localTransformGizmoParent?;
|
|
60
|
+
private localTransformGizmoTarget?;
|
|
61
|
+
private localTransformGizmo?;
|
|
62
|
+
private localTransformGizmoEnabled;
|
|
63
|
+
private localTransformInitialQuaternion;
|
|
64
|
+
private cursorMap;
|
|
65
|
+
private previousTargetMap;
|
|
66
|
+
private torusGeometry?;
|
|
67
|
+
private torusMaterial?;
|
|
68
|
+
private sphereGeometry?;
|
|
69
|
+
private sphereMaterial?;
|
|
70
|
+
private shaderRegistry;
|
|
71
|
+
/** WebGLRenderer.getSize 用(RenderView は論理ピクセル。canvas バッファ実寸とは別) */
|
|
72
|
+
private readonly _rendererLogicalSize;
|
|
73
|
+
/** 3DGS 用のマテリアル */
|
|
74
|
+
get gaussianMaterial(): RawShaderMaterial;
|
|
75
|
+
/** ワールド座標のピック用シェーダのマテリアル */
|
|
76
|
+
get gaussianPickingMaterial(): RawShaderMaterial;
|
|
77
|
+
/** 影の描画用シェーダのマテリアル */
|
|
78
|
+
get gaussianShadowingMaterial(): RawShaderMaterial;
|
|
79
|
+
/** インデックス選択用シェーダのマテリアル */
|
|
80
|
+
get gaussianIndexSelectionMaterial(): RawShaderMaterial;
|
|
81
|
+
/** 点描画用シェーダのマテリアル */
|
|
82
|
+
get gaussianPointMaterial(): RawShaderMaterial;
|
|
83
|
+
/** setFrameRateLimit で設定される1フレームあたりの最小間隔(ms)。0 の場合は上限なし */
|
|
84
|
+
private _frameIntervalMs;
|
|
85
|
+
/** 直前にフレームを描画した時刻(Date.now()) */
|
|
86
|
+
private _lastFrameTimestamp;
|
|
87
|
+
/**
|
|
88
|
+
* 対応する Controls 種別
|
|
89
|
+
*/
|
|
90
|
+
static CONTROLS: string[];
|
|
91
|
+
/**
|
|
92
|
+
* シェーダチャンク関連(定義は MaterialGenerator.ts 内)
|
|
93
|
+
*/
|
|
94
|
+
static CHUNK_TARGET: {
|
|
95
|
+
readonly ANY: 0;
|
|
96
|
+
readonly ANY_SPLAT: 1;
|
|
97
|
+
readonly BASIC: 2;
|
|
98
|
+
readonly PICKING: 4;
|
|
99
|
+
readonly SHADOWING: 8;
|
|
100
|
+
readonly INDEX_SELECTION: 16;
|
|
101
|
+
readonly POINTS: 32;
|
|
102
|
+
};
|
|
103
|
+
static SHADER_STAGE: {
|
|
104
|
+
readonly VERTEX_PRECISION: 0;
|
|
105
|
+
readonly VERTEX_DECLARATION: 1;
|
|
106
|
+
readonly VERTEX_FUNCTION: 2;
|
|
107
|
+
readonly VERTEX_MAIN_BEGIN: 3;
|
|
108
|
+
readonly VERTEX_MAIN_TRANSFORM: 4;
|
|
109
|
+
readonly VERTEX_MAIN_CLIPPING: 5;
|
|
110
|
+
readonly VERTEX_MAIN_SIGMA: 6;
|
|
111
|
+
readonly VERTEX_MAIN_OUT: 7;
|
|
112
|
+
readonly VERTEX_MAIN_END: 8;
|
|
113
|
+
readonly FRAGMENT_PRECISION: 9;
|
|
114
|
+
readonly FRAGMENT_DECLARATION: 10;
|
|
115
|
+
readonly FRAGMENT_FUNCTION: 11;
|
|
116
|
+
readonly FRAGMENT_MAIN_BEGIN: 12;
|
|
117
|
+
readonly FRAGMENT_MAIN_IN: 13;
|
|
118
|
+
readonly FRAGMENT_MAIN_OUT: 14;
|
|
119
|
+
readonly FRAGMENT_MAIN_END: 15;
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* @constructor
|
|
123
|
+
* @param viewerOption - ビューア実装の初期化オプション
|
|
124
|
+
* @throws Float16Array 未対応環境ではエラーをスローする
|
|
125
|
+
*/
|
|
126
|
+
constructor(viewerOption?: iViewerOption);
|
|
127
|
+
/**
|
|
128
|
+
* ==========================================================================
|
|
129
|
+
* setup
|
|
130
|
+
* ==========================================================================
|
|
131
|
+
*/
|
|
132
|
+
/**
|
|
133
|
+
* コンストラクタ内のセットアップ
|
|
134
|
+
* ※一度 dispose した場合、コンストラクタを再度実行することはできないのでこのメソッドで復帰させる
|
|
135
|
+
* @param viewerOption - ビューア実装の初期化オプション
|
|
136
|
+
*/
|
|
137
|
+
setupOnConstructor(viewerOption?: iViewerOption): void;
|
|
138
|
+
/**
|
|
139
|
+
* 各種初期化処理を行う
|
|
140
|
+
* @param canvas - WebGL コンテキストを取得する対象となる canvas 要素
|
|
141
|
+
* @param materialOption - シェーダチャンクなどの情報を含むマテリアルオプション
|
|
142
|
+
*/
|
|
143
|
+
init(canvas: HTMLCanvasElement | OffscreenCanvas, materialOption?: iViewerMaterialOption): void;
|
|
144
|
+
/**
|
|
145
|
+
* レンダービューをセットアップする
|
|
146
|
+
*/
|
|
147
|
+
setupRenderView(): void;
|
|
148
|
+
/**
|
|
149
|
+
* カメラコントロール・カメラコライダーをセットアップする
|
|
150
|
+
* @param renderView - セットアップの対象となるレンダービュー
|
|
151
|
+
*/
|
|
152
|
+
setupControls(renderView: RenderView): void;
|
|
153
|
+
/**
|
|
154
|
+
* OrbitControls をセットアップする
|
|
155
|
+
* @param renderView - セットアップの対象となるレンダービュー
|
|
156
|
+
*/
|
|
157
|
+
setupOrbitControls(renderView: RenderView): void;
|
|
158
|
+
/**
|
|
159
|
+
* CameraPathControls をセットアップする
|
|
160
|
+
* @param renderView - セットアップの対象となるレンダービュー
|
|
161
|
+
*/
|
|
162
|
+
setupCameraPathControls(renderView: RenderView): void;
|
|
163
|
+
/**
|
|
164
|
+
* FlightControls をセットアップする
|
|
165
|
+
* @param renderView - セットアップの対象となるレンダービュー
|
|
166
|
+
*/
|
|
167
|
+
setupFlightControls(renderView: RenderView): void;
|
|
168
|
+
/**
|
|
169
|
+
* TransferControls をセットアップする
|
|
170
|
+
* @param renderView - セットアップの対象となるレンダービュー
|
|
171
|
+
*/
|
|
172
|
+
setupTransferControls(renderView: RenderView): void;
|
|
173
|
+
/**
|
|
174
|
+
* CameraCollider をセットアップする
|
|
175
|
+
* @param renderView - セットアップの対象となるレンダービュー
|
|
176
|
+
*/
|
|
177
|
+
setupCameraCollider(renderView: RenderView): void;
|
|
178
|
+
/**
|
|
179
|
+
* マテリアルをセットアップする
|
|
180
|
+
* @param option - シェーダチャンクなどの情報を含むマテリアルオプション
|
|
181
|
+
*/
|
|
182
|
+
setupMaterial(option?: iViewerMaterialOption): void;
|
|
183
|
+
/**
|
|
184
|
+
* ==========================================================================
|
|
185
|
+
* TavioMesh / loader
|
|
186
|
+
* ==========================================================================
|
|
187
|
+
*/
|
|
188
|
+
/**
|
|
189
|
+
* TavioMesh を生成しロード前の共通処理を行う
|
|
190
|
+
* @private
|
|
191
|
+
* @param name - このメッシュの固有名
|
|
192
|
+
* @param option - ロード・パース関連のオプション
|
|
193
|
+
*/
|
|
194
|
+
private _beforeLoadMesh;
|
|
195
|
+
/**
|
|
196
|
+
* TavioMesh のロード後の共通処理を行う
|
|
197
|
+
* @private
|
|
198
|
+
* @param name - 設定する名前
|
|
199
|
+
* @param option - ロード・パース関連のオプション
|
|
200
|
+
*/
|
|
201
|
+
private _afterLoadMesh;
|
|
202
|
+
/**
|
|
203
|
+
* TavioMesh のインスタンスを生成し tavio 形式のリソースをロード、シーンに追加する
|
|
204
|
+
* @param name - このメッシュの固有名
|
|
205
|
+
* @param source - 読み込む .tavio ファイル。URL 文字列に加え、事前に取得済みの
|
|
206
|
+
* Blob / ArrayBuffer を渡すこともできる
|
|
207
|
+
* @param option - ロード・パース関連のオプション
|
|
208
|
+
*/
|
|
209
|
+
loadTavio(name: string, source: string | Blob | ArrayBuffer, option?: iLoadingOption): Promise<void>;
|
|
210
|
+
/**
|
|
211
|
+
* 既存の TavioMesh のインスタンスにデータを統合する
|
|
212
|
+
* @param name - このメッシュの固有名
|
|
213
|
+
* @param source - 読み込む .tavio ファイル。URL 文字列に加え、事前に取得済みの
|
|
214
|
+
* Blob / ArrayBuffer を渡すこともできる
|
|
215
|
+
* @param option - ロード・パース関連のオプション
|
|
216
|
+
*/
|
|
217
|
+
concatTavio(name: string, source: string | Blob | ArrayBuffer, option?: iLoadingOption): Promise<void>;
|
|
218
|
+
/**
|
|
219
|
+
* TavioMesh のインスタンスを生成し ply 形式のリソースをロード、シーンに追加する
|
|
220
|
+
* @param name - このメッシュの固有名
|
|
221
|
+
* @param source - 読み込む .ply ファイル(URL文字列、Blob、または ArrayBuffer)
|
|
222
|
+
* @param option - ロード・パース関連のオプション
|
|
223
|
+
*/
|
|
224
|
+
loadPly(name: string, source: string | Blob | ArrayBuffer, option?: iLoadingOption): Promise<void>;
|
|
225
|
+
/**
|
|
226
|
+
* 既存の TavioMesh のインスタンスにデータを統合する
|
|
227
|
+
* @param name - このメッシュの固有名
|
|
228
|
+
* @param source - 読み込む .ply ファイル(URL文字列、Blob、または ArrayBuffer)
|
|
229
|
+
* @param option - ロード・パース関連のオプション
|
|
230
|
+
*/
|
|
231
|
+
concatPly(name: string, source: string | Blob | ArrayBuffer, option?: iLoadingOption): Promise<void>;
|
|
232
|
+
/**
|
|
233
|
+
* TavioMesh のインスタンスを生成し splat 形式のリソースをロード、シーンに追加する
|
|
234
|
+
* @param name - このメッシュの固有名
|
|
235
|
+
* @param source - 読み込む .splat ファイル(URL文字列、Blob、または ArrayBuffer)
|
|
236
|
+
* @param option - ロード・パース関連のオプション
|
|
237
|
+
*/
|
|
238
|
+
loadSplat(name: string, source: string | Blob | ArrayBuffer, option?: iLoadingOption): Promise<void>;
|
|
239
|
+
/**
|
|
240
|
+
* 既存の TavioMesh のインスタンスにデータを統合する
|
|
241
|
+
* @param name - このメッシュの固有名
|
|
242
|
+
* @param source - 読み込む .splat ファイル(URL文字列、Blob、または ArrayBuffer)
|
|
243
|
+
* @param option - ロード・パース関連のオプション
|
|
244
|
+
*/
|
|
245
|
+
concatSplat(name: string, source: string | Blob | ArrayBuffer, option?: iLoadingOption): Promise<void>;
|
|
246
|
+
/**
|
|
247
|
+
* TavioMesh のインスタンスを生成し画像形式のリソースをロード、シーンに追加する
|
|
248
|
+
* @param name - このメッシュの固有名
|
|
249
|
+
* @param source - 読み込む画像ファイル(URL文字列、Blob、または ArrayBuffer)
|
|
250
|
+
* @param option - ロード・パース関連のオプション
|
|
251
|
+
*/
|
|
252
|
+
loadImage(name: string, source: string | Blob | ArrayBuffer | ImageBitmap, option?: iLoadingOption): Promise<void>;
|
|
253
|
+
/**
|
|
254
|
+
* 既存の TavioMesh のインスタンスにデータを統合する
|
|
255
|
+
* @param name - このメッシュの固有名
|
|
256
|
+
* @param source - 読み込む画像ファイル(URL文字列、Blob、ArrayBuffer、または ImageBitmap)
|
|
257
|
+
* @param option - ロード・パース関連のオプション
|
|
258
|
+
*/
|
|
259
|
+
concatImage(name: string, source: string | Blob | ArrayBuffer | ImageBitmap, option?: iLoadingOption): Promise<void>;
|
|
260
|
+
/**
|
|
261
|
+
* canvas 要素から TavioMesh のインスタンスを生成し、シーンに追加する
|
|
262
|
+
* @param name - このメッシュの固有名
|
|
263
|
+
* @param canvas - 処理の対象となる canvas 要素、または OffscreenCanvas / ImageBitmap
|
|
264
|
+
* @param option - ロード・パース関連のオプション
|
|
265
|
+
*/
|
|
266
|
+
loadCanvas(name: string, canvas: HTMLCanvasElement | OffscreenCanvas | ImageBitmap, option?: iLoadingOption): Promise<void>;
|
|
267
|
+
/**
|
|
268
|
+
* 既存の TavioMesh のインスタンスにデータを統合する
|
|
269
|
+
* @param name - このメッシュの固有名
|
|
270
|
+
* @param canvas - 処理の対象となる canvas 要素、または OffscreenCanvas / ImageBitmap
|
|
271
|
+
* @param option - ロード・パース関連のオプション
|
|
272
|
+
*/
|
|
273
|
+
concatCanvas(name: string, canvas: HTMLCanvasElement | OffscreenCanvas | ImageBitmap, option?: iLoadingOption): Promise<void>;
|
|
274
|
+
/**
|
|
275
|
+
* tavio 形式のリソースをロードする
|
|
276
|
+
* @param name - このメッシュの固有名
|
|
277
|
+
* @see {@link TavioMesh.prototype.loadTavioWasm}
|
|
278
|
+
*/
|
|
279
|
+
loadTavioWasm(name: string, ...args: Parameters<typeof TavioMesh.prototype.loadTavioWasm>): Promise<void>;
|
|
280
|
+
/**
|
|
281
|
+
* ply 形式のリソースをロードする
|
|
282
|
+
* @param name - このメッシュの固有名
|
|
283
|
+
* @see {@link TavioMesh.prototype.loadPlyWasm}
|
|
284
|
+
*/
|
|
285
|
+
loadPlyWasm(name: string, url: string, options?: Parameters<typeof TavioMesh.prototype.loadMeshWasm>[2]): Promise<void>;
|
|
286
|
+
/**
|
|
287
|
+
* splat 形式のリソースをロードする
|
|
288
|
+
* @param name - このメッシュの固有名
|
|
289
|
+
* @see {@link TavioMesh.prototype.loadSplatWasm}
|
|
290
|
+
*/
|
|
291
|
+
loadSplatWasm(name: string, url: string, options?: Parameters<typeof TavioMesh.prototype.loadMeshWasm>[2]): Promise<void>;
|
|
292
|
+
/**
|
|
293
|
+
* spz 形式のリソースをロードする
|
|
294
|
+
* @param name - このメッシュの固有名
|
|
295
|
+
* @see {@link TavioMesh.prototype.loadSpzWasm}
|
|
296
|
+
*/
|
|
297
|
+
loadSpzWasm(name: string, url: string, options?: Parameters<typeof TavioMesh.prototype.loadMeshWasm>[2]): Promise<void>;
|
|
298
|
+
/**
|
|
299
|
+
* sog 形式のリソースをロードする
|
|
300
|
+
* @param name - このメッシュの固有名
|
|
301
|
+
* @see {@link TavioMesh.prototype.loadSogWasm}
|
|
302
|
+
*/
|
|
303
|
+
loadSogWasm(name: string, url: string, options?: Parameters<typeof TavioMesh.prototype.loadMeshWasm>[2]): Promise<void>;
|
|
304
|
+
/**
|
|
305
|
+
* tavio 形式のバイナリデータを生成する
|
|
306
|
+
* @param name - このメッシュの固有名
|
|
307
|
+
* @param options.exportSphericalHarmonics - 球面調和関数の交流成分をエンコードする [default: true]
|
|
308
|
+
* @param options.exportCelestialSphere - 天体球の画像をエンコードする [default: true]
|
|
309
|
+
* @param options.sphericalHarmonicsSampleRate - 球面調和関数の交流成分の計算のサンプル率 [default: 0.1]
|
|
310
|
+
* @param options.celestialSphereDistanceRatio - 天体球の画像に使用する点の距離の比率 [default: 0.99]
|
|
311
|
+
*/
|
|
312
|
+
exportTavioWasm(name: string, options?: Parameters<typeof TavioMesh.prototype.exportTavioWasm>[0]): Promise<{
|
|
313
|
+
bytes: Uint8Array;
|
|
314
|
+
version: string;
|
|
315
|
+
}>;
|
|
316
|
+
/**
|
|
317
|
+
* tavio 形式のリソースを保存する
|
|
318
|
+
* @param name - このメッシュの固有名
|
|
319
|
+
* @param fileName - 保存ファイル名
|
|
320
|
+
* @param options.exportSphericalHarmonics - 球面調和関数の交流成分をエンコードする [default: true]
|
|
321
|
+
* @param options.exportCelestialSphere - 天体球の画像をエンコードする [default: true]
|
|
322
|
+
* @param options.sphericalHarmonicsSampleRate - 球面調和関数の交流成分の計算のサンプル率 [default: 0.1]
|
|
323
|
+
* @param options.celestialSphereDistanceRatio - 天体球の画像に使用する点の距離の比率 [default: 0.99]
|
|
324
|
+
*/
|
|
325
|
+
saveTavioWasm(name: string, fileName: string, options?: Parameters<typeof TavioMesh.prototype.exportTavioWasm>[0]): Promise<void>;
|
|
326
|
+
/**
|
|
327
|
+
* splat 形式のリソースを保存する
|
|
328
|
+
* @param name - このメッシュの固有名
|
|
329
|
+
* @param fileName - 保存ファイル名
|
|
330
|
+
*/
|
|
331
|
+
saveSplatWasm(name: string, fileName: string): Promise<void>;
|
|
332
|
+
/**
|
|
333
|
+
* ply 形式のリソースを保存する
|
|
334
|
+
* @param name - このメッシュの固有名
|
|
335
|
+
* @param fileName - 保存ファイル名
|
|
336
|
+
*/
|
|
337
|
+
savePlyWasm(name: string, fileName: string): Promise<void>;
|
|
338
|
+
/**
|
|
339
|
+
* spz 形式のリソースを保存する
|
|
340
|
+
* @param name - このメッシュの固有名
|
|
341
|
+
* @param fileName - 保存ファイル名
|
|
342
|
+
*/
|
|
343
|
+
saveSpzWasm(name: string, fileName: string): Promise<void>;
|
|
344
|
+
/**
|
|
345
|
+
* 名前を指定してロード済み TavioMesh を現在のレンダービューに追加する
|
|
346
|
+
* @param name - 対象の名前
|
|
347
|
+
*/
|
|
348
|
+
addTavioMesh(name: string): void;
|
|
349
|
+
/**
|
|
350
|
+
* 名前を指定してロード済み TavioMesh をシーンから取り除く
|
|
351
|
+
* @param name - 対象の名前
|
|
352
|
+
* @param renderViewName - 対象となるレンダービューの名前
|
|
353
|
+
*/
|
|
354
|
+
removeTavioMesh(name: string, renderViewName?: string | Symbol): void;
|
|
355
|
+
/**
|
|
356
|
+
* 名前を指定してロード済み TavioMesh をシーンから取り除く
|
|
357
|
+
* @param name - 対象の名前
|
|
358
|
+
*/
|
|
359
|
+
removeTavioMeshAllRenderView(name: string): void;
|
|
360
|
+
/**
|
|
361
|
+
* 名前を指定して TavioMesh を削除・解放する
|
|
362
|
+
* @param name - 対象の名前
|
|
363
|
+
*/
|
|
364
|
+
disposeTavioMesh(name: string): void;
|
|
365
|
+
/**
|
|
366
|
+
* 名前を指定して TavioMesh の表示・非表示を設定する
|
|
367
|
+
* @param name - 対象の名前
|
|
368
|
+
* @param visibility - 可視状態
|
|
369
|
+
*/
|
|
370
|
+
setVisibilityTavioMesh(name: string, visibility: boolean): void;
|
|
371
|
+
/**
|
|
372
|
+
* 名前を指定して TavioMesh の点描画用 Points の表示・非表示を設定する
|
|
373
|
+
* @param name - 対象の名前
|
|
374
|
+
* @param visibility - 可視状態
|
|
375
|
+
*/
|
|
376
|
+
setVisibilityPoints(name: string, visibility: boolean): void;
|
|
377
|
+
/**
|
|
378
|
+
* 背景球(シーンの背景)の透明度を指定する(0.0 ~ 1.0)
|
|
379
|
+
* @param opacity - 透明度
|
|
380
|
+
*/
|
|
381
|
+
setBackgroundOpacity(opacity: number): void;
|
|
382
|
+
/**
|
|
383
|
+
* 名前を指定してロード済み TavioMesh から背景を設定する
|
|
384
|
+
* @param name - 対象の名前
|
|
385
|
+
*/
|
|
386
|
+
setBackgroundByTavioMesh(name: string): void;
|
|
387
|
+
/**
|
|
388
|
+
* 名前を指定した TavioMesh に含まれるメッシュに対して座標変換を適用する
|
|
389
|
+
* @param name - 対象の名前
|
|
390
|
+
* @param translation - 平行移動
|
|
391
|
+
* @param rotation - 回転(オイラー角)
|
|
392
|
+
* @param scale - 拡大縮小(XYZ で統一のスケール)
|
|
393
|
+
*/
|
|
394
|
+
setModelTransform(name: string, translation: iVectorLike, rotation: iVectorLike, scale: number): void;
|
|
395
|
+
/**
|
|
396
|
+
* 名前を指定した TavioMesh に含まれるメッシュの座標変換情報を返す
|
|
397
|
+
* @param name - 対象の名前
|
|
398
|
+
*/
|
|
399
|
+
getModelTransform(name: string): iTransform | null;
|
|
400
|
+
/**
|
|
401
|
+
* 名前を指定した TavioMesh に含まれるインスタンスを、インデックスで指定して動かす
|
|
402
|
+
* ※ここでいうインデックスとは load/concat した順番を意味する整数値(concat していない場合常に 0)
|
|
403
|
+
* @param name - 対象の名前
|
|
404
|
+
* @param index - インデックス
|
|
405
|
+
* @param translation - 平行移動
|
|
406
|
+
* @param rotation - 回転(オイラー角)
|
|
407
|
+
* @param scale - 拡大縮小(XYZ で統一のスケール)
|
|
408
|
+
*/
|
|
409
|
+
setTransform(name: string, index: number, translation: iVectorLike, rotation: iVectorLike, scale: number): void;
|
|
410
|
+
/**
|
|
411
|
+
* 名前を指定した TavioMesh に含まれるインスタンスの、指定されたインデックスの座標変換情報を返す
|
|
412
|
+
* ※ここでいうインデックスとは load/concat した順番を意味する整数値
|
|
413
|
+
* @param name - 対象の名前
|
|
414
|
+
* @param index - インデックス
|
|
415
|
+
*/
|
|
416
|
+
getTransform(name: string, index: number): iTransform | null;
|
|
417
|
+
/**
|
|
418
|
+
* 名前を指定した TavioMesh に含まれるインスタンスをビルボードとして扱うかどうかを設定する
|
|
419
|
+
* ※ここでいうインデックスとは load/concat した順番を意味する整数値
|
|
420
|
+
* @param name - 対象の名前
|
|
421
|
+
* @param index - インデックス
|
|
422
|
+
* @param flag - ビルボードとして扱うかどうか
|
|
423
|
+
*/
|
|
424
|
+
setBillboard(name: string, index: number, flag: boolean): void;
|
|
425
|
+
/**
|
|
426
|
+
* ==========================================================================
|
|
427
|
+
* general
|
|
428
|
+
* ==========================================================================
|
|
429
|
+
*/
|
|
430
|
+
/**
|
|
431
|
+
* ウィンドウのリサイズ処理
|
|
432
|
+
* @param width - 幅(CSS/論理ピクセル。Three.js setSize にそのまま渡す)
|
|
433
|
+
* @param height - 高さ(同上)
|
|
434
|
+
* @param start - リサイズと同時に描画を開始するかどうか
|
|
435
|
+
*/
|
|
436
|
+
resize(width?: number, height?: number, start?: boolean): void;
|
|
437
|
+
/**
|
|
438
|
+
* 描画を開始する
|
|
439
|
+
* ※ pause() によって一時停止中の場合は何もしない(再開するには resume() を呼ぶ)
|
|
440
|
+
*/
|
|
441
|
+
start(): void;
|
|
442
|
+
/**
|
|
443
|
+
* 描画を一時停止する
|
|
444
|
+
* ※ resume() を呼ぶまで、start() を呼び出す内部処理があっても描画は再開されない
|
|
445
|
+
*/
|
|
446
|
+
pause(): void;
|
|
447
|
+
/**
|
|
448
|
+
* pause() によって一時停止した描画を再開する
|
|
449
|
+
*/
|
|
450
|
+
resume(): void;
|
|
451
|
+
/**
|
|
452
|
+
* フレームレートの上限を設定する
|
|
453
|
+
* @param fps - 1秒あたりの上限フレーム数。0以下を指定すると上限を解除する
|
|
454
|
+
*/
|
|
455
|
+
setFrameRateLimit(fps: number): void;
|
|
456
|
+
/**
|
|
457
|
+
* 描画処理
|
|
458
|
+
* @private
|
|
459
|
+
*/
|
|
460
|
+
private _render;
|
|
461
|
+
/**
|
|
462
|
+
* 登録されている最初のメッシュの名前を取得する
|
|
463
|
+
*/
|
|
464
|
+
getFirstMeshName(): string | null;
|
|
465
|
+
/**
|
|
466
|
+
* DevicePixelRatio をレンダラーに対して設定する
|
|
467
|
+
* @param value - 設定する DevicePixelRatio
|
|
468
|
+
*/
|
|
469
|
+
setDevicePixelRatio(value: number): void;
|
|
470
|
+
/**
|
|
471
|
+
* 現在設定されている DevicePixelRatio を返す
|
|
472
|
+
*/
|
|
473
|
+
getDevicePixelRatio(): number | null;
|
|
474
|
+
/**
|
|
475
|
+
* インタラクティブに描画するモードを用いるかどうかを設定する
|
|
476
|
+
* @param isInteractive - 有効とするかどうか
|
|
477
|
+
*/
|
|
478
|
+
setInteractiveMode(isInteractive: boolean): void;
|
|
479
|
+
/**
|
|
480
|
+
* インタラクティブに描画するモードを用いているかどうかを返す
|
|
481
|
+
*/
|
|
482
|
+
getInteractiveMode(): boolean;
|
|
483
|
+
/**
|
|
484
|
+
* 球面調和関数の交流成分を利用するかどうかを設定する
|
|
485
|
+
* @param isUsing - 利用するかどうかのフラグ
|
|
486
|
+
*/
|
|
487
|
+
setUsingSphericalHarmonics(isUsing: boolean): void;
|
|
488
|
+
/**
|
|
489
|
+
* 球面調和関数の交流成分に対する係数を設定する(0.0 ~ 1.0)
|
|
490
|
+
* @param intensity - 0.0 で交流成分の効果が完全に不可視化される
|
|
491
|
+
*/
|
|
492
|
+
setSphericalHarmonicsIntensity(intensity: number): void;
|
|
493
|
+
/**
|
|
494
|
+
* レンダラーに対して影の有効・無効を設定する
|
|
495
|
+
* @param enabled - 有効化するかどうか
|
|
496
|
+
*/
|
|
497
|
+
setDropShadow(enabled: boolean): void;
|
|
498
|
+
/**
|
|
499
|
+
* ファイルに含まれるヘッダ情報及び頂点の情報などを取得する
|
|
500
|
+
*/
|
|
501
|
+
getHeaderInfo(name: string): iHeaderInfo | null;
|
|
502
|
+
/**
|
|
503
|
+
* フレームバッファに 3DGS のワールド座標をレンダリングし指定されたスクリーン座標から取得する
|
|
504
|
+
* @param x - 取得する X 座標(スクリーン空間を -1.0 ~ 1.0 に正規化した座標)
|
|
505
|
+
* @param y - 取得する Y 座標(スクリーン空間を -1.0 ~ 1.0 に正規化した座標, Y-down)
|
|
506
|
+
* @param isDebug - デバッグモード(有効化するとピッキングバッファを可視化)
|
|
507
|
+
*/
|
|
508
|
+
getWorldPositionByRenderView(x: number, y: number, isDebug?: boolean): Promise<iPickingInfo | null>;
|
|
509
|
+
/**
|
|
510
|
+
* スクリーン空間上の矩形またはドローイングマスクの範囲にあるスプラットを選択する
|
|
511
|
+
* @param x - 正規化された選択領域の左上 X 座標 (0.0 ~ 1.0)
|
|
512
|
+
* @param y - 正規化された選択領域の左上 Y 座標 (0.0 ~ 1.0)
|
|
513
|
+
* @param width - 正規化された選択領域の幅 (0.0 ~ 1.0)
|
|
514
|
+
* @param height - 正規化された選択領域の高さ (0.0 ~ 1.0)
|
|
515
|
+
* @param mode - 選択モード(SELECTION_MODE)
|
|
516
|
+
* @param maskSource - オプション:指定領域に対応するアルファマスク(Canvas, OffscreenCanvas, ImageData)
|
|
517
|
+
*/
|
|
518
|
+
selectSplatByScreenArea(x: number, y: number, width: number, height: number, mode?: tSelectionMode, maskSource?: tMaskSource): Promise<void>;
|
|
519
|
+
/**
|
|
520
|
+
* 各種リソースを解放する
|
|
521
|
+
* ※このメソッドを呼び出すと、それまで利用していた canvas は再利用できなくなる
|
|
522
|
+
* ※別の canvas を渡して setupOnConstructor や init、render を呼ぶことで再度描画を行うことができる
|
|
523
|
+
* ※返り値の Promise は GPU プロセス側のコンテキスト消失(shared image の解放)が
|
|
524
|
+
* 確認できてから resolve する。forceContextLoss() 自体は同期的に返るが、実際の
|
|
525
|
+
* コンテキスト消失は webglcontextlost イベントで非同期に通知されるため、これを
|
|
526
|
+
* 待たずに別の canvas で init() すると GPU プロセス側でリソース競合
|
|
527
|
+
* (SharedImageManager の mailbox 不整合等)が起きうる。呼び出し側は
|
|
528
|
+
* `await core.dispose()` してから次の init() を行うこと。
|
|
529
|
+
*/
|
|
530
|
+
dispose(): Promise<void>;
|
|
531
|
+
/**
|
|
532
|
+
* ビューポートの情報を計算する
|
|
533
|
+
* @param projection - プロジェクション行列
|
|
534
|
+
* @param width - ビューポートの幅
|
|
535
|
+
* @param height - ビューポートの高さ
|
|
536
|
+
*/
|
|
537
|
+
private _calcViewportUniforms;
|
|
538
|
+
/**
|
|
539
|
+
* ビューポートの情報を uniform 変数に設定する
|
|
540
|
+
* @param renderView - 対象となるレンダービュー
|
|
541
|
+
*/
|
|
542
|
+
private _updateViewportUniforms;
|
|
543
|
+
/**
|
|
544
|
+
* 座標を焼き込むレンダリング処理を実行しソートを実行させる
|
|
545
|
+
* @param isForce - 強制的に実行するかどうか
|
|
546
|
+
*/
|
|
547
|
+
private _renderDepthRenderTarget;
|
|
548
|
+
/**
|
|
549
|
+
* ==========================================================================
|
|
550
|
+
* renderview
|
|
551
|
+
* ==========================================================================
|
|
552
|
+
*/
|
|
553
|
+
/**
|
|
554
|
+
* レンダービューを設定する
|
|
555
|
+
* @param renderViewName - 対象となるレンダービューの名前
|
|
556
|
+
*/
|
|
557
|
+
setRenderView(renderViewName: string | Symbol | null): void;
|
|
558
|
+
/**
|
|
559
|
+
* レンダービューの個数を返す
|
|
560
|
+
*/
|
|
561
|
+
getRenderViewCount(): number;
|
|
562
|
+
/**
|
|
563
|
+
* アクティブなレンダービューの名前を返す
|
|
564
|
+
* ※既定のレンダービューがアクティブな場合 null が返る
|
|
565
|
+
*/
|
|
566
|
+
getCurrentRenderViewName(): string | null;
|
|
567
|
+
/**
|
|
568
|
+
* レンダービューを生成する(生成したインスタンスを呼び出し元に返さない)
|
|
569
|
+
* @param name - 生成されるレンダービューの固有名
|
|
570
|
+
*/
|
|
571
|
+
createRenderView(name: string): void;
|
|
572
|
+
/**
|
|
573
|
+
* レンダービューに位置とサイズを設定する
|
|
574
|
+
* ※原点が左下角である点に注意(スクリーン座標系と上下が逆)
|
|
575
|
+
* @param renderViewName - 対象となるレンダービューの名前
|
|
576
|
+
* @param x - 矩形の左下角の横位置
|
|
577
|
+
* @param y - 矩形の左下角の縦位置
|
|
578
|
+
* @param width - 幅(論理ピクセル。未指定・null 時は renderer.getSize())
|
|
579
|
+
* @param height - 高さ(論理ピクセル。未指定・null 時は renderer.getSize())
|
|
580
|
+
* @param start - 同時に描画を開始するかどうか
|
|
581
|
+
*/
|
|
582
|
+
setRenderViewSize(renderViewName?: string | Symbol | null, x?: number, y?: number, width?: number, height?: number, start?: boolean): void;
|
|
583
|
+
/**
|
|
584
|
+
* レンダービューを生成し、各種コントロールのセットアップも同時に行う
|
|
585
|
+
* @param name - 生成されるレンダービューの固有名
|
|
586
|
+
*/
|
|
587
|
+
private _createRenderView;
|
|
588
|
+
/**
|
|
589
|
+
* 名前を指定してレンダービューを取得する
|
|
590
|
+
* @param renderViewName - 対象となるレンダービューの名前
|
|
591
|
+
*/
|
|
592
|
+
private _getRenderView;
|
|
593
|
+
/**
|
|
594
|
+
* ==========================================================================
|
|
595
|
+
* camera
|
|
596
|
+
* ==========================================================================
|
|
597
|
+
*/
|
|
598
|
+
/**
|
|
599
|
+
* カメラの現在の座標と視線方向、視野角を取得する
|
|
600
|
+
*/
|
|
601
|
+
getCameraParameter(): iCameraParameter;
|
|
602
|
+
/**
|
|
603
|
+
* カメラの現在の座標と注視点、視野角を設定する
|
|
604
|
+
* ※このメソッドは設定時、その値が即座に反映される
|
|
605
|
+
* @param position - 設定する座標
|
|
606
|
+
* @param target - 設定する注視点
|
|
607
|
+
* @param fov - 設定する視野角
|
|
608
|
+
*/
|
|
609
|
+
setCameraParameter(position?: iVectorLike | null, target?: iVectorLike | null, fov?: number | null): void;
|
|
610
|
+
/**
|
|
611
|
+
* ==========================================================================
|
|
612
|
+
* controls
|
|
613
|
+
* ==========================================================================
|
|
614
|
+
*/
|
|
615
|
+
/**
|
|
616
|
+
* Controls タイプを設定する
|
|
617
|
+
* @param type - 設定するタイプを意味する文字列
|
|
618
|
+
*/
|
|
619
|
+
setControlsType(type: tControlsType): void;
|
|
620
|
+
/**
|
|
621
|
+
* 現在のカメラコントロールを意味する文字列を返す
|
|
622
|
+
*/
|
|
623
|
+
getControlsType(): tControlsType;
|
|
624
|
+
/**
|
|
625
|
+
* FlightControls と TransferControls に減衰を設定する
|
|
626
|
+
* @param attenuation - 減衰(0.0 以上 ~ 1.0 未満)
|
|
627
|
+
*/
|
|
628
|
+
setControlsAttenuation(attenuation: number): void;
|
|
629
|
+
/**
|
|
630
|
+
* ==========================================================================
|
|
631
|
+
* orbit controls
|
|
632
|
+
* ==========================================================================
|
|
633
|
+
*/
|
|
634
|
+
/**
|
|
635
|
+
* オービットコントロールのズーム使用可否を設定する
|
|
636
|
+
* @param enable - 使用可否を意味する真偽値
|
|
637
|
+
*/
|
|
638
|
+
setOrbitEnableZoom(enable: boolean): void;
|
|
639
|
+
/**
|
|
640
|
+
* オービットコントロールの平行移動使用可否を設定する
|
|
641
|
+
* @param enable - 使用可否を意味する真偽値
|
|
642
|
+
*/
|
|
643
|
+
setOrbitEnablePan(enable: boolean): void;
|
|
644
|
+
/**
|
|
645
|
+
* オービットコントロールの可動範囲制限の可否を設定する
|
|
646
|
+
* @param enable - 使用可否を意味する真偽値
|
|
647
|
+
*/
|
|
648
|
+
setOrbitEnableLimit(enable: boolean): void;
|
|
649
|
+
/**
|
|
650
|
+
* オービットコントロールのズーム範囲制限の可否を設定する
|
|
651
|
+
* @param enable - 使用可否を意味する真偽値
|
|
652
|
+
*/
|
|
653
|
+
setOrbitEnableZoomLimit(enable: boolean): void;
|
|
654
|
+
/**
|
|
655
|
+
* オービットコントロールの注視点と座標の距離を取得する
|
|
656
|
+
* @returns 注視点と座標の距離
|
|
657
|
+
*/
|
|
658
|
+
getOrbitDistance(): number;
|
|
659
|
+
/**
|
|
660
|
+
* オービットコントロールの注視点から位置までの距離を設定する
|
|
661
|
+
* @param distance - 設定する距離
|
|
662
|
+
*/
|
|
663
|
+
setOrbitDistance(distance: number): void;
|
|
664
|
+
/**
|
|
665
|
+
* オービットコントロールのピッチとヨーを設定する
|
|
666
|
+
* @param pitch - ピッチ角度の変化量(ラジアン)
|
|
667
|
+
* @param yaw - ヨー角度の変化量(ラジアン)
|
|
668
|
+
*/
|
|
669
|
+
setOrbitRotation(pitch: number, yaw: number, isForce?: boolean): void;
|
|
670
|
+
/**
|
|
671
|
+
* オービットコントロールのピッチとヨーを相対的に移動する
|
|
672
|
+
* @param pitch - ピッチ角度の変化量(ラジアン)
|
|
673
|
+
* @param yaw - ヨー角度の変化量(ラジアン)
|
|
674
|
+
*/
|
|
675
|
+
setOrbitRelativeRotation(pitch: number, yaw: number): void;
|
|
676
|
+
/**
|
|
677
|
+
* オービットコントロールのドリー(前後移動)を相対的に設定する
|
|
678
|
+
* @param value - 設定する値
|
|
679
|
+
*/
|
|
680
|
+
setOrbitRelativeDollyOut(value: number): void;
|
|
681
|
+
/**
|
|
682
|
+
* オービットコントロールの上下の回転を相対的に設定する
|
|
683
|
+
* @param value - 設定する値
|
|
684
|
+
*/
|
|
685
|
+
setOrbitRelativeRotateUp(value: number): void;
|
|
686
|
+
/**
|
|
687
|
+
* オービットコントロールの左右の回転を相対的に設定する
|
|
688
|
+
* @param value - 設定する値
|
|
689
|
+
*/
|
|
690
|
+
setOrbitRelativeRotateLeft(value: number): void;
|
|
691
|
+
/**
|
|
692
|
+
* オービットコントロールの上下の移動を相対的に設定する
|
|
693
|
+
* @param value - 設定する値
|
|
694
|
+
*/
|
|
695
|
+
setOrbitRelativeTranslateUp(value: number): void;
|
|
696
|
+
/**
|
|
697
|
+
* オービットコントロールの左右の移動を相対的に設定する
|
|
698
|
+
* @param value - 設定する値
|
|
699
|
+
*/
|
|
700
|
+
setOrbitRelativeTranslateLeft(value: number): void;
|
|
701
|
+
/**
|
|
702
|
+
* オービットコントロールへポインターが押下中かどうかを設定する
|
|
703
|
+
* @param isDown - 設定する値
|
|
704
|
+
*/
|
|
705
|
+
setOrbitPointerDown(isDown: boolean): void;
|
|
706
|
+
/**
|
|
707
|
+
* オービットコントロールの範囲外へはみ出すことができる範囲を設定する
|
|
708
|
+
* @param value - 設定する値
|
|
709
|
+
*/
|
|
710
|
+
setOrbitOverflow(value: number): void;
|
|
711
|
+
/**
|
|
712
|
+
* オービットコントロールの北緯方向の可動範囲を設定する
|
|
713
|
+
* @param value - 設定する値
|
|
714
|
+
*/
|
|
715
|
+
setOrbitUpLimit(value: number): void;
|
|
716
|
+
/**
|
|
717
|
+
* オービットコントロールの南緯方向の可動範囲を設定する
|
|
718
|
+
* @param value - 設定する値
|
|
719
|
+
*/
|
|
720
|
+
setOrbitDownLimit(value: number): void;
|
|
721
|
+
/**
|
|
722
|
+
* オービットコントロールの西経方向の可動範囲を設定する
|
|
723
|
+
* @param value - 設定する値
|
|
724
|
+
*/
|
|
725
|
+
setOrbitLeftLimit(value: number): void;
|
|
726
|
+
/**
|
|
727
|
+
* オービットコントロールの西経方向の可動範囲を設定する
|
|
728
|
+
* @param value - 設定する値
|
|
729
|
+
*/
|
|
730
|
+
setOrbitRightLimit(value: number): void;
|
|
731
|
+
/**
|
|
732
|
+
* オービットコントロールのズームの最短距離を設定する
|
|
733
|
+
* @param value - 設定する値
|
|
734
|
+
*/
|
|
735
|
+
setOrbitZoomInLimit(value: number): void;
|
|
736
|
+
/**
|
|
737
|
+
* オービットコントロールのズームの最長距離を設定する
|
|
738
|
+
* @param value - 設定する値
|
|
739
|
+
*/
|
|
740
|
+
setOrbitZoomOutLimit(value: number): void;
|
|
741
|
+
/**
|
|
742
|
+
* ==========================================================================
|
|
743
|
+
* camera path controls
|
|
744
|
+
* ==========================================================================
|
|
745
|
+
*/
|
|
746
|
+
/**
|
|
747
|
+
* カメラパスを生成して返す
|
|
748
|
+
* @param position - カメラの座標({x, y, z} のオブジェクト、または [x, y, z] の数値の配列)の配列
|
|
749
|
+
* @param target - 注視点の座標({x, y, z} のオブジェクト、または [x, y, z] の数値の配列)の配列
|
|
750
|
+
* @param debug - デバッグモードをオンにすると、各点とその補間後の軌跡がシーンに追加される
|
|
751
|
+
*/
|
|
752
|
+
createCameraPath(position: iVectorLike[] | number[][], target: iVectorLike[] | number[][], debug?: boolean): CameraPath;
|
|
753
|
+
/**
|
|
754
|
+
* カメラパスが有効な場合、指定された時間を設定し更新する
|
|
755
|
+
* @param time - 設定する時間(0.0 ~ 1.0)
|
|
756
|
+
*/
|
|
757
|
+
updateCameraPath(time: number): void;
|
|
758
|
+
/**
|
|
759
|
+
* カメラパスを名前と座標データで追加登録する
|
|
760
|
+
* @param name - カメラパスの識別名
|
|
761
|
+
* @param position - カメラ移動経路の座標配列
|
|
762
|
+
* @param target - カメラ注視点経路の座標配列
|
|
763
|
+
* @param debug - デバッグ用軌跡描画を行うかどうか
|
|
764
|
+
*/
|
|
765
|
+
addCameraPath(name: string, position: iVectorLike[] | number[][], target: iVectorLike[] | number[][], debug?: boolean): void;
|
|
766
|
+
/**
|
|
767
|
+
* カメラパスを名前で削除する
|
|
768
|
+
* @param name - 削除するカメラパスの名前
|
|
769
|
+
*/
|
|
770
|
+
removeCameraPath(name: string): void;
|
|
771
|
+
/**
|
|
772
|
+
* アクティブなカメラパスを選択する
|
|
773
|
+
* @param name - 選択するカメラパスの名前
|
|
774
|
+
*/
|
|
775
|
+
selectCameraPath(name: string): void;
|
|
776
|
+
/**
|
|
777
|
+
* 現在アクティブなカメラパスの名前を取得する
|
|
778
|
+
* @returns アクティブなカメラパスの名前、または null
|
|
779
|
+
*/
|
|
780
|
+
getActiveCameraPathName(): string | null;
|
|
781
|
+
/**
|
|
782
|
+
* 指定したカメラパスの指定時刻における座標と注視点を取得する
|
|
783
|
+
* @param name - カメラパスの名前。省略時は現在アクティブなカメラパス
|
|
784
|
+
* @param time - 進行度 (0.0 ~ 1.0)。省略時は現在の再生時刻
|
|
785
|
+
* @returns 指定時刻での座標と注視点データ、または null
|
|
786
|
+
*/
|
|
787
|
+
getCameraPathByTime(name?: string, time?: number): {
|
|
788
|
+
position: iVectorLike;
|
|
789
|
+
target: iVectorLike;
|
|
790
|
+
} | null;
|
|
791
|
+
/**
|
|
792
|
+
* カメラパスコントロールの現在時刻(progress)を取得する
|
|
793
|
+
* @returns 現在時刻(0.0 ~ 1.0)、または null
|
|
794
|
+
*/
|
|
795
|
+
getCameraPathTime(): number | null;
|
|
796
|
+
/**
|
|
797
|
+
* すべてのカメラパス名を取得する
|
|
798
|
+
* @returns カメラパス名の配列
|
|
799
|
+
*/
|
|
800
|
+
getPathNames(): string[];
|
|
801
|
+
/**
|
|
802
|
+
* カメラパスのオプションを設定する
|
|
803
|
+
* @param option - カメラパスに設定するオプション
|
|
804
|
+
*/
|
|
805
|
+
setCameraPathOption(option: iCameraPathOption): void;
|
|
806
|
+
/**
|
|
807
|
+
* カメラパスのインタラクション用の座標を設定する
|
|
808
|
+
* @param x - 設定する X 座標(スクリーン空間を -1.0 ~ 1.0 に正規化した座標)
|
|
809
|
+
* @param y - 設定する Y 座標(スクリーン空間を -1.0 ~ 1.0 に正規化した座標, Y-down)
|
|
810
|
+
*/
|
|
811
|
+
setCameraPathInteraction(x: number, y: number): void;
|
|
812
|
+
/**
|
|
813
|
+
* カメラパスの可動領域(カプセル型)の半径を設定する
|
|
814
|
+
* @param radius - 設定する半径
|
|
815
|
+
*/
|
|
816
|
+
setCameraPathCollisionRadius(radius: number): void;
|
|
817
|
+
/**
|
|
818
|
+
* ==========================================================================
|
|
819
|
+
* flight controls
|
|
820
|
+
* ==========================================================================
|
|
821
|
+
*/
|
|
822
|
+
/**
|
|
823
|
+
* FlightControls に緯度を設定する
|
|
824
|
+
* @param latitude - 緯度(-90 ~ 90)
|
|
825
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
826
|
+
*/
|
|
827
|
+
setFlightLatitude(latitude: number, isForce?: boolean): void;
|
|
828
|
+
/**
|
|
829
|
+
* FlightControls に経度を設定する
|
|
830
|
+
* @param longitude - 経度(0 ~ 360)
|
|
831
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
832
|
+
*/
|
|
833
|
+
setFlightLongitude(longitude: number, isForce?: boolean): void;
|
|
834
|
+
/**
|
|
835
|
+
* FlightControls に緯度を相対的に設定する
|
|
836
|
+
* @param latitude - 相対値
|
|
837
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
838
|
+
*/
|
|
839
|
+
setFlightRelativeLatitude(latitude: number, isForce?: boolean): void;
|
|
840
|
+
/**
|
|
841
|
+
* FlightControls に経度を相対的に設定する
|
|
842
|
+
* @param longitude - 相対値
|
|
843
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
844
|
+
*/
|
|
845
|
+
setFlightRelativeLongitude(longitude: number, isForce?: boolean): void;
|
|
846
|
+
/**
|
|
847
|
+
* FlightControls から緯度経度を取得する
|
|
848
|
+
*/
|
|
849
|
+
getFlightParameter(): iLatitudeLongitude | null;
|
|
850
|
+
/**
|
|
851
|
+
* ==========================================================================
|
|
852
|
+
* transfer controls
|
|
853
|
+
* ==========================================================================
|
|
854
|
+
*/
|
|
855
|
+
/**
|
|
856
|
+
* TransferControls に位置を設定する
|
|
857
|
+
* @param position - 位置
|
|
858
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
859
|
+
*/
|
|
860
|
+
setTransferPosition(position: iVectorLike, isForce?: boolean): void;
|
|
861
|
+
/**
|
|
862
|
+
* TransferControls に位置を相対的に設定する
|
|
863
|
+
* @param position - 相対値
|
|
864
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
865
|
+
*/
|
|
866
|
+
setTransferRelativePosition(position: iVectorLike, isForce?: boolean): void;
|
|
867
|
+
/**
|
|
868
|
+
* TransferControls に fov を設定する
|
|
869
|
+
* @param fov - 設定する fov
|
|
870
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
871
|
+
*/
|
|
872
|
+
setTransferFov(fov: number, isForce?: boolean): void;
|
|
873
|
+
/**
|
|
874
|
+
* TransferControls に、現在の位置と向きに応じて移動するよう設定する
|
|
875
|
+
* @param offset - 移動する量
|
|
876
|
+
* @param scale - 移動するスケール
|
|
877
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
878
|
+
*/
|
|
879
|
+
moveTransferByDirection(offset: iVectorLike, scale: number, isForce?: boolean): void;
|
|
880
|
+
/**
|
|
881
|
+
* TransferControls に、現在の位置と向きに応じて水平に移動するよう設定する
|
|
882
|
+
* @param x - 右を正とした横方向
|
|
883
|
+
* @param y - 奥を正とした前後方向
|
|
884
|
+
* @param scale - 移動するスケール
|
|
885
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
886
|
+
*/
|
|
887
|
+
moveTransferByHorizontalDirection(x: number, y: number, scale: number, isForce?: boolean): void;
|
|
888
|
+
/**
|
|
889
|
+
* TransferControls に、XZ 平面に対して上昇するよう設定する
|
|
890
|
+
* @param scale - 移動するスケール
|
|
891
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
892
|
+
*/
|
|
893
|
+
moveTransferToTop(scale: number, isForce?: boolean): void;
|
|
894
|
+
/**
|
|
895
|
+
* TransferControls に、XZ 平面に対して下降するよう設定する
|
|
896
|
+
* @param scale - 移動するスケール
|
|
897
|
+
* @param isForce - トランジションせず即座に強制上書きするかどうか
|
|
898
|
+
*/
|
|
899
|
+
moveTransferToBottom(scale: number, isForce?: boolean): void;
|
|
900
|
+
/**
|
|
901
|
+
* ==========================================================================
|
|
902
|
+
* camera collider
|
|
903
|
+
* ==========================================================================
|
|
904
|
+
*/
|
|
905
|
+
/**
|
|
906
|
+
* カメラコライダーの有効・無効を設定する
|
|
907
|
+
* @param enabled - 有効化するかどうか
|
|
908
|
+
*/
|
|
909
|
+
setCameraColliderEnabled(enabled: boolean): void;
|
|
910
|
+
/**
|
|
911
|
+
* カメラコライダー処理の対象となるセレクター名の一覧を設定する
|
|
912
|
+
* @param selectorNames - セレクター名の配列
|
|
913
|
+
*/
|
|
914
|
+
setCameraColliderSelector(selectorNames?: string[]): void;
|
|
915
|
+
/**
|
|
916
|
+
* カメラコライダーの有効・無効状態を取得する
|
|
917
|
+
* @returns カメラコライダーが有効かどうか
|
|
918
|
+
*/
|
|
919
|
+
getCameraColliderEnabled(): boolean;
|
|
920
|
+
/**
|
|
921
|
+
* ==========================================================================
|
|
922
|
+
* Light and Shadow
|
|
923
|
+
* ==========================================================================
|
|
924
|
+
*/
|
|
925
|
+
/**
|
|
926
|
+
* アンビエントライトをレンダービューに追加する
|
|
927
|
+
* @param color - 光の色
|
|
928
|
+
* @param intensity - 光の強さ
|
|
929
|
+
*/
|
|
930
|
+
addAmbientLight(color: number, intensity: number): void;
|
|
931
|
+
/**
|
|
932
|
+
* スポットライトをレンダービューに追加する
|
|
933
|
+
* @param position - ライトの位置
|
|
934
|
+
* @param target - ライトの注視点
|
|
935
|
+
* @param color - 光の色
|
|
936
|
+
* @param intensity - 光の強さ
|
|
937
|
+
* @param distance - 光が届く距離
|
|
938
|
+
* @param angle - 光が届く範囲(Math.PI / 2 より小さな値を指定)
|
|
939
|
+
* @param penumbra - 光の輪郭のぼやけ具合
|
|
940
|
+
* @param decay - 光の減衰
|
|
941
|
+
* @param castShadow - 影を落とすかどうか
|
|
942
|
+
* @param isDebug - ヘルパーを表示するかどうか
|
|
943
|
+
*/
|
|
944
|
+
addSpotLight(position: iVectorLike, target: iVectorLike, color: number, intensity: number, distance: number, angle: number, penumbra: number, decay: number, castShadow?: boolean, isDebug?: boolean): void;
|
|
945
|
+
/**
|
|
946
|
+
* ホワイトキューブの Mesh を追加する
|
|
947
|
+
* @param position - キューブの位置
|
|
948
|
+
* @param scale - キューブに対するスケール
|
|
949
|
+
* @param receiveShadow - 影が落ちるかどうか
|
|
950
|
+
* @param materialOption - MeshStandardMaterial の初期化オプション
|
|
951
|
+
*/
|
|
952
|
+
addWhiteCube(position: iVectorLike, scale: iVectorLike, receiveShadow?: boolean, materialOption?: MeshStandardMaterialParameters): void;
|
|
953
|
+
/**
|
|
954
|
+
* 現在のレンダービューのアンビエントライトの強度を設定する
|
|
955
|
+
* @param intensity - 光の強度
|
|
956
|
+
*/
|
|
957
|
+
setAmbientLightIntensity(intensity: number): void;
|
|
958
|
+
/**
|
|
959
|
+
* 現在のレンダービューのスポットライトの位置を設定する
|
|
960
|
+
* @param position - 位置
|
|
961
|
+
*/
|
|
962
|
+
setSpotLightPosition(position: iVectorLike): void;
|
|
963
|
+
/**
|
|
964
|
+
* 現在のレンダービューのスポットライトのターゲット位置を設定する
|
|
965
|
+
* @param target - ターゲット位置
|
|
966
|
+
*/
|
|
967
|
+
setSpotLightTargetPosition(target: iVectorLike): void;
|
|
968
|
+
/**
|
|
969
|
+
* 現在のレンダービューのスポットライトの強度を設定する
|
|
970
|
+
* @param intensity - 光の強度
|
|
971
|
+
*/
|
|
972
|
+
setSpotLightIntensity(intensity: number): void;
|
|
973
|
+
/**
|
|
974
|
+
* 現在のレンダービューのスポットライトの照射距離を設定する
|
|
975
|
+
* @param distance - 照射距離
|
|
976
|
+
*/
|
|
977
|
+
setSpotLightDistance(distance: number): void;
|
|
978
|
+
/**
|
|
979
|
+
* 現在のレンダービューのスポットライトの放射角を設定する
|
|
980
|
+
* @param angle - 放射角
|
|
981
|
+
*/
|
|
982
|
+
setSpotLightAngle(angle: number): void;
|
|
983
|
+
/**
|
|
984
|
+
* 現在のレンダービューのスポットライトの半影を設定する
|
|
985
|
+
* @param penumbra - 半影の割合
|
|
986
|
+
*/
|
|
987
|
+
setSpotLightPenumbra(penumbra: number): void;
|
|
988
|
+
/**
|
|
989
|
+
* 現在のレンダービューのスポットライトの減衰を設定する
|
|
990
|
+
* @param decay - 減衰の度合い
|
|
991
|
+
*/
|
|
992
|
+
setSpotLightDecay(decay: number): void;
|
|
993
|
+
/**
|
|
994
|
+
* 影を描画・更新する
|
|
995
|
+
*/
|
|
996
|
+
renderShadow(): void;
|
|
997
|
+
/**
|
|
998
|
+
* ==========================================================================
|
|
999
|
+
* shader effects
|
|
1000
|
+
* ==========================================================================
|
|
1001
|
+
*/
|
|
1002
|
+
/**
|
|
1003
|
+
* MaterialGenerator で独自に拡張した defines を更新する
|
|
1004
|
+
* @param customUniforms - 設定・更新する defines
|
|
1005
|
+
*/
|
|
1006
|
+
setCustomDefines(customDefines: tCustomDefines): void;
|
|
1007
|
+
/**
|
|
1008
|
+
* MaterialGenerator で独自に拡張した uniform 変数を更新する
|
|
1009
|
+
* @param customUniforms - 設定・更新する uniform 変数
|
|
1010
|
+
*/
|
|
1011
|
+
setCustomUniforms(customUniforms: tCustomUniforms): void;
|
|
1012
|
+
/**
|
|
1013
|
+
* スプラットの大きさの基本係数を設定する
|
|
1014
|
+
* @param value - 設定する係数(0.0 to 1.0)
|
|
1015
|
+
*/
|
|
1016
|
+
setGaussianScale(value: number): void;
|
|
1017
|
+
/**
|
|
1018
|
+
* シェーダ上で作用する加減算アルファ値を設定する
|
|
1019
|
+
* @param alpha - アルファ(適切な範囲はおよそ -3.0 ~ 3.0)
|
|
1020
|
+
*/
|
|
1021
|
+
setOpacityAdditive(alpha: number): void;
|
|
1022
|
+
/**
|
|
1023
|
+
* シェーダ上で作用する乗算アルファ値を設定する
|
|
1024
|
+
* @param alpha - アルファ(適切な範囲はおよそ -3.0 ~ 3.0)
|
|
1025
|
+
*/
|
|
1026
|
+
setOpacityMultiplier(alpha: number): void;
|
|
1027
|
+
/**
|
|
1028
|
+
* 点描画用の Points に対してアルファを設定する
|
|
1029
|
+
* @param alpha - アルファ(0.0 ~ 1.0)
|
|
1030
|
+
*/
|
|
1031
|
+
setOpacityPoints(alpha: number): void;
|
|
1032
|
+
/**
|
|
1033
|
+
* シェーダ上で作用する blur を設定する
|
|
1034
|
+
* @param blur - スプラット内で色をぼかす係数(適切な範囲はおよそ 0.0 ~ 1.0)
|
|
1035
|
+
*/
|
|
1036
|
+
setColorBlur(blur: number): void;
|
|
1037
|
+
/**
|
|
1038
|
+
* シェーダ上で作用する sharpness を設定する
|
|
1039
|
+
* @param sharpness - スプラット内で色を強調する係数(適切な範囲はおよそ 0.0 ~ 1.0)
|
|
1040
|
+
*/
|
|
1041
|
+
setColorSharpness(sharpness: number): void;
|
|
1042
|
+
/**
|
|
1043
|
+
* シェーダ上で作用する色温度(Color Temperature)を設定する
|
|
1044
|
+
* @param temperature - 色温度(-1.0 ~ 1.0)
|
|
1045
|
+
*/
|
|
1046
|
+
setColorTemperature(temperature: number): void;
|
|
1047
|
+
/**
|
|
1048
|
+
* シェーダ上で作用する色合い(Color Tint)を設定する
|
|
1049
|
+
* @param tint - ティント係数(-1.0 ~ 1.0)
|
|
1050
|
+
*/
|
|
1051
|
+
setColorTint(tint: number): void;
|
|
1052
|
+
/**
|
|
1053
|
+
* シェーダ上で作用するコントラストを設定する
|
|
1054
|
+
* @param contrast - コントラスト強調係数(標準: 0.5)
|
|
1055
|
+
*/
|
|
1056
|
+
setColorContrast(contrast: number): void;
|
|
1057
|
+
/**
|
|
1058
|
+
* シェーダ上で作用する HSV カラーシフト(Hue, Saturation, Value)を設定する
|
|
1059
|
+
* @param hsv - 色相・彩度・明度の変調ベクトル(x: Hue, y: Saturation, z: Value)
|
|
1060
|
+
*/
|
|
1061
|
+
setHSVColor(hsv: iVectorLike): void;
|
|
1062
|
+
/**
|
|
1063
|
+
* シェーダ上で作用する RGB カラー倍数を設定する
|
|
1064
|
+
* @param rgb - 赤・緑・青の乗算カラーベクトル(x: Red, y: Green, z: Blue)
|
|
1065
|
+
*/
|
|
1066
|
+
setColorRGB(rgb: iVectorLike): void;
|
|
1067
|
+
/**
|
|
1068
|
+
* クリッピング(領域切り取り)機能の有効・無効を設定する
|
|
1069
|
+
* @param enabled - クリッピングを有効にするかどうか
|
|
1070
|
+
*/
|
|
1071
|
+
setClippingEnabled(enabled: boolean): void;
|
|
1072
|
+
/**
|
|
1073
|
+
* クリッピング球のワールド空間における位置とスケールを設定する
|
|
1074
|
+
* @param position - クリッピング球の位置ベクトル
|
|
1075
|
+
* @param scale - クリッピング球のスケールベクトル
|
|
1076
|
+
*/
|
|
1077
|
+
setClippingSphere(position: iVectorLike, scale: iVectorLike): void;
|
|
1078
|
+
/**
|
|
1079
|
+
* クリッピング領域外のスプラット描画サイズを設定する
|
|
1080
|
+
* @param size - 領域外スプラットのポイントサイズ
|
|
1081
|
+
*/
|
|
1082
|
+
setOutsideClipPointSize(size: number): void;
|
|
1083
|
+
/**
|
|
1084
|
+
* クリッピング領域外のスプラット不透明度(アルファ)を設定する
|
|
1085
|
+
* @param opacity - 領域外スプラットの不透明度(0.0 ~ 1.0)
|
|
1086
|
+
*/
|
|
1087
|
+
setOutsideClipOpacity(opacity: number): void;
|
|
1088
|
+
private activeAnimations;
|
|
1089
|
+
private animationMaxRenderDistance;
|
|
1090
|
+
private animationMainDistance;
|
|
1091
|
+
private animationRemainingDistance;
|
|
1092
|
+
private animationSplitPoint;
|
|
1093
|
+
private _updateAnimation;
|
|
1094
|
+
private _mapProgressToDistance;
|
|
1095
|
+
/**
|
|
1096
|
+
* 距離に応じたスプラットの大きさにおける最小値を設定する
|
|
1097
|
+
* @param value - 設定する係数(0.0 to 1.0)
|
|
1098
|
+
*/
|
|
1099
|
+
setEffectMinimumScale(value: number): void;
|
|
1100
|
+
/**
|
|
1101
|
+
* 距離に応じたスプラットの大きさ係数を設定する
|
|
1102
|
+
* @param value - 設定する係数(0.0 ~ 1.0)
|
|
1103
|
+
*/
|
|
1104
|
+
setEffectDistanceBase(value: number): void;
|
|
1105
|
+
/**
|
|
1106
|
+
* 距離に応じたスプラットの範囲係数を設定する
|
|
1107
|
+
* @param value - 設定する係数(0.0 < n <= 1.0)
|
|
1108
|
+
*/
|
|
1109
|
+
setEffectDistanceRange(value: number): void;
|
|
1110
|
+
/**
|
|
1111
|
+
* シェーダーで使用するワールド原点を設定する
|
|
1112
|
+
* @param x - X座標
|
|
1113
|
+
* @param y - Y座標
|
|
1114
|
+
* @param z - Z座標
|
|
1115
|
+
*/
|
|
1116
|
+
setWorldOrigin(x: number, y: number, z: number): void;
|
|
1117
|
+
/**
|
|
1118
|
+
* 点描画用の Points に対して距離に応じたエフェクトの範囲係数を設定する(外側)
|
|
1119
|
+
* @param value - 設定する係数(0.0 < n <= 1.0)
|
|
1120
|
+
*/
|
|
1121
|
+
setEffectDistancePoints(value: number): void;
|
|
1122
|
+
/**
|
|
1123
|
+
* 点描画用の Points に対して距離に応じたエフェクトの範囲係数を設定する (内側)
|
|
1124
|
+
* @param value - 設定する係数(0.0 ~ 1.0)
|
|
1125
|
+
*/
|
|
1126
|
+
setEffectDistanceNearPoints(value: number): void;
|
|
1127
|
+
/**
|
|
1128
|
+
* ソナーエフェクトを設定する(外側)
|
|
1129
|
+
* @param value - 設定する係数(0.0 < n <= 1.0)
|
|
1130
|
+
*/
|
|
1131
|
+
setEffectSonar(value: number): void;
|
|
1132
|
+
/**
|
|
1133
|
+
* ソナーエフェクトの範囲を設定する
|
|
1134
|
+
* @param value - 設定する係数(0.0 ~ 1.0)
|
|
1135
|
+
*/
|
|
1136
|
+
setEffectSonarRange(value: number): void;
|
|
1137
|
+
/**
|
|
1138
|
+
* 点描画の開花効果をアニメーションする
|
|
1139
|
+
* @param duration - アニメーションの継続時間(ミリ秒)
|
|
1140
|
+
*/
|
|
1141
|
+
startBloomPoints(duration?: number): void;
|
|
1142
|
+
/**
|
|
1143
|
+
* 点描画からスプラットへの溶解効果をアニメーションする
|
|
1144
|
+
* @param duration - アニメーションの継続時間(ミリ秒)
|
|
1145
|
+
* @param backgroundFadeInDelay - 溶解開始から fadeInBackground を開始するまでの遅延(ミリ秒)
|
|
1146
|
+
* @param backgroundFadeInDuration - fadeInBackground の継続時間(ミリ秒)
|
|
1147
|
+
*/
|
|
1148
|
+
startDissolveToGaussian(duration?: number, backgroundFadeInDelay?: number, backgroundFadeInDuration?: number): void;
|
|
1149
|
+
/**
|
|
1150
|
+
* ソナー波効果をアニメーションする
|
|
1151
|
+
* @param duration - アニメーションの継続時間(ミリ秒)
|
|
1152
|
+
*/
|
|
1153
|
+
startSonarWave(duration?: number): void;
|
|
1154
|
+
/**
|
|
1155
|
+
* カメラパスをアニメーションする
|
|
1156
|
+
* @param name - カメラパスの名前
|
|
1157
|
+
* @param duration - アニメーションの継続時間(ミリ秒)
|
|
1158
|
+
*/
|
|
1159
|
+
animatePath(name?: string, duration?: number): void;
|
|
1160
|
+
/**
|
|
1161
|
+
* 背景の不透明度を0から1.0へアニメーションする
|
|
1162
|
+
* @param duration - アニメーションの継続時間(ミリ秒)
|
|
1163
|
+
* @param startDelay - 開始までの遅延(ミリ秒、デフォルト0)
|
|
1164
|
+
*/
|
|
1165
|
+
startFadeInBackground(duration?: number, startDelay?: number): void;
|
|
1166
|
+
/**
|
|
1167
|
+
* 背景の不透明度を1.0から0へアニメーションする
|
|
1168
|
+
* @param duration - アニメーションの継続時間(ミリ秒)
|
|
1169
|
+
*/
|
|
1170
|
+
startFadeOutBackground(duration?: number): void;
|
|
1171
|
+
/**
|
|
1172
|
+
* 名前で指定したスプラットメッシュの選択領域に対してローカルトランスフォームを累積適用する
|
|
1173
|
+
* @param name - 対象メッシュ名
|
|
1174
|
+
* @param translation - 平行移動ベクトル
|
|
1175
|
+
* @param rotation - 回転オイラー角
|
|
1176
|
+
* @param scale - スケールベクトル
|
|
1177
|
+
*/
|
|
1178
|
+
applyLocalTransformToSelected(name: string, translation: iVectorLike, rotation: iVectorLike, scale: iVectorLike): void;
|
|
1179
|
+
/**
|
|
1180
|
+
* 名前で指定したスプラットメッシュの選択中のローカルトランスフォームをリセットする
|
|
1181
|
+
* @param name - 対象メッシュ名
|
|
1182
|
+
*/
|
|
1183
|
+
resetLocalTransformOfSelected(name: string): void;
|
|
1184
|
+
/**
|
|
1185
|
+
* 名前で指定したスプラットメッシュのすべてのローカルトランスフォームを初期化・リセットする
|
|
1186
|
+
* @param name - 対象メッシュ名
|
|
1187
|
+
*/
|
|
1188
|
+
resetAllLocalTransforms(name: string): void;
|
|
1189
|
+
/**
|
|
1190
|
+
* ローカルトランスフォームのためのギズモをセットアップする
|
|
1191
|
+
*/
|
|
1192
|
+
private setupLocalTransformGizmo;
|
|
1193
|
+
/**
|
|
1194
|
+
* ローカルトランスフォーム操作用ギズモの有効/無効を設定する
|
|
1195
|
+
* @param enabled - 有効にするかどうか
|
|
1196
|
+
*/
|
|
1197
|
+
setLocalTransformGizmoEnabled(enabled: boolean): void;
|
|
1198
|
+
/**
|
|
1199
|
+
* ローカルトランスフォーム操作用ギズモの操作モードを設定する
|
|
1200
|
+
* @param mode - 操作モード ("translate" | "rotate" | "scale")
|
|
1201
|
+
*/
|
|
1202
|
+
setLocalTransformGizmoMode(mode: "translate" | "rotate" | "scale"): void;
|
|
1203
|
+
/**
|
|
1204
|
+
* 選択中のスプラット情報に基づいてローカル変換ギズモの位置・姿勢を自動更新する
|
|
1205
|
+
*/
|
|
1206
|
+
updateLocalTransformGizmo(): void;
|
|
1207
|
+
/**
|
|
1208
|
+
* ギズモのダミーオブジェクトのトランスフォームを、選択中のスプラットに一括同期反映する
|
|
1209
|
+
*/
|
|
1210
|
+
private syncLocalTransformFromGizmo;
|
|
1211
|
+
/**
|
|
1212
|
+
* OrbitControlsの注視点カーソルを、注視点変更時に自動表示するかどうかを設定する
|
|
1213
|
+
* @param enabled - 有効にするかどうか
|
|
1214
|
+
*/
|
|
1215
|
+
setOrbitCursorAutoDisplay(enabled: boolean): void;
|
|
1216
|
+
/**
|
|
1217
|
+
* 注視点変更時のオービットカーソル自動表示が有効かどうかを取得する
|
|
1218
|
+
* @returns 有効かどうか
|
|
1219
|
+
*/
|
|
1220
|
+
isOrbitCursorAutoDisplayEnabled(): boolean;
|
|
1221
|
+
/**
|
|
1222
|
+
* オービットカーソルの常時表示が有効かどうかを取得する
|
|
1223
|
+
* @returns 有効かどうか
|
|
1224
|
+
*/
|
|
1225
|
+
isOrbitCursorDisplay(): boolean;
|
|
1226
|
+
/**
|
|
1227
|
+
* OrbitControlsの注視点カーソルを常に表示するかどうかを設定する
|
|
1228
|
+
* @param enabled - 有効にするかどうか
|
|
1229
|
+
*/
|
|
1230
|
+
setOrbitCursorDisplay(enabled: boolean): void;
|
|
1231
|
+
/**
|
|
1232
|
+
* OrbitControlsの注視点カーソルのスケールを設定する
|
|
1233
|
+
* @param scale - スケール
|
|
1234
|
+
*/
|
|
1235
|
+
setOrbitCursorScale(scale: number): void;
|
|
1236
|
+
/**
|
|
1237
|
+
* デバッグ用座標軸(AxesHelper)の表示・非表示を設定する
|
|
1238
|
+
* @param visible - 表示するかどうか
|
|
1239
|
+
*/
|
|
1240
|
+
setAxisVisible(visible: boolean): void;
|
|
1241
|
+
/**
|
|
1242
|
+
* デバッグ用座標軸(AxesHelper)が表示されているかどうかを取得する
|
|
1243
|
+
* @returns 表示されているかどうか
|
|
1244
|
+
*/
|
|
1245
|
+
isAxisVisible(): boolean;
|
|
1246
|
+
/**
|
|
1247
|
+
* 3D Orbit Cursor の表示・位置追従を更新する
|
|
1248
|
+
*/
|
|
1249
|
+
private _updateOrbitCursor;
|
|
1250
|
+
/**
|
|
1251
|
+
* 全メッシュの Gaussian スプラットマテリアルに Uniforms を一括設定する
|
|
1252
|
+
* @param uniforms - 設定する Uniforms オブジェクト
|
|
1253
|
+
*/
|
|
1254
|
+
setUniforms(uniforms: Record<string, tUniformValue>): void;
|
|
1255
|
+
/**
|
|
1256
|
+
* 全メッシュの Points(点描画)マテリアルに Uniforms を一括設定する
|
|
1257
|
+
* @param uniforms - 設定する Uniforms オブジェクト
|
|
1258
|
+
*/
|
|
1259
|
+
setPointUniforms(uniforms: Record<string, tUniformValue>): void;
|
|
1260
|
+
private selectorMap;
|
|
1261
|
+
private reversedCollision;
|
|
1262
|
+
/**
|
|
1263
|
+
* セレクターによる衝突判定の反転フラグを設定する
|
|
1264
|
+
* @param reversed - 設定する反転属性
|
|
1265
|
+
*/
|
|
1266
|
+
setCollisionReversed(reversed: boolean): void;
|
|
1267
|
+
/**
|
|
1268
|
+
* 現在選択しているスプラットを削除状態とする
|
|
1269
|
+
*/
|
|
1270
|
+
deleteSelectedGaussian(): void;
|
|
1271
|
+
/**
|
|
1272
|
+
* 削除状態を一世代前に戻す
|
|
1273
|
+
*/
|
|
1274
|
+
undoDeletedGaussian(): void;
|
|
1275
|
+
/**
|
|
1276
|
+
* すべての削除状態をリセットする
|
|
1277
|
+
*/
|
|
1278
|
+
resetDeletedGaussian(): void;
|
|
1279
|
+
/**
|
|
1280
|
+
* 現在の衝突判定を解除する
|
|
1281
|
+
*/
|
|
1282
|
+
resetCollision(): void;
|
|
1283
|
+
/**
|
|
1284
|
+
* 衝突判定を設定する
|
|
1285
|
+
* @param collision - 設定する衝突判定、またはその配列
|
|
1286
|
+
* @param mode - 選択モード(SELECTION_MODE)
|
|
1287
|
+
*/
|
|
1288
|
+
setCollision(collision: iCollisionTarget | iCollisionTarget[], mode?: tSelectionMode): void;
|
|
1289
|
+
/**
|
|
1290
|
+
* 球の衝突判定パラメータ(Worker に渡すフォーマット)を生成する
|
|
1291
|
+
* @param radius - 半径
|
|
1292
|
+
* @param position - ワールド空間における位置
|
|
1293
|
+
* @param scale - ワールド空間における拡大縮小(スケール)
|
|
1294
|
+
* @param inverseMatrix - ワールド変換の逆行列
|
|
1295
|
+
* @param reversed - 判定の反転(球に内包されている状態を規定とし、それを反転するかどうか)
|
|
1296
|
+
*/
|
|
1297
|
+
private createCollisionSphere;
|
|
1298
|
+
/**
|
|
1299
|
+
* 箱の衝突判定パラメータ(Worker に渡すフォーマット)を生成する
|
|
1300
|
+
* @param width - 一辺の幅
|
|
1301
|
+
* @param height - 一辺の高さ
|
|
1302
|
+
* @param depth - 一辺の奥行き
|
|
1303
|
+
* @param position - ワールド空間における位置
|
|
1304
|
+
* @param scale - ワールド空間における拡大縮小(スケール)
|
|
1305
|
+
* @param inverseMatrix - ワールド変換の逆行列
|
|
1306
|
+
* @param reversed - 判定の反転(球に内包されている状態を規定とし、それを反転するかどうか)
|
|
1307
|
+
*/
|
|
1308
|
+
private createCollisionBox;
|
|
1309
|
+
/**
|
|
1310
|
+
* 単一セレクターから Worker 用の CollisionTarget を生成するヘルパー
|
|
1311
|
+
* @param selector - 対象のセレクター名
|
|
1312
|
+
* @param reversed - 反転フラグ
|
|
1313
|
+
*/
|
|
1314
|
+
private getCollisionTargetFromSelector;
|
|
1315
|
+
/**
|
|
1316
|
+
* 名前を指定してセレクターで衝突判定を行う
|
|
1317
|
+
* @param name - 対象となるセレクターの名前
|
|
1318
|
+
* @param mode - 選択モード(SELECTION_MODE)
|
|
1319
|
+
*/
|
|
1320
|
+
checkCollisionBySelector(name: string, mode?: tSelectionMode): void;
|
|
1321
|
+
/**
|
|
1322
|
+
* 名前を複数(配列で)指定して対象のセレクターで衝突判定を行う
|
|
1323
|
+
* @param names - 対象となるセレクターの名前の配列
|
|
1324
|
+
* @param mode - 選択モード(SELECTION_MODE)
|
|
1325
|
+
*/
|
|
1326
|
+
checkCollisionBySelectors(names: string[], mode?: tSelectionMode): void;
|
|
1327
|
+
/**
|
|
1328
|
+
* 現在追加されているすべてのセレクターで衝突判定を行う
|
|
1329
|
+
* @param mode - 選択モード(SELECTION_MODE)
|
|
1330
|
+
*/
|
|
1331
|
+
checkCollisionByAllSelectors(mode?: tSelectionMode): void;
|
|
1332
|
+
/**
|
|
1333
|
+
* ==========================================================================
|
|
1334
|
+
* selector
|
|
1335
|
+
* ==========================================================================
|
|
1336
|
+
*/
|
|
1337
|
+
/**
|
|
1338
|
+
* 単一セレクターの諸情報を取得するヘルパー
|
|
1339
|
+
* @param name - 対象のセレクター名
|
|
1340
|
+
*/
|
|
1341
|
+
private getSelectorInfo;
|
|
1342
|
+
/**
|
|
1343
|
+
* すべての生成済みセレクターの諸情報を返す
|
|
1344
|
+
*/
|
|
1345
|
+
getAllSelectorInfo(): iSelectorInfo[];
|
|
1346
|
+
/**
|
|
1347
|
+
* 名前を指定してセレクターの可視性を設定する
|
|
1348
|
+
* @param name - 対象セレクター名
|
|
1349
|
+
* @param visible - 可視性
|
|
1350
|
+
*/
|
|
1351
|
+
setSelectorVisible(name: string, visible: boolean): void;
|
|
1352
|
+
/**
|
|
1353
|
+
* 名前を指定してセレクターを平行移動モードにする
|
|
1354
|
+
* @param name - 設定するセレクターの名前
|
|
1355
|
+
*/
|
|
1356
|
+
setSelectorModeTranslate(name: string): void;
|
|
1357
|
+
/**
|
|
1358
|
+
* 名前を指定してセレクターを拡大縮小モードにする
|
|
1359
|
+
* @param name - 設定するセレクターの名前
|
|
1360
|
+
*/
|
|
1361
|
+
setSelectorModeScale(name: string): void;
|
|
1362
|
+
/**
|
|
1363
|
+
* 名前を指定してセレクターを回転モードにする
|
|
1364
|
+
* @param name - 設定するセレクターの名前
|
|
1365
|
+
*/
|
|
1366
|
+
setSelectorModeRotate(name: string): void;
|
|
1367
|
+
/**
|
|
1368
|
+
* 名前を指定してセレクターの位置を設定する
|
|
1369
|
+
* @param name - 設定するセレクターの名前
|
|
1370
|
+
* @param position - 設定する位置
|
|
1371
|
+
*/
|
|
1372
|
+
setSelectorPosition(name: string, position: iVectorLike): void;
|
|
1373
|
+
/**
|
|
1374
|
+
* 名前を指定してセレクターの回転を設定する
|
|
1375
|
+
* @param name - 設定するセレクターの名前
|
|
1376
|
+
* @param rotation - 設定する回転(Euler)
|
|
1377
|
+
*/
|
|
1378
|
+
setSelectorRotation(name: string, rotation: iVectorLike): void;
|
|
1379
|
+
/**
|
|
1380
|
+
* 名前を指定してセレクターのスケールを設定する
|
|
1381
|
+
* @param name - 設定するセレクターの名前
|
|
1382
|
+
* @param position - 設定するスケール
|
|
1383
|
+
*/
|
|
1384
|
+
setSelectorScale(name: string, scale: iVectorLike): void;
|
|
1385
|
+
/**
|
|
1386
|
+
* 名前を指定してセレクターを削除する
|
|
1387
|
+
* @param name - 削除するセレクターの名前
|
|
1388
|
+
*/
|
|
1389
|
+
deleteSelector(name: string): void;
|
|
1390
|
+
/**
|
|
1391
|
+
* 名前を指定して球のセレクターを追加する(既定の状態では visible が false である点に注意)
|
|
1392
|
+
* @param name - 追加するセレクターに付与する名前
|
|
1393
|
+
* @param option - セレクターに対するオプション
|
|
1394
|
+
*/
|
|
1395
|
+
addSphereSelector(name: string, option?: iSphereSelectorOption): void;
|
|
1396
|
+
/**
|
|
1397
|
+
* 名前を指定して箱のセレクターを追加する(既定の状態では visible が false である点に注意)
|
|
1398
|
+
* @param name - 追加するセレクターに付与する名前
|
|
1399
|
+
* @param option - セレクターに対するオプション
|
|
1400
|
+
*/
|
|
1401
|
+
addBoxSelector(name: string, option?: iBoxSelectorOption): void;
|
|
1402
|
+
}
|