lythreeframe 1.0.6 → 1.0.7
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/dist/bundle.cjs.js +146 -10
- package/dist/bundle.esm.js +142 -7
- package/dist/index.d.ts +2 -0
- package/dist/lythreeframe/Frame/Viewport.d.ts +1 -1
- package/package.json +1 -1
package/dist/bundle.cjs.js
CHANGED
|
@@ -2,13 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
var three = require('three');
|
|
4
4
|
var Addons_js = require('three/examples/jsm/Addons.js');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
5
|
+
var tsl = require('three/tsl');
|
|
6
|
+
var webgpu = require('three/webgpu');
|
|
7
7
|
var BloomNode_js = require('three/examples/jsm/tsl/display/BloomNode.js');
|
|
8
8
|
var DenoiseNode_js = require('three/examples/jsm/tsl/display/DenoiseNode.js');
|
|
9
9
|
var DepthOfFieldNode_js = require('three/examples/jsm/tsl/display/DepthOfFieldNode.js');
|
|
10
10
|
var GTAONode_js = require('three/examples/jsm/tsl/display/GTAONode.js');
|
|
11
|
-
var tsl = require('three/tsl');
|
|
12
11
|
var SSRNode_js = require('three/examples/jsm/tsl/display/SSRNode.js');
|
|
13
12
|
var LensflareNode_js = require('three/examples/jsm/tsl/display/LensflareNode.js');
|
|
14
13
|
var OutlineNode_js = require('three/examples/jsm/tsl/display/OutlineNode.js');
|
|
@@ -17,6 +16,7 @@ var FXAANode_js = require('three/examples/jsm/tsl/display/FXAANode.js');
|
|
|
17
16
|
var SMAANode_js = require('three/examples/jsm/tsl/display/SMAANode.js');
|
|
18
17
|
var CSS2DRenderer_js = require('three/examples/jsm/renderers/CSS2DRenderer.js');
|
|
19
18
|
var PointerLockControls = require('three/examples/jsm/controls/PointerLockControls');
|
|
19
|
+
var TransformControls_js = require('three/examples/jsm/controls/TransformControls.js');
|
|
20
20
|
|
|
21
21
|
class LYLoadTask {
|
|
22
22
|
constructor(paths, onLoaded) {
|
|
@@ -1326,7 +1326,7 @@ class Viewport {
|
|
|
1326
1326
|
if (!element) {
|
|
1327
1327
|
throw Error(`Can not find domElement which id is ${elementId}`);
|
|
1328
1328
|
}
|
|
1329
|
-
this._renderer = new
|
|
1329
|
+
this._renderer = new webgpu.WebGPURenderer(rendererParam);
|
|
1330
1330
|
this._renderer.setPixelRatio(window.devicePixelRatio);
|
|
1331
1331
|
this._renderer.setSize(element.clientWidth, element.clientHeight);
|
|
1332
1332
|
this._renderer.shadowMap.enabled = true;
|
|
@@ -1364,7 +1364,7 @@ class Viewport {
|
|
|
1364
1364
|
return;
|
|
1365
1365
|
}
|
|
1366
1366
|
if (!this.postProcessing) {
|
|
1367
|
-
this.postProcessing = new
|
|
1367
|
+
this.postProcessing = new webgpu.PostProcessing(this.renderer);
|
|
1368
1368
|
}
|
|
1369
1369
|
if (!this.scenePass) {
|
|
1370
1370
|
this.scenePass = WebGPUPostProcessFactory.constructScenePass(this.app.world.scene, this.app.camera);
|
|
@@ -1428,7 +1428,7 @@ class Viewport {
|
|
|
1428
1428
|
else {
|
|
1429
1429
|
WebGPUPostProcessFactory.updateSSRPass(this.ssrPass, this.postProcessParam.ssr);
|
|
1430
1430
|
}
|
|
1431
|
-
finalNode =
|
|
1431
|
+
finalNode = tsl.blendColor(finalNode, this.ssrPass);
|
|
1432
1432
|
}
|
|
1433
1433
|
// GTAO
|
|
1434
1434
|
if (this.postProcessParam.gtao) {
|
|
@@ -1474,10 +1474,10 @@ class Viewport {
|
|
|
1474
1474
|
WebGPUPostProcessFactory.updateOutlinePass(this.outlinePass, this.outlineObjects, this.postProcessParam.outline);
|
|
1475
1475
|
}
|
|
1476
1476
|
const { visibleEdge, hiddenEdge } = this.outlinePass;
|
|
1477
|
-
const pulsePeriod =
|
|
1478
|
-
const period =
|
|
1479
|
-
const osc =
|
|
1480
|
-
const outlineColor = visibleEdge.mul(
|
|
1477
|
+
const pulsePeriod = tsl.uniform(this.postProcessParam.outline.pulsePeriod);
|
|
1478
|
+
const period = tsl.time.div(pulsePeriod).mul(2);
|
|
1479
|
+
const osc = tsl.oscSine(period).mul(.5).add(.5);
|
|
1480
|
+
const outlineColor = visibleEdge.mul(tsl.uniform(new webgpu.Color(this.postProcessParam.outline.visibleEdgeColor))).add(hiddenEdge.mul(tsl.uniform(new webgpu.Color(this.postProcessParam.outline.hiddenEdgeColor)))).mul(this.postProcessParam.outline.edgeStrength);
|
|
1481
1481
|
const outlinePulse = pulsePeriod.greaterThan(0).select(outlineColor.mul(osc), outlineColor);
|
|
1482
1482
|
// if(!this.denoiseOutlinePass)
|
|
1483
1483
|
// {
|
|
@@ -2611,6 +2611,141 @@ class FirstPerson extends Pawn {
|
|
|
2611
2611
|
}
|
|
2612
2612
|
}
|
|
2613
2613
|
|
|
2614
|
+
class TransformGizmo extends Pawn {
|
|
2615
|
+
get control() {
|
|
2616
|
+
if (!this._control) {
|
|
2617
|
+
throw new Error("Control not initialized");
|
|
2618
|
+
}
|
|
2619
|
+
return this._control;
|
|
2620
|
+
}
|
|
2621
|
+
constructor(controller) {
|
|
2622
|
+
super(controller);
|
|
2623
|
+
this._control = null;
|
|
2624
|
+
this.helperObject = new three.Object3D();
|
|
2625
|
+
this.targets = [];
|
|
2626
|
+
this.primaryTarget = null;
|
|
2627
|
+
this.targetMatrixMap = new Map();
|
|
2628
|
+
this.onDraggingChangedEvent = (param) => { this.onDraggingChanged(param); };
|
|
2629
|
+
this.onObjectChangeEvent = () => { this.onObjectChanged(); };
|
|
2630
|
+
this.onChangeEvent = () => { this.onChange(); };
|
|
2631
|
+
this.onUpdateFunctions = [];
|
|
2632
|
+
this.onDraggingFunctions = [];
|
|
2633
|
+
this._control = new TransformControls_js.TransformControls(controller.camera, controller.viewPort.canvas);
|
|
2634
|
+
this.control.getHelper().traverse((elem) => {
|
|
2635
|
+
elem.userData["rayIgnored"] = true;
|
|
2636
|
+
});
|
|
2637
|
+
this.helperObject.name = "TransformHelperObject";
|
|
2638
|
+
}
|
|
2639
|
+
possess() {
|
|
2640
|
+
var _a;
|
|
2641
|
+
(_a = this.controller.world.scene) === null || _a === void 0 ? void 0 : _a.add(this.helperObject);
|
|
2642
|
+
this.control.attach(this.helperObject);
|
|
2643
|
+
this.control.addEventListener('change', this.onChangeEvent);
|
|
2644
|
+
this.control.addEventListener('dragging-changed', this.onDraggingChangedEvent);
|
|
2645
|
+
this.control.addEventListener('objectChange', this.onObjectChangeEvent);
|
|
2646
|
+
}
|
|
2647
|
+
unpossess() {
|
|
2648
|
+
var _a;
|
|
2649
|
+
this.control.removeEventListener('change', this.onChangeEvent);
|
|
2650
|
+
this.control.removeEventListener('dragging-changed', this.onDraggingChangedEvent);
|
|
2651
|
+
this.control.removeEventListener('objectChange', this.onObjectChangeEvent);
|
|
2652
|
+
this.control.detach();
|
|
2653
|
+
(_a = this.controller.world.scene) === null || _a === void 0 ? void 0 : _a.remove(this.helperObject);
|
|
2654
|
+
}
|
|
2655
|
+
onChange() {
|
|
2656
|
+
this.controller.viewPort.markRenderStateDirty();
|
|
2657
|
+
}
|
|
2658
|
+
onDraggingChanged(event) {
|
|
2659
|
+
if (this.primaryTarget) {
|
|
2660
|
+
let tMatrix = this.primaryTarget.getMatrixInWorld();
|
|
2661
|
+
tMatrix.decompose(this.helperObject.position, this.helperObject.quaternion, this.helperObject.scale);
|
|
2662
|
+
}
|
|
2663
|
+
this.onDraggingFunctions.forEach((elem) => {
|
|
2664
|
+
elem(event.value);
|
|
2665
|
+
});
|
|
2666
|
+
}
|
|
2667
|
+
onObjectChanged() {
|
|
2668
|
+
if (this.primaryTarget) {
|
|
2669
|
+
//const TA1 = this.primaryTarget.getMatrixInWorld();
|
|
2670
|
+
this.helperObject.updateMatrixWorld(true);
|
|
2671
|
+
const TA2 = this.helperObject.matrixWorld.clone();
|
|
2672
|
+
this.primaryTarget.onTransforming(TA2);
|
|
2673
|
+
// const TA1Inverse = TA1.clone().invert();
|
|
2674
|
+
//const transformMatrix = new Matrix4().multiplyMatrices(TA2, TA1Inverse);
|
|
2675
|
+
this.targets.forEach((tar) => {
|
|
2676
|
+
if (tar !== this.primaryTarget) {
|
|
2677
|
+
let t = this.targetMatrixMap.get(tar);
|
|
2678
|
+
if (t) {
|
|
2679
|
+
let TB2 = new three.Matrix4().multiplyMatrices(TA2, t); // B
|
|
2680
|
+
tar.onTransforming(TB2);
|
|
2681
|
+
}
|
|
2682
|
+
}
|
|
2683
|
+
});
|
|
2684
|
+
}
|
|
2685
|
+
this.onUpdateFunctions.forEach((elem) => {
|
|
2686
|
+
elem();
|
|
2687
|
+
});
|
|
2688
|
+
}
|
|
2689
|
+
set enable(newEnable) {
|
|
2690
|
+
this.control.enabled = newEnable;
|
|
2691
|
+
}
|
|
2692
|
+
setTarget(primaryTarget, multiTargets, onUpdate = null, onDragging = null) {
|
|
2693
|
+
var _a;
|
|
2694
|
+
this.targetMatrixMap.clear();
|
|
2695
|
+
let tMatrix = primaryTarget.getMatrixInWorld();
|
|
2696
|
+
tMatrix.decompose(this.helperObject.position, this.helperObject.quaternion, this.helperObject.scale);
|
|
2697
|
+
(_a = this.controller.world.scene) === null || _a === void 0 ? void 0 : _a.add(this.control.getHelper());
|
|
2698
|
+
// this.control.attach(this.helperObject);
|
|
2699
|
+
this.primaryTarget = primaryTarget;
|
|
2700
|
+
this.targets = multiTargets;
|
|
2701
|
+
this.targets.forEach((elem) => {
|
|
2702
|
+
const tarMatrix = elem.getMatrixInWorld();
|
|
2703
|
+
const TB_local = tMatrix.clone().invert().multiply(tarMatrix);
|
|
2704
|
+
this.targetMatrixMap.set(elem, TB_local);
|
|
2705
|
+
});
|
|
2706
|
+
if (onUpdate) {
|
|
2707
|
+
this.onUpdateFunctions.push(onUpdate);
|
|
2708
|
+
}
|
|
2709
|
+
if (onUpdate) {
|
|
2710
|
+
this.onUpdateFunctions.push(onUpdate);
|
|
2711
|
+
}
|
|
2712
|
+
if (onDragging) {
|
|
2713
|
+
this.onDraggingFunctions.push(onDragging);
|
|
2714
|
+
}
|
|
2715
|
+
this.isTickEnabled = true;
|
|
2716
|
+
}
|
|
2717
|
+
getMode() {
|
|
2718
|
+
return this.control.getMode();
|
|
2719
|
+
}
|
|
2720
|
+
setMode(mode) {
|
|
2721
|
+
this.control.setMode(mode);
|
|
2722
|
+
}
|
|
2723
|
+
setSpace(space) {
|
|
2724
|
+
this.control.setSpace(space);
|
|
2725
|
+
}
|
|
2726
|
+
setAxis(axis) {
|
|
2727
|
+
this.control.showX = axis ? axis === null || axis === void 0 ? void 0 : axis.includes("X") : false;
|
|
2728
|
+
this.control.showY = axis ? axis === null || axis === void 0 ? void 0 : axis.includes("Y") : false;
|
|
2729
|
+
this.control.showZ = axis ? axis === null || axis === void 0 ? void 0 : axis.includes("Z") : false;
|
|
2730
|
+
}
|
|
2731
|
+
setSize(size) {
|
|
2732
|
+
this.control.setSize(size);
|
|
2733
|
+
}
|
|
2734
|
+
destroy() {
|
|
2735
|
+
var _a;
|
|
2736
|
+
this.isTickEnabled = false;
|
|
2737
|
+
this.unpossess();
|
|
2738
|
+
this.targetMatrixMap.clear();
|
|
2739
|
+
this.targets = [];
|
|
2740
|
+
this.primaryTarget = null;
|
|
2741
|
+
this.onUpdateFunctions = [];
|
|
2742
|
+
this.onDraggingFunctions = [];
|
|
2743
|
+
(_a = this._control) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
2744
|
+
this._control = null;
|
|
2745
|
+
super.destroy();
|
|
2746
|
+
}
|
|
2747
|
+
}
|
|
2748
|
+
|
|
2614
2749
|
exports.Actor = Actor;
|
|
2615
2750
|
exports.BoxActor = BoxActor;
|
|
2616
2751
|
exports.BoxComponent = BoxComponent;
|
|
@@ -2641,6 +2776,7 @@ exports.SceneComponent = SceneComponent;
|
|
|
2641
2776
|
exports.SphereComponent = SphereComponent;
|
|
2642
2777
|
exports.ThreeJsApp = ThreeJsApp;
|
|
2643
2778
|
exports.ToneMappingOptions = ToneMappingOptions;
|
|
2779
|
+
exports.TransformGizmo = TransformGizmo;
|
|
2644
2780
|
exports.Viewport = Viewport;
|
|
2645
2781
|
exports.WebGPUPostProcessFactory = WebGPUPostProcessFactory;
|
|
2646
2782
|
exports.World = World;
|
package/dist/bundle.esm.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { MathUtils, Group, Vector3, Box3, Quaternion, Euler, Matrix4, Mesh, BufferGeometry, Material, Texture, LoadingManager, FileLoader, Scene, NoToneMapping, LinearToneMapping, ReinhardToneMapping, CineonToneMapping, ACESFilmicToneMapping, AgXToneMapping, NeutralToneMapping, Vector2, Raycaster, PerspectiveCamera, OrthographicCamera, Clock, DirectionalLight, MeshStandardMaterial, BoxGeometry, MeshBasicMaterial, PlaneGeometry, SphereGeometry } from 'three';
|
|
1
|
+
import { MathUtils, Group, Vector3, Box3, Quaternion, Euler, Matrix4, Mesh, BufferGeometry, Material, Texture, LoadingManager, FileLoader, Scene, NoToneMapping, LinearToneMapping, ReinhardToneMapping, CineonToneMapping, ACESFilmicToneMapping, AgXToneMapping, NeutralToneMapping, Vector2, Raycaster, PerspectiveCamera, OrthographicCamera, Clock, DirectionalLight, MeshStandardMaterial, BoxGeometry, MeshBasicMaterial, PlaneGeometry, SphereGeometry, Object3D } from 'three';
|
|
2
2
|
import { DRACOLoader, GLTFLoader, CSS2DRenderer, OrbitControls } from 'three/examples/jsm/Addons.js';
|
|
3
|
-
import {
|
|
4
|
-
import { WebGPURenderer, PostProcessing, Color } from 'three/
|
|
3
|
+
import { pass, mrt, output, uniform, velocity, metalness, transformedNormalView, blendColor, time, oscSine } from 'three/tsl';
|
|
4
|
+
import { WebGPURenderer, PostProcessing, Color } from 'three/webgpu';
|
|
5
5
|
import { bloom } from 'three/examples/jsm/tsl/display/BloomNode.js';
|
|
6
6
|
import { denoise } from 'three/examples/jsm/tsl/display/DenoiseNode.js';
|
|
7
7
|
import { dof } from 'three/examples/jsm/tsl/display/DepthOfFieldNode.js';
|
|
8
8
|
import { ao } from 'three/examples/jsm/tsl/display/GTAONode.js';
|
|
9
|
-
import { pass, mrt, output, uniform, velocity, metalness, transformedNormalView } from 'three/tsl';
|
|
10
9
|
import { ssr } from 'three/examples/jsm/tsl/display/SSRNode.js';
|
|
11
10
|
import { lensflare } from 'three/examples/jsm/tsl/display/LensflareNode.js';
|
|
12
11
|
import { outline } from 'three/examples/jsm/tsl/display/OutlineNode.js';
|
|
@@ -15,6 +14,7 @@ import { fxaa } from 'three/examples/jsm/tsl/display/FXAANode.js';
|
|
|
15
14
|
import { smaa } from 'three/examples/jsm/tsl/display/SMAANode.js';
|
|
16
15
|
import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer.js';
|
|
17
16
|
import { PointerLockControls } from 'three/examples/jsm/controls/PointerLockControls';
|
|
17
|
+
import { TransformControls } from 'three/examples/jsm/controls/TransformControls.js';
|
|
18
18
|
|
|
19
19
|
class LYLoadTask {
|
|
20
20
|
constructor(paths, onLoaded) {
|
|
@@ -1472,10 +1472,10 @@ class Viewport {
|
|
|
1472
1472
|
WebGPUPostProcessFactory.updateOutlinePass(this.outlinePass, this.outlineObjects, this.postProcessParam.outline);
|
|
1473
1473
|
}
|
|
1474
1474
|
const { visibleEdge, hiddenEdge } = this.outlinePass;
|
|
1475
|
-
const pulsePeriod = uniform
|
|
1475
|
+
const pulsePeriod = uniform(this.postProcessParam.outline.pulsePeriod);
|
|
1476
1476
|
const period = time.div(pulsePeriod).mul(2);
|
|
1477
1477
|
const osc = oscSine(period).mul(.5).add(.5);
|
|
1478
|
-
const outlineColor = visibleEdge.mul(uniform
|
|
1478
|
+
const outlineColor = visibleEdge.mul(uniform(new Color(this.postProcessParam.outline.visibleEdgeColor))).add(hiddenEdge.mul(uniform(new Color(this.postProcessParam.outline.hiddenEdgeColor)))).mul(this.postProcessParam.outline.edgeStrength);
|
|
1479
1479
|
const outlinePulse = pulsePeriod.greaterThan(0).select(outlineColor.mul(osc), outlineColor);
|
|
1480
1480
|
// if(!this.denoiseOutlinePass)
|
|
1481
1481
|
// {
|
|
@@ -2609,4 +2609,139 @@ class FirstPerson extends Pawn {
|
|
|
2609
2609
|
}
|
|
2610
2610
|
}
|
|
2611
2611
|
|
|
2612
|
-
|
|
2612
|
+
class TransformGizmo extends Pawn {
|
|
2613
|
+
get control() {
|
|
2614
|
+
if (!this._control) {
|
|
2615
|
+
throw new Error("Control not initialized");
|
|
2616
|
+
}
|
|
2617
|
+
return this._control;
|
|
2618
|
+
}
|
|
2619
|
+
constructor(controller) {
|
|
2620
|
+
super(controller);
|
|
2621
|
+
this._control = null;
|
|
2622
|
+
this.helperObject = new Object3D();
|
|
2623
|
+
this.targets = [];
|
|
2624
|
+
this.primaryTarget = null;
|
|
2625
|
+
this.targetMatrixMap = new Map();
|
|
2626
|
+
this.onDraggingChangedEvent = (param) => { this.onDraggingChanged(param); };
|
|
2627
|
+
this.onObjectChangeEvent = () => { this.onObjectChanged(); };
|
|
2628
|
+
this.onChangeEvent = () => { this.onChange(); };
|
|
2629
|
+
this.onUpdateFunctions = [];
|
|
2630
|
+
this.onDraggingFunctions = [];
|
|
2631
|
+
this._control = new TransformControls(controller.camera, controller.viewPort.canvas);
|
|
2632
|
+
this.control.getHelper().traverse((elem) => {
|
|
2633
|
+
elem.userData["rayIgnored"] = true;
|
|
2634
|
+
});
|
|
2635
|
+
this.helperObject.name = "TransformHelperObject";
|
|
2636
|
+
}
|
|
2637
|
+
possess() {
|
|
2638
|
+
var _a;
|
|
2639
|
+
(_a = this.controller.world.scene) === null || _a === void 0 ? void 0 : _a.add(this.helperObject);
|
|
2640
|
+
this.control.attach(this.helperObject);
|
|
2641
|
+
this.control.addEventListener('change', this.onChangeEvent);
|
|
2642
|
+
this.control.addEventListener('dragging-changed', this.onDraggingChangedEvent);
|
|
2643
|
+
this.control.addEventListener('objectChange', this.onObjectChangeEvent);
|
|
2644
|
+
}
|
|
2645
|
+
unpossess() {
|
|
2646
|
+
var _a;
|
|
2647
|
+
this.control.removeEventListener('change', this.onChangeEvent);
|
|
2648
|
+
this.control.removeEventListener('dragging-changed', this.onDraggingChangedEvent);
|
|
2649
|
+
this.control.removeEventListener('objectChange', this.onObjectChangeEvent);
|
|
2650
|
+
this.control.detach();
|
|
2651
|
+
(_a = this.controller.world.scene) === null || _a === void 0 ? void 0 : _a.remove(this.helperObject);
|
|
2652
|
+
}
|
|
2653
|
+
onChange() {
|
|
2654
|
+
this.controller.viewPort.markRenderStateDirty();
|
|
2655
|
+
}
|
|
2656
|
+
onDraggingChanged(event) {
|
|
2657
|
+
if (this.primaryTarget) {
|
|
2658
|
+
let tMatrix = this.primaryTarget.getMatrixInWorld();
|
|
2659
|
+
tMatrix.decompose(this.helperObject.position, this.helperObject.quaternion, this.helperObject.scale);
|
|
2660
|
+
}
|
|
2661
|
+
this.onDraggingFunctions.forEach((elem) => {
|
|
2662
|
+
elem(event.value);
|
|
2663
|
+
});
|
|
2664
|
+
}
|
|
2665
|
+
onObjectChanged() {
|
|
2666
|
+
if (this.primaryTarget) {
|
|
2667
|
+
//const TA1 = this.primaryTarget.getMatrixInWorld();
|
|
2668
|
+
this.helperObject.updateMatrixWorld(true);
|
|
2669
|
+
const TA2 = this.helperObject.matrixWorld.clone();
|
|
2670
|
+
this.primaryTarget.onTransforming(TA2);
|
|
2671
|
+
// const TA1Inverse = TA1.clone().invert();
|
|
2672
|
+
//const transformMatrix = new Matrix4().multiplyMatrices(TA2, TA1Inverse);
|
|
2673
|
+
this.targets.forEach((tar) => {
|
|
2674
|
+
if (tar !== this.primaryTarget) {
|
|
2675
|
+
let t = this.targetMatrixMap.get(tar);
|
|
2676
|
+
if (t) {
|
|
2677
|
+
let TB2 = new Matrix4().multiplyMatrices(TA2, t); // B
|
|
2678
|
+
tar.onTransforming(TB2);
|
|
2679
|
+
}
|
|
2680
|
+
}
|
|
2681
|
+
});
|
|
2682
|
+
}
|
|
2683
|
+
this.onUpdateFunctions.forEach((elem) => {
|
|
2684
|
+
elem();
|
|
2685
|
+
});
|
|
2686
|
+
}
|
|
2687
|
+
set enable(newEnable) {
|
|
2688
|
+
this.control.enabled = newEnable;
|
|
2689
|
+
}
|
|
2690
|
+
setTarget(primaryTarget, multiTargets, onUpdate = null, onDragging = null) {
|
|
2691
|
+
var _a;
|
|
2692
|
+
this.targetMatrixMap.clear();
|
|
2693
|
+
let tMatrix = primaryTarget.getMatrixInWorld();
|
|
2694
|
+
tMatrix.decompose(this.helperObject.position, this.helperObject.quaternion, this.helperObject.scale);
|
|
2695
|
+
(_a = this.controller.world.scene) === null || _a === void 0 ? void 0 : _a.add(this.control.getHelper());
|
|
2696
|
+
// this.control.attach(this.helperObject);
|
|
2697
|
+
this.primaryTarget = primaryTarget;
|
|
2698
|
+
this.targets = multiTargets;
|
|
2699
|
+
this.targets.forEach((elem) => {
|
|
2700
|
+
const tarMatrix = elem.getMatrixInWorld();
|
|
2701
|
+
const TB_local = tMatrix.clone().invert().multiply(tarMatrix);
|
|
2702
|
+
this.targetMatrixMap.set(elem, TB_local);
|
|
2703
|
+
});
|
|
2704
|
+
if (onUpdate) {
|
|
2705
|
+
this.onUpdateFunctions.push(onUpdate);
|
|
2706
|
+
}
|
|
2707
|
+
if (onUpdate) {
|
|
2708
|
+
this.onUpdateFunctions.push(onUpdate);
|
|
2709
|
+
}
|
|
2710
|
+
if (onDragging) {
|
|
2711
|
+
this.onDraggingFunctions.push(onDragging);
|
|
2712
|
+
}
|
|
2713
|
+
this.isTickEnabled = true;
|
|
2714
|
+
}
|
|
2715
|
+
getMode() {
|
|
2716
|
+
return this.control.getMode();
|
|
2717
|
+
}
|
|
2718
|
+
setMode(mode) {
|
|
2719
|
+
this.control.setMode(mode);
|
|
2720
|
+
}
|
|
2721
|
+
setSpace(space) {
|
|
2722
|
+
this.control.setSpace(space);
|
|
2723
|
+
}
|
|
2724
|
+
setAxis(axis) {
|
|
2725
|
+
this.control.showX = axis ? axis === null || axis === void 0 ? void 0 : axis.includes("X") : false;
|
|
2726
|
+
this.control.showY = axis ? axis === null || axis === void 0 ? void 0 : axis.includes("Y") : false;
|
|
2727
|
+
this.control.showZ = axis ? axis === null || axis === void 0 ? void 0 : axis.includes("Z") : false;
|
|
2728
|
+
}
|
|
2729
|
+
setSize(size) {
|
|
2730
|
+
this.control.setSize(size);
|
|
2731
|
+
}
|
|
2732
|
+
destroy() {
|
|
2733
|
+
var _a;
|
|
2734
|
+
this.isTickEnabled = false;
|
|
2735
|
+
this.unpossess();
|
|
2736
|
+
this.targetMatrixMap.clear();
|
|
2737
|
+
this.targets = [];
|
|
2738
|
+
this.primaryTarget = null;
|
|
2739
|
+
this.onUpdateFunctions = [];
|
|
2740
|
+
this.onDraggingFunctions = [];
|
|
2741
|
+
(_a = this._control) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
2742
|
+
this._control = null;
|
|
2743
|
+
super.destroy();
|
|
2744
|
+
}
|
|
2745
|
+
}
|
|
2746
|
+
|
|
2747
|
+
export { Actor, AttachmentRules, BoxActor, BoxComponent, Controller, DefaultAppParam, DefaultBloomParam, DefaultCameraParam, DefaultDOFParam, DefaultDenoiseParam, DefaultGTAOParam, DefaultOutlineParams, DefaultPostProcessParam, DefaultRenderParam, DefaultSSRParam, DefaultToneMappingParams, Delegate, DirectionalLightActor, DirectionalLightComponent, FirstPerson, LYAssetManager, LYLoadTask, LabelComponent, MeshComponent, Orbital, PlaneActor, PlaneComponent, SceneComponent, SphereComponent, ThreeJsApp, ToneMappingOptions, TransformGizmo, Viewport, WebGPUPostProcessFactory, World };
|
package/dist/index.d.ts
CHANGED
|
@@ -38,3 +38,5 @@ export { LabelComponent } from "./lythreeframe/Object/Components/2D/2DComponent"
|
|
|
38
38
|
export { Orbital } from "./lythreeframe/Object/PawnV2/Oribital";
|
|
39
39
|
export { FirstPerson } from "./lythreeframe/Object/PawnV2/FirstPerson";
|
|
40
40
|
export type { ITransforming } from "./lythreeframe/Object/PawnV2/TransformControl";
|
|
41
|
+
export { TransformType } from "./lythreeframe/Object/PawnV2/TransformControl";
|
|
42
|
+
export { TransformGizmo } from "./lythreeframe/Object/PawnV2/TransformControl";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PostProcessParam } from './../PostProcess/PostProcessParam';
|
|
2
2
|
import { WebGPURendererParameters } from "three/src/renderers/webgpu/WebGPURenderer.js";
|
|
3
|
-
import { WebGPURenderer } from "three/
|
|
3
|
+
import { WebGPURenderer } from "three/webgpu";
|
|
4
4
|
import { BloomParam } from "../PostProcess/Param/Bloom";
|
|
5
5
|
import { GTAOParam } from "../PostProcess/Param/GTAO";
|
|
6
6
|
import { ToneMappingParams } from "../PostProcess/Param/ToneMapping";
|