@openheart/tavio-renderer 2.3.8-with-wasm → 2.3.9-with-wasm
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-CRnJXJfM.js +956 -0
- package/build/esm/assets/{workerHelpers-DHY9csG0.js → workerHelpers-CrP5JTLu.js} +1 -1
- package/build/esm/index.js +1252 -809
- package/build/esm/types/animation/animationController.d.ts +1 -1
- package/build/esm/types/editor/selector/boxSelector.d.ts +1 -1
- package/build/esm/types/editor/selector/selector.d.ts +1 -1
- package/build/esm/types/editor/selector/sphereSelector.d.ts +1 -1
- package/build/esm/types/utility/console.d.ts +2 -1
- package/build/esm/types/utility/plyDecoder.d.ts +8 -2
- package/build/esm/types/viewer/canvas.d.ts +120 -67
- package/build/esm/types/viewer/materialGenerator.d.ts +1 -0
- package/build/esm/types/viewer/renderView.d.ts +67 -0
- package/build/esm/types/viewer/tavioMesh.d.ts +50 -24
- package/build/esm/types/worker/tavioWorker.d.ts +1 -1
- package/build/esm/wasm/pkg/no-thread/tavio.d.ts +1 -1
- package/build/esm/wasm/pkg/no-thread/tavio_bg.wasm +0 -0
- package/build/esm/wasm/pkg/no-thread/tavio_bg.wasm.d.ts +1 -1
- package/build/esm/wasm/pkg/thread/tavio.d.ts +6 -6
- package/build/esm/wasm/pkg/thread/tavio.js +13 -13
- package/build/esm/wasm/pkg/thread/tavio_bg.wasm +0 -0
- package/build/esm/wasm/pkg/thread/tavio_bg.wasm.d.ts +6 -6
- package/package.json +1 -1
- package/build/esm/assets/tavio-W_sdgqtN.js +0 -956
- package/build/esm/types/main.d.ts +0 -0
- package/build/esm/types/worker/splatWorker.d.ts +0 -16
|
@@ -115,7 +115,7 @@ export declare class AnimationController extends EventEmitter {
|
|
|
115
115
|
*/
|
|
116
116
|
bloomPoints(duration: number): void;
|
|
117
117
|
/**
|
|
118
|
-
*
|
|
118
|
+
* 点描画からスプラットへの溶解効果をアニメーションする
|
|
119
119
|
* @param duration - アニメーションの継続時間(ミリ秒)
|
|
120
120
|
*/
|
|
121
121
|
dissolveToGaussian(duration: number): void;
|
|
@@ -15,6 +15,7 @@ export interface iPlyData {
|
|
|
15
15
|
export interface iSplatData {
|
|
16
16
|
splatBuffer: ArrayBufferLike;
|
|
17
17
|
sphericalHarmonicsBuffer: Float32Array;
|
|
18
|
+
sphericalHarmonicsDegrees: number;
|
|
18
19
|
}
|
|
19
20
|
export interface iTavioData extends iSplatData {
|
|
20
21
|
position: Float32Array;
|
|
@@ -40,6 +41,11 @@ export declare class PlyDecoder {
|
|
|
40
41
|
static ROW_LENGTH_TAVIO: number;
|
|
41
42
|
/** 球面調和関数の交流成分の数 */
|
|
42
43
|
static SPHERICAL_HARMONICS_BASE_ELEMENT: number;
|
|
44
|
+
/** 交流成分の次数に対する要素の数 */
|
|
45
|
+
static SH_DEGREES1: number;
|
|
46
|
+
static SH_DEGREES2: number;
|
|
47
|
+
static SH_DEGREES3: number;
|
|
48
|
+
static SH_DEGREES: number[];
|
|
43
49
|
/** 直流成分の係数 */
|
|
44
50
|
static SH_C0: number;
|
|
45
51
|
/** .ply のプロパティのデータタイプと対応付けを行うためのデータ構造 */
|
|
@@ -89,8 +95,8 @@ export declare class PlyDecoder {
|
|
|
89
95
|
/**
|
|
90
96
|
* ply データから tavio および球面調和関数の交流成分のデータを生成する
|
|
91
97
|
* @param data - ヘッダ情報(decodeHeader の戻り値)
|
|
92
|
-
* @param start -
|
|
93
|
-
* @param end -
|
|
98
|
+
* @param start - 対象のスプラットの開始インデックス
|
|
99
|
+
* @param end - 対象のスプラットの終了インデックス
|
|
94
100
|
*/
|
|
95
101
|
static createTavio(data: iPlyData): iTavioData;
|
|
96
102
|
}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
import { Euler,
|
|
1
|
+
import { Euler, Matrix4, RawShaderMaterial, Vector3, WebGLRenderTarget, WebGLRenderer, PMREMGenerator } from 'three';
|
|
2
2
|
import { default as EventEmitter } from 'eventemitter3';
|
|
3
3
|
import { iCollisionTarget } from '../worker/tavioWorker';
|
|
4
4
|
import { CameraPath } from '../camera/cameraPath';
|
|
5
5
|
import { CameraPathControls } from '../camera/cameraPathControls';
|
|
6
|
-
import { CameraPathManager } from '../camera/cameraPathManager';
|
|
7
6
|
import { FlightControls, iLatitudeLongitude } from '../camera/flightControls';
|
|
8
|
-
import { TransferControls } from '../camera/transferControls';
|
|
9
7
|
import { OrbitControls } from '../camera/orbitControls';
|
|
10
|
-
import { CameraCollider } from '../camera/cameraCollider';
|
|
11
8
|
import { ConsoleOutput } from '../utility/console';
|
|
12
9
|
import { iSphereSelectorOption } from '../editor/selector/sphereSelector';
|
|
13
10
|
import { iBoxSelectorOption } from '../editor/selector/boxSelector';
|
|
@@ -15,6 +12,7 @@ import { Selector } from '../editor/selector/selector';
|
|
|
15
12
|
import { TavioMesh } from './tavioMesh';
|
|
16
13
|
import { iAnimationConfig } from '../animation/animationController';
|
|
17
14
|
import { iMaterialOption } from './materialGenerator';
|
|
15
|
+
import { RenderView } from './renderView';
|
|
18
16
|
/**
|
|
19
17
|
* Tavio Viewer のエラーコード
|
|
20
18
|
*/
|
|
@@ -33,11 +31,11 @@ export declare class TavioError extends Error {
|
|
|
33
31
|
/**
|
|
34
32
|
* カメラコントロールの種類
|
|
35
33
|
*/
|
|
36
|
-
type tControlsType = "orbit" | "path" | "flight";
|
|
34
|
+
export type tControlsType = "orbit" | "path" | "flight";
|
|
37
35
|
/**
|
|
38
36
|
* カメラコントロールの型チェック用定義
|
|
39
37
|
*/
|
|
40
|
-
type tControlInstance = OrbitControls | CameraPathControls | FlightControls;
|
|
38
|
+
export type tControlInstance = OrbitControls | CameraPathControls | FlightControls;
|
|
41
39
|
/**
|
|
42
40
|
* Vector3 と同様に外部データを扱うための型定義
|
|
43
41
|
*/
|
|
@@ -49,7 +47,7 @@ export interface iVectorLike {
|
|
|
49
47
|
/**
|
|
50
48
|
* カメラパスコントロールのオプション
|
|
51
49
|
*/
|
|
52
|
-
interface iCameraPathOption {
|
|
50
|
+
export interface iCameraPathOption {
|
|
53
51
|
attenuation?: number;
|
|
54
52
|
scaleX?: number;
|
|
55
53
|
scaleY?: number;
|
|
@@ -118,6 +116,8 @@ interface iSelectorInfo {
|
|
|
118
116
|
*/
|
|
119
117
|
export interface iLoadingOption {
|
|
120
118
|
useSphericalHarmonics?: boolean;
|
|
119
|
+
autoInsert?: boolean;
|
|
120
|
+
autoBackground?: boolean;
|
|
121
121
|
}
|
|
122
122
|
/**
|
|
123
123
|
* ファイル内に含まれる 3DGS の原点からの距離と割合
|
|
@@ -161,51 +161,26 @@ export declare class Core extends EventEmitter {
|
|
|
161
161
|
gl: WebGL2RenderingContext;
|
|
162
162
|
uniforms: any;
|
|
163
163
|
viewerOption: iViewerOption;
|
|
164
|
+
defaultRenderViewSymbol: Symbol;
|
|
165
|
+
renderViewMap: Map<Symbol | string, RenderView>;
|
|
166
|
+
currentRenderViewName: Symbol | string;
|
|
167
|
+
currentRenderView: RenderView;
|
|
164
168
|
meshMap: Map<string, TavioMesh>;
|
|
165
|
-
controlsMap: Map<string, tControlInstance>;
|
|
166
|
-
enableControlsMap: Map<string, boolean>;
|
|
167
|
-
currentControlsType: tControlsType;
|
|
168
|
-
transferControls: TransferControls;
|
|
169
169
|
selectorMap: Map<string, Selector>;
|
|
170
170
|
cameraColliderEnabled: boolean;
|
|
171
|
-
cameraCollider: CameraCollider;
|
|
172
|
-
cameraPathCollisionRadius: number;
|
|
173
|
-
cameraPathManager: CameraPathManager;
|
|
174
171
|
reversedCollision: boolean;
|
|
175
|
-
previousPosition: Vector3;
|
|
176
|
-
previousRotation: Quaternion;
|
|
177
|
-
previousFov: number;
|
|
178
172
|
maxDistance: number;
|
|
179
173
|
isInteractive: boolean;
|
|
180
174
|
isRendering: boolean;
|
|
181
175
|
startRendering: number;
|
|
182
|
-
isDown: boolean;
|
|
183
|
-
isWheel: boolean;
|
|
184
176
|
isLoading: boolean;
|
|
185
|
-
onPointerDown: (evt: PointerEvent) => void;
|
|
186
|
-
onPointerUp: (evt: PointerEvent) => void;
|
|
187
|
-
onWheel: (evt: WheelEvent) => void;
|
|
188
177
|
renderer: WebGLRenderer;
|
|
189
|
-
scene: Scene;
|
|
190
178
|
pmremGenerator: PMREMGenerator;
|
|
191
|
-
gaussianGroup: Group;
|
|
192
|
-
meshGroup: Group;
|
|
193
|
-
interfaceGroup: Group;
|
|
194
|
-
perspectiveCamera: PerspectiveCamera;
|
|
195
179
|
gaussianMaterial: RawShaderMaterial;
|
|
196
180
|
gaussianPickingMaterial: RawShaderMaterial;
|
|
197
181
|
pickingRenderTarget: WebGLRenderTarget;
|
|
198
|
-
pickingScene: Scene;
|
|
199
182
|
parameters: any;
|
|
200
183
|
console: ConsoleOutput;
|
|
201
|
-
consoleOutput: boolean;
|
|
202
|
-
private orbitCursor;
|
|
203
|
-
private orbitCursorMaterial;
|
|
204
|
-
private orbitCursorGeometry;
|
|
205
|
-
private orbitCursorEnabled;
|
|
206
|
-
private orbitCursorHorizontal;
|
|
207
|
-
private orbitCursorCenter;
|
|
208
|
-
private previousOrbitTarget;
|
|
209
184
|
private animationController;
|
|
210
185
|
private pathAnimationLocked;
|
|
211
186
|
/**
|
|
@@ -240,7 +215,6 @@ export declare class Core extends EventEmitter {
|
|
|
240
215
|
readonly FRAGMENT_MAIN_BEGIN: 11;
|
|
241
216
|
readonly FRAGMENT_MAIN_IN: 12;
|
|
242
217
|
readonly FRAGMENT_MAIN_OUT: 13;
|
|
243
|
-
/** Float16Array 未対応環境 */
|
|
244
218
|
readonly FRAGMENT_MAIN_END: 14;
|
|
245
219
|
};
|
|
246
220
|
/**
|
|
@@ -267,34 +241,44 @@ export declare class Core extends EventEmitter {
|
|
|
267
241
|
*/
|
|
268
242
|
init(canvas: HTMLCanvasElement, materialOption?: iViewerMaterialOption): void;
|
|
269
243
|
/**
|
|
270
|
-
*
|
|
271
|
-
* @param option - シェーダチャンクなどの情報を含むマテリアルオプション
|
|
244
|
+
* レンダービューをセットアップする
|
|
272
245
|
*/
|
|
273
|
-
|
|
246
|
+
setupRenderView(): void;
|
|
274
247
|
/**
|
|
275
248
|
* カメラコントロール・カメラコライダーをセットアップする
|
|
249
|
+
* @param renderView - セットアップの対象となるレンダービュー
|
|
276
250
|
*/
|
|
277
|
-
setupControls(): void;
|
|
251
|
+
setupControls(renderView: RenderView): void;
|
|
278
252
|
/**
|
|
279
253
|
* OrbitControls をセットアップする
|
|
254
|
+
* @param renderView - セットアップの対象となるレンダービュー
|
|
280
255
|
*/
|
|
281
|
-
setupOrbitControls(): void;
|
|
256
|
+
setupOrbitControls(renderView: RenderView): void;
|
|
282
257
|
/**
|
|
283
258
|
* CameraPathControls をセットアップする
|
|
259
|
+
* @param renderView - セットアップの対象となるレンダービュー
|
|
284
260
|
*/
|
|
285
|
-
setupCameraPathControls(): void;
|
|
261
|
+
setupCameraPathControls(renderView: RenderView): void;
|
|
286
262
|
/**
|
|
287
263
|
* FlightControls をセットアップする
|
|
264
|
+
* @param renderView - セットアップの対象となるレンダービュー
|
|
288
265
|
*/
|
|
289
|
-
setupFlightControls(): void;
|
|
266
|
+
setupFlightControls(renderView: RenderView): void;
|
|
290
267
|
/**
|
|
291
268
|
* TransferControls をセットアップする
|
|
269
|
+
* @param renderView - セットアップの対象となるレンダービュー
|
|
292
270
|
*/
|
|
293
|
-
setupTransferControls(): void;
|
|
271
|
+
setupTransferControls(renderView: RenderView): void;
|
|
294
272
|
/**
|
|
295
273
|
* CameraCollider をセットアップする
|
|
274
|
+
* @param renderView - セットアップの対象となるレンダービュー
|
|
275
|
+
*/
|
|
276
|
+
setupCameraCollider(renderView: RenderView): void;
|
|
277
|
+
/**
|
|
278
|
+
* マテリアルをセットアップする
|
|
279
|
+
* @param option - シェーダチャンクなどの情報を含むマテリアルオプション
|
|
296
280
|
*/
|
|
297
|
-
|
|
281
|
+
setupMaterial(option?: iViewerMaterialOption): void;
|
|
298
282
|
/**
|
|
299
283
|
* セレクターをセットアップする
|
|
300
284
|
*/
|
|
@@ -316,12 +300,14 @@ export declare class Core extends EventEmitter {
|
|
|
316
300
|
* TavioMesh を生成しロード前の共通処理を行う
|
|
317
301
|
* @private
|
|
318
302
|
* @param name - このメッシュの固有名
|
|
303
|
+
* @param option - ロード・パース関連のオプション
|
|
319
304
|
*/
|
|
320
305
|
private _beforeLoadMesh;
|
|
321
306
|
/**
|
|
322
307
|
* TavioMesh のロード後の共通処理を行う
|
|
323
308
|
* @private
|
|
324
309
|
* @param name - 設定する名前
|
|
310
|
+
* @param option - ロード・パース関連のオプション
|
|
325
311
|
*/
|
|
326
312
|
private _afterLoadMesh;
|
|
327
313
|
/**
|
|
@@ -356,38 +342,44 @@ export declare class Core extends EventEmitter {
|
|
|
356
342
|
* TavioMesh のインスタンスを生成し splat 形式のリソースをロード、シーンに追加する
|
|
357
343
|
* @param name - このメッシュの固有名
|
|
358
344
|
* @param url - 読み込む .splat ファイル
|
|
345
|
+
* @param option - ロード・パース関連のオプション
|
|
359
346
|
*/
|
|
360
|
-
loadSplat(name: string, url: string): Promise<void>;
|
|
347
|
+
loadSplat(name: string, url: string, option?: iLoadingOption): Promise<void>;
|
|
361
348
|
/**
|
|
362
349
|
* 既存の TavioMesh のインスタンスにデータを統合する
|
|
363
350
|
* @param name - このメッシュの固有名
|
|
364
351
|
* @param url - 読み込む .splat ファイル
|
|
352
|
+
* @param option - ロード・パース関連のオプション
|
|
365
353
|
*/
|
|
366
|
-
concatSplat(name: string, url: string): Promise<void>;
|
|
354
|
+
concatSplat(name: string, url: string, option?: iLoadingOption): Promise<void>;
|
|
367
355
|
/**
|
|
368
356
|
* TavioMesh のインスタンスを生成し画像形式のリソースをロード、シーンに追加する
|
|
369
357
|
* @param name - このメッシュの固有名
|
|
370
358
|
* @param url - 読み込む画像ファイル
|
|
359
|
+
* @param option - ロード・パース関連のオプション
|
|
371
360
|
*/
|
|
372
|
-
loadImage(name: string, url: string): Promise<void>;
|
|
361
|
+
loadImage(name: string, url: string, option?: iLoadingOption): Promise<void>;
|
|
373
362
|
/**
|
|
374
363
|
* 既存の TavioMesh のインスタンスにデータを統合する
|
|
375
364
|
* @param name - このメッシュの固有名
|
|
376
365
|
* @param url - 読み込む画像ファイル
|
|
366
|
+
* @param option - ロード・パース関連のオプション
|
|
377
367
|
*/
|
|
378
|
-
concatImage(name: string, url: string): Promise<void>;
|
|
368
|
+
concatImage(name: string, url: string, option?: iLoadingOption): Promise<void>;
|
|
379
369
|
/**
|
|
380
370
|
* canvas 要素から TavioMesh のインスタンスを生成し、シーンに追加する
|
|
381
371
|
* @param name - このメッシュの固有名
|
|
382
372
|
* @param canvas - 処理の対象となる canvas 要素
|
|
373
|
+
* @param option - ロード・パース関連のオプション
|
|
383
374
|
*/
|
|
384
|
-
loadCanvas(name: string, canvas: HTMLCanvasElement): Promise<void>;
|
|
375
|
+
loadCanvas(name: string, canvas: HTMLCanvasElement, option?: iLoadingOption): Promise<void>;
|
|
385
376
|
/**
|
|
386
377
|
* 既存の TavioMesh のインスタンスにデータを統合する
|
|
387
378
|
* @param name - このメッシュの固有名
|
|
388
379
|
* @param canvas - 処理の対象となる canvas 要素
|
|
380
|
+
* @param option - ロード・パース関連のオプション
|
|
389
381
|
*/
|
|
390
|
-
concatCanvas(name: string, canvas: HTMLCanvasElement): Promise<void>;
|
|
382
|
+
concatCanvas(name: string, canvas: HTMLCanvasElement, option?: iLoadingOption): Promise<void>;
|
|
391
383
|
/**
|
|
392
384
|
* tavio 形式のリソースをロードする
|
|
393
385
|
* @param name - このメッシュの固有名
|
|
@@ -443,15 +435,21 @@ export declare class Core extends EventEmitter {
|
|
|
443
435
|
*/
|
|
444
436
|
saveSpzWasm(name: string, fileName: string): Promise<void>;
|
|
445
437
|
/**
|
|
446
|
-
* 名前を指定してロード済み TavioMesh
|
|
438
|
+
* 名前を指定してロード済み TavioMesh を現在のレンダービューに追加する
|
|
447
439
|
* @param name - 対象の名前
|
|
448
440
|
*/
|
|
449
|
-
addTavioMesh(name: string):
|
|
441
|
+
addTavioMesh(name: string): void;
|
|
450
442
|
/**
|
|
451
443
|
* 名前を指定してロード済み TavioMesh をシーンから取り除く
|
|
452
444
|
* @param name - 対象の名前
|
|
445
|
+
* @param renderViewName - 対象となるレンダービューの名前
|
|
453
446
|
*/
|
|
454
|
-
removeTavioMesh(name: string):
|
|
447
|
+
removeTavioMesh(name: string, renderViewName?: string | Symbol): void;
|
|
448
|
+
/**
|
|
449
|
+
* 名前を指定してロード済み TavioMesh をシーンから取り除く
|
|
450
|
+
* @param name - 対象の名前
|
|
451
|
+
*/
|
|
452
|
+
removeTavioMeshAllRenderView(name: string): void;
|
|
455
453
|
/**
|
|
456
454
|
* 名前を指定して TavioMesh を削除・解放する
|
|
457
455
|
* @param name - 対象の名前
|
|
@@ -462,7 +460,7 @@ export declare class Core extends EventEmitter {
|
|
|
462
460
|
* @param name - 対象の名前
|
|
463
461
|
* @param visibility - 可視状態
|
|
464
462
|
*/
|
|
465
|
-
setVisibilityTavioMesh(name: string, visibility: boolean):
|
|
463
|
+
setVisibilityTavioMesh(name: string, visibility: boolean): void;
|
|
466
464
|
/**
|
|
467
465
|
* 名前を指定して TavioMesh の点描画用 Points の表示・非表示を設定する
|
|
468
466
|
* @param name - 対象の名前
|
|
@@ -474,6 +472,11 @@ export declare class Core extends EventEmitter {
|
|
|
474
472
|
* @param opacity - 透明度
|
|
475
473
|
*/
|
|
476
474
|
setBackgroundOpacity(opacity: number): void;
|
|
475
|
+
/**
|
|
476
|
+
* 名前を指定してロード済み TavioMesh から背景を設定する
|
|
477
|
+
* @param name - 対象の名前
|
|
478
|
+
*/
|
|
479
|
+
setBackgroundByTavioMesh(name: string): void;
|
|
477
480
|
/**
|
|
478
481
|
* 名前を指定した TavioMesh に含まれるインスタンスを、インデックスで指定して動かす
|
|
479
482
|
* ※ここでいうインデックスとは load/concat した順番を意味する整数値(concat していない場合常に 0)
|
|
@@ -554,7 +557,7 @@ export declare class Core extends EventEmitter {
|
|
|
554
557
|
* @param y - 取得する Y 座標(スクリーン空間を -1.0 ~ 1.0 に正規化した座標, Y-down)
|
|
555
558
|
* @param isDebug - デバッグモード(有効化するとピッキングバッファを可視化)
|
|
556
559
|
*/
|
|
557
|
-
|
|
560
|
+
getWorldPositionByRenderView(x: number, y: number, isDebug?: boolean): Promise<iPickingInfo>;
|
|
558
561
|
/**
|
|
559
562
|
* 各種リソースを解放する
|
|
560
563
|
* ※このメソッドを呼び出すと、それまで利用していた canvas は再利用できなくなる
|
|
@@ -563,7 +566,7 @@ export declare class Core extends EventEmitter {
|
|
|
563
566
|
dispose(): void;
|
|
564
567
|
/**
|
|
565
568
|
* ビューポートの情報を uniform 変数に設定する
|
|
566
|
-
* @
|
|
569
|
+
* @param renderView - 対象となるレンダービュー
|
|
567
570
|
*/
|
|
568
571
|
private _updateViewportUniforms;
|
|
569
572
|
/**
|
|
@@ -571,6 +574,51 @@ export declare class Core extends EventEmitter {
|
|
|
571
574
|
* @param isForce - 強制的に実行するかどうか
|
|
572
575
|
*/
|
|
573
576
|
private _renderDepthRenderTarget;
|
|
577
|
+
/**
|
|
578
|
+
* ==========================================================================
|
|
579
|
+
* renderview
|
|
580
|
+
* ==========================================================================
|
|
581
|
+
*/
|
|
582
|
+
/**
|
|
583
|
+
* レンダービューを設定する
|
|
584
|
+
* @param renderViewName - 対象となるレンダービューの名前
|
|
585
|
+
*/
|
|
586
|
+
setRenderView(renderViewName: string | Symbol | null): void;
|
|
587
|
+
/**
|
|
588
|
+
* レンダービューの個数を返す
|
|
589
|
+
*/
|
|
590
|
+
getRenderViewCount(): number;
|
|
591
|
+
/**
|
|
592
|
+
* アクティブなレンダービューの名前を返す
|
|
593
|
+
* ※既定のレンダービューがアクティブな場合 null が返る
|
|
594
|
+
*/
|
|
595
|
+
getCurrentRenderViewName(): string | null;
|
|
596
|
+
/**
|
|
597
|
+
* レンダービューを生成する(生成したインスタンスを呼び出し元に返さない)
|
|
598
|
+
* @param name - 生成されるレンダービューの固有名
|
|
599
|
+
*/
|
|
600
|
+
createRenderView(name: string): void;
|
|
601
|
+
/**
|
|
602
|
+
* レンダービューに位置とサイズを設定する
|
|
603
|
+
* ※原点が左下角である点に注意(スクリーン座標系と上下が逆)
|
|
604
|
+
* @param renderViewName - 対象となるレンダービューの名前
|
|
605
|
+
* @param x - 矩形の左下角の横位置
|
|
606
|
+
* @param y - 矩形の左下角の縦位置
|
|
607
|
+
* @param width - 幅
|
|
608
|
+
* @param height - 高さ
|
|
609
|
+
* @param start - 同時に描画を開始するかどうか
|
|
610
|
+
*/
|
|
611
|
+
setRenderViewSize(renderViewName?: string | Symbol | null, x?: number, y?: number, width?: number, height?: number, start?: boolean): void;
|
|
612
|
+
/**
|
|
613
|
+
* レンダービューを生成し、各種コントロールのセットアップも同時に行う
|
|
614
|
+
* @param name - 生成されるレンダービューの固有名
|
|
615
|
+
*/
|
|
616
|
+
private _createRenderView;
|
|
617
|
+
/**
|
|
618
|
+
* 名前を指定してレンダービューを取得する
|
|
619
|
+
* @param renderViewName - 対象となるレンダービューの名前
|
|
620
|
+
*/
|
|
621
|
+
private _getRenderView;
|
|
574
622
|
/**
|
|
575
623
|
* ==========================================================================
|
|
576
624
|
* camera
|
|
@@ -587,7 +635,7 @@ export declare class Core extends EventEmitter {
|
|
|
587
635
|
* @param target - 設定する注視点
|
|
588
636
|
* @param fov - 設定する視野角
|
|
589
637
|
*/
|
|
590
|
-
setCameraParameter(position
|
|
638
|
+
setCameraParameter(position?: iVectorLike | null, target?: iVectorLike | null, fov?: number | null): void;
|
|
591
639
|
/**
|
|
592
640
|
* ==========================================================================
|
|
593
641
|
* controls
|
|
@@ -888,28 +936,33 @@ export declare class Core extends EventEmitter {
|
|
|
888
936
|
* @param uniforms - 設定する値を定義したオブジェクト
|
|
889
937
|
*/
|
|
890
938
|
private _setPointUniforms;
|
|
939
|
+
/**
|
|
940
|
+
* MaterialGenerator で独自に拡張した defines を更新する
|
|
941
|
+
* @param customUniforms - 設定・更新する defines
|
|
942
|
+
*/
|
|
943
|
+
setCustomDefines(customDefines: any): void;
|
|
891
944
|
/**
|
|
892
945
|
* MaterialGenerator で独自に拡張した uniform 変数を更新する
|
|
893
946
|
* @param customUniforms - 設定・更新する uniform 変数
|
|
894
947
|
*/
|
|
895
948
|
setCustomUniforms(customUniforms: any): void;
|
|
896
949
|
/**
|
|
897
|
-
*
|
|
950
|
+
* スプラットの大きさの基本係数を設定する
|
|
898
951
|
* @param value - 設定する係数(0.0 to 1.0)
|
|
899
952
|
*/
|
|
900
953
|
setGaussianScale(value: number): void;
|
|
901
954
|
/**
|
|
902
|
-
*
|
|
955
|
+
* 距離に応じたスプラットの大きさにおける最小値を設定する
|
|
903
956
|
* @param value - 設定する係数(0.0 to 1.0)
|
|
904
957
|
*/
|
|
905
958
|
setEffectMinimumScale(value: number): void;
|
|
906
959
|
/**
|
|
907
|
-
*
|
|
960
|
+
* 距離に応じたスプラットの大きさ係数を設定する
|
|
908
961
|
* @param value - 設定する係数(0.0 to 1.0)
|
|
909
962
|
*/
|
|
910
963
|
setEffectDistanceBase(value: number): void;
|
|
911
964
|
/**
|
|
912
|
-
*
|
|
965
|
+
* 距離に応じたスプラットの範囲係数を設定する
|
|
913
966
|
* @param value - 設定する係数(0.0 < n <= 1.0)
|
|
914
967
|
*/
|
|
915
968
|
setEffectDistanceRange(value: number): void;
|
|
@@ -992,12 +1045,12 @@ export declare class Core extends EventEmitter {
|
|
|
992
1045
|
setColorRGB(rgb: iVectorLike): void;
|
|
993
1046
|
/**
|
|
994
1047
|
* シェーダ上で作用する blur を設定する
|
|
995
|
-
* @param blur -
|
|
1048
|
+
* @param blur - スプラット内で色をぼかす係数(適切な範囲はおよそ 0.0 ~ 1.0)
|
|
996
1049
|
*/
|
|
997
1050
|
setColorBlur(blur: number): void;
|
|
998
1051
|
/**
|
|
999
1052
|
* シェーダ上で作用する sharpness を設定する
|
|
1000
|
-
* @param sharpness -
|
|
1053
|
+
* @param sharpness - スプラット内で色を強調する係数(適切な範囲はおよそ 0.0 ~ 1.0)
|
|
1001
1054
|
*/
|
|
1002
1055
|
setColorSharpness(sharpness: number): void;
|
|
1003
1056
|
/**
|
|
@@ -1016,7 +1069,7 @@ export declare class Core extends EventEmitter {
|
|
|
1016
1069
|
*/
|
|
1017
1070
|
startBloomPoints(duration: number): void;
|
|
1018
1071
|
/**
|
|
1019
|
-
*
|
|
1072
|
+
* 点描画からスプラットへの溶解効果をアニメーションする
|
|
1020
1073
|
* @param duration - アニメーションの継続時間(ミリ秒)
|
|
1021
1074
|
*/
|
|
1022
1075
|
startDissolveToGaussian(duration: number): void;
|
|
@@ -1101,7 +1154,7 @@ export declare class Core extends EventEmitter {
|
|
|
1101
1154
|
*/
|
|
1102
1155
|
resetCollision(): void;
|
|
1103
1156
|
/**
|
|
1104
|
-
*
|
|
1157
|
+
* 現在選択しているスプラットを削除状態とする
|
|
1105
1158
|
*/
|
|
1106
1159
|
deleteSelectedGaussian(): void;
|
|
1107
1160
|
/**
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Group, PerspectiveCamera, Quaternion, Scene, Vector3 } from 'three';
|
|
2
|
+
import { tControlInstance, tControlsType } from './canvas';
|
|
3
|
+
import { CameraCollider } from '../camera/cameraCollider';
|
|
4
|
+
import { TransferControls } from '../camera/transferControls';
|
|
5
|
+
import { CameraPathManager } from '../camera/cameraPathManager';
|
|
6
|
+
/**
|
|
7
|
+
* レンダービューはビューポートの設定値、シーングラフとカメラ、カメラコントロールなどを包含する
|
|
8
|
+
* canvas.ts 内でレンダリングを行う際などに参照され、マルチビューを実現するために実装された
|
|
9
|
+
* name プロパティに Symbol が指定されている場合、それは既定のレンダービューで初期化時に自動生成される
|
|
10
|
+
* TavioMesh(の名前)が add メソッドによって追加されている場合、対象のレンダービュー上で描画される
|
|
11
|
+
* 追加された TavioMesh は children プロパティに格納され、描画時に動的にシーングラフに追加される
|
|
12
|
+
*/
|
|
13
|
+
export declare class RenderView {
|
|
14
|
+
readonly name: string | Symbol;
|
|
15
|
+
enabled: boolean;
|
|
16
|
+
children: string[];
|
|
17
|
+
x: number;
|
|
18
|
+
y: number;
|
|
19
|
+
width: number;
|
|
20
|
+
height: number;
|
|
21
|
+
scene: Scene;
|
|
22
|
+
pickingScene: Scene;
|
|
23
|
+
gaussianGroup: Group;
|
|
24
|
+
meshGroup: Group;
|
|
25
|
+
interfaceGroup: Group;
|
|
26
|
+
perspectiveCamera: PerspectiveCamera;
|
|
27
|
+
controlsMap: Map<string, tControlInstance>;
|
|
28
|
+
enableControlsMap: Map<string, boolean>;
|
|
29
|
+
currentControlsType: tControlsType;
|
|
30
|
+
transferControls: TransferControls;
|
|
31
|
+
cameraCollider: CameraCollider;
|
|
32
|
+
cameraPathCollisionRadius: number;
|
|
33
|
+
cameraPathManager: CameraPathManager;
|
|
34
|
+
previousPosition: Vector3;
|
|
35
|
+
previousRotation: Quaternion;
|
|
36
|
+
previousFov: number;
|
|
37
|
+
orbitCursor: Group;
|
|
38
|
+
orbitCursorEnabled: boolean;
|
|
39
|
+
previousOrbitTarget: Vector3;
|
|
40
|
+
/**
|
|
41
|
+
* @param name - レンダービューの名前
|
|
42
|
+
*/
|
|
43
|
+
constructor(name: string | Symbol);
|
|
44
|
+
/**
|
|
45
|
+
* レンダービューに該当する名前の TavioMesh が含まれるかどうかを返す
|
|
46
|
+
* @param meshName - 対象となる TavioMesh の名前
|
|
47
|
+
*/
|
|
48
|
+
has(meshName: string): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* レンダービューに TavioMesh を追加する
|
|
51
|
+
* @param meshName - 対象となる TavioMesh の名前
|
|
52
|
+
*/
|
|
53
|
+
add(meshName: string): void;
|
|
54
|
+
/**
|
|
55
|
+
* レンダービューから TavioMesh を削除する
|
|
56
|
+
* @param meshName - 対象となる TavioMesh の名前
|
|
57
|
+
*/
|
|
58
|
+
remove(meshName: string): void;
|
|
59
|
+
/**
|
|
60
|
+
* レンダービューからすべての TavioMesh を削除する
|
|
61
|
+
*/
|
|
62
|
+
removeAll(): void;
|
|
63
|
+
/**
|
|
64
|
+
* 解放処理
|
|
65
|
+
*/
|
|
66
|
+
dispose(): void;
|
|
67
|
+
}
|