@realsee/vreo 2.6.4-alpha.5 → 3.0.0-webgpu-react18.8

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.
Files changed (174) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +6 -6
  3. package/lib/PlayController/createHTMLAudioElement.d.ts +1 -0
  4. package/lib/PlayController/createHTMLAudioElement.d.ts.map +1 -0
  5. package/lib/PlayController/index.d.ts +14 -24
  6. package/lib/PlayController/index.d.ts.map +1 -0
  7. package/lib/PlayController/index.js +74 -210
  8. package/lib/PlayController/index.js.map +1 -0
  9. package/lib/Player/App.d.ts +2 -2
  10. package/lib/Player/App.d.ts.map +1 -0
  11. package/lib/Player/Controller.d.ts +11 -6
  12. package/lib/Player/Controller.d.ts.map +1 -0
  13. package/lib/Player/PlaybackLifecycle.d.ts +1 -0
  14. package/lib/Player/PlaybackLifecycle.d.ts.map +1 -0
  15. package/lib/Player/custom/SpatialScenePanel/index.d.ts +2 -2
  16. package/lib/Player/custom/SpatialScenePanel/index.d.ts.map +1 -0
  17. package/lib/Player/hooks.d.ts +3 -2
  18. package/lib/Player/hooks.d.ts.map +1 -0
  19. package/lib/Player/index.d.ts +3 -2
  20. package/lib/Player/index.d.ts.map +1 -0
  21. package/lib/Player/index.js +1769 -430
  22. package/lib/Player/index.js.map +1 -0
  23. package/lib/Player/modules/Drawer/index.d.ts +2 -2
  24. package/lib/Player/modules/Drawer/index.d.ts.map +1 -0
  25. package/lib/Player/modules/PopUp/index.d.ts +2 -2
  26. package/lib/Player/modules/PopUp/index.d.ts.map +1 -0
  27. package/lib/Player/modules/ResizeObserver/index.d.ts +2 -2
  28. package/lib/Player/modules/ResizeObserver/index.d.ts.map +1 -0
  29. package/lib/Player/modules/VideoAgent/VideoAgentMesh.d.ts +5 -2
  30. package/lib/Player/modules/VideoAgent/VideoAgentMesh.d.ts.map +1 -0
  31. package/lib/Player/modules/VideoAgent/VideoAgentScene.d.ts +8 -5
  32. package/lib/Player/modules/VideoAgent/VideoAgentScene.d.ts.map +1 -0
  33. package/lib/Player/modules/VideoAgent/index.d.ts +11 -2
  34. package/lib/Player/modules/VideoAgent/index.d.ts.map +1 -0
  35. package/lib/Player/modules/Wave/index.d.ts +2 -2
  36. package/lib/Player/modules/Wave/index.d.ts.map +1 -0
  37. package/lib/Player/modules/keyframes/BgMusic/index.d.ts +2 -2
  38. package/lib/Player/modules/keyframes/BgMusic/index.d.ts.map +1 -0
  39. package/lib/Player/modules/keyframes/CameraMovement/index.d.ts +2 -2
  40. package/lib/Player/modules/keyframes/CameraMovement/index.d.ts.map +1 -0
  41. package/lib/Player/modules/keyframes/InfoPanel/index.d.ts +2 -2
  42. package/lib/Player/modules/keyframes/InfoPanel/index.d.ts.map +1 -0
  43. package/lib/Player/modules/keyframes/ModelVideo/index.d.ts +2 -2
  44. package/lib/Player/modules/keyframes/ModelVideo/index.d.ts.map +1 -0
  45. package/lib/Player/modules/keyframes/PanoEffect/index.d.ts +2 -2
  46. package/lib/Player/modules/keyframes/PanoEffect/index.d.ts.map +1 -0
  47. package/lib/Player/modules/keyframes/PanoEffect/lineAnime.d.ts +3 -2
  48. package/lib/Player/modules/keyframes/PanoEffect/lineAnime.d.ts.map +1 -0
  49. package/lib/Player/modules/keyframes/PanoTag/index.d.ts +1 -0
  50. package/lib/Player/modules/keyframes/PanoTag/index.d.ts.map +1 -0
  51. package/lib/Player/modules/keyframes/PanoTextLabel/index.d.ts +2 -2
  52. package/lib/Player/modules/keyframes/PanoTextLabel/index.d.ts.map +1 -0
  53. package/lib/Player/modules/keyframes/Prompter/index.d.ts +2 -2
  54. package/lib/Player/modules/keyframes/Prompter/index.d.ts.map +1 -0
  55. package/lib/Player/modules/keyframes/UpdateVRPanorama/index.d.ts +2 -2
  56. package/lib/Player/modules/keyframes/UpdateVRPanorama/index.d.ts.map +1 -0
  57. package/lib/Player/modules/keyframes/VideoEffect/index.d.ts +2 -2
  58. package/lib/Player/modules/keyframes/VideoEffect/index.d.ts.map +1 -0
  59. package/lib/Player/playback-types.d.ts +1 -0
  60. package/lib/Player/playback-types.d.ts.map +1 -0
  61. package/lib/Player/typings.d.ts +2 -1
  62. package/lib/Player/typings.d.ts.map +1 -0
  63. package/lib/chunks/index-BgPSzRSs.js +93 -0
  64. package/lib/chunks/index-BgPSzRSs.js.map +1 -0
  65. package/lib/chunks/index-CunyJn6H.js +51 -0
  66. package/lib/chunks/index-CunyJn6H.js.map +1 -0
  67. package/lib/fivePlugins/CSS3DRenderPlugin/centerPoint.d.ts +2 -1
  68. package/lib/fivePlugins/CSS3DRenderPlugin/centerPoint.d.ts.map +1 -0
  69. package/lib/fivePlugins/CSS3DRenderPlugin/createResizeObserver.d.ts +5 -6
  70. package/lib/fivePlugins/CSS3DRenderPlugin/createResizeObserver.d.ts.map +1 -0
  71. package/lib/fivePlugins/CSS3DRenderPlugin/evenNumber.d.ts +1 -0
  72. package/lib/fivePlugins/CSS3DRenderPlugin/evenNumber.d.ts.map +1 -0
  73. package/lib/fivePlugins/CSS3DRenderPlugin/index.d.ts +5 -22
  74. package/lib/fivePlugins/CSS3DRenderPlugin/index.d.ts.map +1 -0
  75. package/lib/fivePlugins/CSS3DRenderPlugin/transformPositionToVector3.d.ts +2 -1
  76. package/lib/fivePlugins/CSS3DRenderPlugin/transformPositionToVector3.d.ts.map +1 -0
  77. package/lib/fivePlugins/CameraMovementPlugin/index.d.ts +2 -1
  78. package/lib/fivePlugins/CameraMovementPlugin/index.d.ts.map +1 -0
  79. package/lib/fivePlugins/CameraMovementPlugin/typings.d.ts +2 -1
  80. package/lib/fivePlugins/CameraMovementPlugin/typings.d.ts.map +1 -0
  81. package/lib/fivePlugins/ModelTVVideoPlugin/index.d.ts +2 -1
  82. package/lib/fivePlugins/ModelTVVideoPlugin/index.d.ts.map +1 -0
  83. package/lib/index.d.ts +3 -0
  84. package/lib/index.d.ts.map +1 -0
  85. package/lib/index.js +12 -1
  86. package/lib/index.js.map +1 -0
  87. package/lib/plugins/CSS3DRenderPlugin.js +115 -0
  88. package/lib/plugins/CSS3DRenderPlugin.js.map +1 -0
  89. package/lib/plugins/CameraMovementPlugin.js +6 -0
  90. package/lib/plugins/CameraMovementPlugin.js.map +1 -0
  91. package/lib/plugins/ModelTVVideoPlugin.js +162 -0
  92. package/lib/plugins/ModelTVVideoPlugin.js.map +1 -0
  93. package/lib/react/index.d.ts +5 -4
  94. package/lib/react/index.d.ts.map +1 -0
  95. package/lib/react/index.js +39 -226
  96. package/lib/react/index.js.map +1 -0
  97. package/lib/shared-utils/Audio.d.ts +3 -1
  98. package/lib/shared-utils/Audio.d.ts.map +1 -0
  99. package/lib/shared-utils/AudioLike.d.ts +2 -1
  100. package/lib/shared-utils/AudioLike.d.ts.map +1 -0
  101. package/lib/shared-utils/Preloader.d.ts +1 -0
  102. package/lib/shared-utils/Preloader.d.ts.map +1 -0
  103. package/lib/shared-utils/addResizeListener.d.ts +2 -1
  104. package/lib/shared-utils/addResizeListener.d.ts.map +1 -0
  105. package/lib/shared-utils/animationFrame/BetterTween.d.ts +1 -0
  106. package/lib/shared-utils/animationFrame/BetterTween.d.ts.map +1 -0
  107. package/lib/shared-utils/animationFrame/index.d.ts +5 -14
  108. package/lib/shared-utils/animationFrame/index.d.ts.map +1 -0
  109. package/lib/shared-utils/animationFrame/tween.d.ts +1 -0
  110. package/lib/shared-utils/animationFrame/tween.d.ts.map +1 -0
  111. package/lib/shared-utils/createTransMatrix.d.ts +3 -1
  112. package/lib/shared-utils/createTransMatrix.d.ts.map +1 -0
  113. package/lib/shared-utils/getFileExpandedName.d.ts +1 -0
  114. package/lib/shared-utils/getFileExpandedName.d.ts.map +1 -0
  115. package/lib/shared-utils/getMediaInfo.d.ts +1 -0
  116. package/lib/shared-utils/getMediaInfo.d.ts.map +1 -0
  117. package/lib/shared-utils/setElementDataset.d.ts +1 -0
  118. package/lib/shared-utils/setElementDataset.d.ts.map +1 -0
  119. package/lib/timeline/index.d.ts +18 -0
  120. package/lib/timeline/index.d.ts.map +1 -0
  121. package/lib/types/index.js +10 -0
  122. package/lib/types/index.js.map +1 -0
  123. package/lib/typings/VreoUnit.d.ts +2 -1
  124. package/lib/typings/VreoUnit.d.ts.map +1 -0
  125. package/lib/typings/index.d.ts +1 -0
  126. package/lib/typings/index.d.ts.map +1 -0
  127. package/package.json +51 -71
  128. package/lib/PlayController/createHTMLAudioElement.js +0 -30
  129. package/lib/Player/App.js +0 -52
  130. package/lib/Player/Controller.js +0 -530
  131. package/lib/Player/PlaybackLifecycle.js +0 -117
  132. package/lib/Player/custom/SpatialScenePanel/index.js +0 -263
  133. package/lib/Player/hooks.js +0 -22
  134. package/lib/Player/modules/Drawer/index.js +0 -39
  135. package/lib/Player/modules/PopUp/index.js +0 -23
  136. package/lib/Player/modules/ResizeObserver/index.js +0 -22
  137. package/lib/Player/modules/VideoAgent/VideoAgentMesh.js +0 -445
  138. package/lib/Player/modules/VideoAgent/VideoAgentScene.js +0 -53
  139. package/lib/Player/modules/VideoAgent/index.js +0 -72
  140. package/lib/Player/modules/Wave/index.js +0 -171
  141. package/lib/Player/modules/keyframes/BgMusic/index.js +0 -65
  142. package/lib/Player/modules/keyframes/CameraMovement/index.js +0 -73
  143. package/lib/Player/modules/keyframes/InfoPanel/index.js +0 -170
  144. package/lib/Player/modules/keyframes/ModelVideo/index.js +0 -126
  145. package/lib/Player/modules/keyframes/PanoEffect/index.js +0 -99
  146. package/lib/Player/modules/keyframes/PanoEffect/lineAnime.js +0 -30
  147. package/lib/Player/modules/keyframes/PanoTag/index.js +0 -110
  148. package/lib/Player/modules/keyframes/PanoTextLabel/index.js +0 -122
  149. package/lib/Player/modules/keyframes/Prompter/index.js +0 -56
  150. package/lib/Player/modules/keyframes/UpdateVRPanorama/index.js +0 -98
  151. package/lib/Player/modules/keyframes/VideoEffect/index.js +0 -152
  152. package/lib/Player/playback-types.js +0 -1
  153. package/lib/Player/typings.js +0 -1
  154. package/lib/fivePlugins/CSS3DRenderPlugin/centerPoint.js +0 -4
  155. package/lib/fivePlugins/CSS3DRenderPlugin/createResizeObserver.js +0 -25
  156. package/lib/fivePlugins/CSS3DRenderPlugin/evenNumber.js +0 -4
  157. package/lib/fivePlugins/CSS3DRenderPlugin/index.js +0 -226
  158. package/lib/fivePlugins/CSS3DRenderPlugin/transformPositionToVector3.js +0 -8
  159. package/lib/fivePlugins/CameraMovementPlugin/index.js +0 -238
  160. package/lib/fivePlugins/CameraMovementPlugin/typings.js +0 -15
  161. package/lib/fivePlugins/ModelTVVideoPlugin/index.js +0 -347
  162. package/lib/shared-utils/Audio.js +0 -147
  163. package/lib/shared-utils/AudioLike.js +0 -120
  164. package/lib/shared-utils/Preloader.js +0 -37
  165. package/lib/shared-utils/addResizeListener.js +0 -39
  166. package/lib/shared-utils/animationFrame/BetterTween.js +0 -56
  167. package/lib/shared-utils/animationFrame/index.js +0 -52
  168. package/lib/shared-utils/animationFrame/tween.js +0 -56
  169. package/lib/shared-utils/createTransMatrix.js +0 -12
  170. package/lib/shared-utils/getFileExpandedName.js +0 -6
  171. package/lib/shared-utils/getMediaInfo.js +0 -54
  172. package/lib/shared-utils/setElementDataset.js +0 -16
  173. package/lib/typings/VreoUnit.js +0 -171
  174. package/lib/typings/index.js +0 -1
@@ -1,4 +0,0 @@
1
- import { Vector3 } from 'three';
2
- export default function centerPoint(point1, point2) {
3
- return new Vector3((point1.x + point2.x) / 2, (point1.y + point2.y) / 2, (point1.z + point2.z) / 2);
4
- }
@@ -1,25 +0,0 @@
1
- /**
2
- * @description: 简陋的 ResizeObserver polyfill
3
- */
4
- export default function createResizeObserver(func, element) {
5
- if (!element || typeof ResizeObserver === 'undefined') {
6
- return {
7
- observe: function observe() {
8
- return window.addEventListener('resize', func);
9
- },
10
- unobserve: function unobserve() {
11
- return window.removeEventListener('resize', func);
12
- }
13
- };
14
- } else {
15
- var observer = new ResizeObserver(func);
16
- return {
17
- observe: function observe() {
18
- return observer.observe(element);
19
- },
20
- unobserve: function unobserve() {
21
- return observer.unobserve(element);
22
- }
23
- };
24
- }
25
- }
@@ -1,4 +0,0 @@
1
- export default function evenNumber(num, config) {
2
- var roundNum = Math.round(num);
3
- return roundNum % 2 === 0 ? roundNum : roundNum + Number(config !== null && config !== void 0 && config.smaller ? -1 : 1);
4
- }
@@ -1,226 +0,0 @@
1
- import * as THREE from 'three';
2
- import { Scene, Vector3 } from 'three';
3
- import { CSS3DObject, CSS3DRenderer } from 'three/examples/jsm/renderers/CSS3DRenderer';
4
- import evenNumber from "./evenNumber.js";
5
- import centerPoint from "./centerPoint.js";
6
- import transformPositionToVector3 from "./transformPositionToVector3.js";
7
- import createResizeObserver from "./createResizeObserver.js";
8
- /**
9
- * 三维向量
10
- */
11
- /**
12
- * **CSS3DRenderPlugin** 提供矩形区域(三维空间四个坐标点),你可以在此矩形区域中渲染 DOM 内容。
13
- * 实现原理参考[CSS3DRenderer](https://threejs.org/docs/index.html?q=CSS3D#examples/en/renderers/CSS3DRenderer)。
14
- *
15
- * @returns
16
- */
17
- export var CSS3DRenderPlugin = function CSS3DRenderPlugin(five) {
18
- var state = {
19
- disposeCallbacks: []
20
- };
21
- var create3DDomContainer = function create3DDomContainer() {
22
- var _five$model, _five$model2, _config$autoRender;
23
- for (var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++) {
24
- params[_key] = arguments[_key];
25
- }
26
- var points = params[0].map(function (point) {
27
- return point instanceof Vector3 ? point : transformPositionToVector3(point);
28
- });
29
- var config = params[1];
30
- if ((points === null || points === void 0 ? void 0 : points.length) < 4) return console.error('points must be equal or greater than than 4');
31
- if (!(five !== null && five !== void 0 && (_five$model = five.model) !== null && _five$model !== void 0 && _five$model.loaded)) return console.error('five.model.loaded is: ', five === null || five === void 0 || (_five$model2 = five.model) === null || _five$model2 === void 0 ? void 0 : _five$model2.loaded);
32
- var fiveElement = five.getElement();
33
- if (!fiveElement) return console.error('five.getElement() is ' + fiveElement);
34
- var disposers = [];
35
- var ratio = (config === null || config === void 0 ? void 0 : config.ratio) || 0.00216;
36
- if (ratio <= 0.00215) console.warn('if you need click css3DElement on safari, ratio must be greater than 0.00215');
37
- var dpr = (config === null || config === void 0 ? void 0 : config.dpr) || 1;
38
- var mode = (config === null || config === void 0 ? void 0 : config.mode) || 'front';
39
- var autoRender = (_config$autoRender = config === null || config === void 0 ? void 0 : config.autoRender) !== null && _config$autoRender !== void 0 ? _config$autoRender : true;
40
- var behindFiveContainer = (config === null || config === void 0 ? void 0 : config.behindFiveContainer) || fiveElement.parentElement || document.body;
41
- var container = (config === null || config === void 0 ? void 0 : config.container) || document.createElement('div');
42
- container.classList.add('__Dnalogel-plugin--CSS3DRenderPlugin');
43
-
44
- // 获取css3DObject, 如果mode为behind的话,一起获取mesh
45
- var _createObject = createObject(points, {
46
- ratio: ratio,
47
- dpr: dpr,
48
- container: container,
49
- mode: mode
50
- }),
51
- css3DObject = _createObject.css3DObject,
52
- mesh = _createObject.mesh;
53
-
54
- // ======= INIT START =======
55
- var resizeObserver;
56
- var frontModeUnInited = mode === 'front' && !state.frontMode;
57
- var behindModeUnInited = mode === 'behind' && !state.behindMode;
58
- var inited = !(frontModeUnInited || behindModeUnInited);
59
- var stopRenderFlag = false;
60
- var requestAnimationFrameId = null;
61
- if (behindModeUnInited) {
62
- state.behindMode = {
63
- scene: new Scene(),
64
- css3DRenderer: new CSS3DRenderer()
65
- };
66
- }
67
- if (frontModeUnInited) {
68
- state.frontMode = {
69
- scene: new Scene(),
70
- css3DRenderer: new CSS3DRenderer()
71
- };
72
- }
73
- var _ref = mode === 'behind' ? state.behindMode : state.frontMode,
74
- scene = _ref.scene,
75
- css3DRenderer = _ref.css3DRenderer;
76
- var render = function () {
77
- if (!inited) {
78
- var css3DRendererSetSize = function css3DRendererSetSize() {
79
- // 这里evenNumber策略是遇到奇数会加1,不知道为啥会触发滚动条显示,导致fiveElement变小,fiveElement变小又触发了这里的resize,宽高变小,滚动条消失,然后又触发resize。。。无限循环
80
- // 为了规避上面这种情况,evenNumber设置了一个参数,遇到奇数可选择减一
81
- var rendererWidth = evenNumber(fiveElement.clientWidth, {
82
- smaller: true
83
- });
84
- var rendererHeight = evenNumber(fiveElement.clientHeight, {
85
- smaller: true
86
- });
87
- css3DRenderer.setSize(rendererWidth, rendererHeight);
88
- };
89
- css3DRendererSetSize();
90
- resizeObserver = createResizeObserver(css3DRendererSetSize, fiveElement);
91
- css3DRenderer.domElement.style.position = 'absolute';
92
- css3DRenderer.domElement.style.top = '0';
93
- css3DRenderer.domElement.style.userSelect = 'none';
94
- css3DRenderer.domElement.style.pointerEvents = 'none';
95
- var _renderEveryFrame = function renderEveryFrame() {
96
- if (stopRenderFlag) return;
97
- requestAnimationFrameId = requestAnimationFrame(_renderEveryFrame);
98
- css3DRenderer.render(scene, five.camera);
99
- };
100
- return function () {
101
- var _resizeObserver, _resizeObserver$obser;
102
- scene.add(css3DObject);
103
- (_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 || (_resizeObserver$obser = _resizeObserver.observe) === null || _resizeObserver$obser === void 0 || _resizeObserver$obser.call(_resizeObserver);
104
- _renderEveryFrame();
105
- if (mode === 'behind' && mesh) {
106
- five.scene.add(mesh);
107
- disposers.push(function () {
108
- return mesh && five.scene.remove(mesh);
109
- });
110
- }
111
- };
112
- } else {
113
- return function () {
114
- scene.add(css3DObject);
115
- };
116
- }
117
- }();
118
- if (frontModeUnInited) {
119
- var wrapper = fiveElement.parentElement || document.body;
120
- wrapper.appendChild(css3DRenderer.domElement);
121
- }
122
- if (behindModeUnInited) {
123
- var _wrapper = behindFiveContainer;
124
- _wrapper.appendChild(css3DRenderer.domElement);
125
- }
126
- // ======= INIT END =======
127
-
128
- var dispose = function dispose() {
129
- stopRenderFlag = true;
130
- disposers.forEach(function (d) {
131
- return d === null || d === void 0 ? void 0 : d();
132
- });
133
- scene.remove(css3DObject);
134
- if (typeof requestAnimationFrameId === 'number') cancelAnimationFrame(requestAnimationFrameId);
135
- if (scene.children.length === 0) {
136
- css3DRenderer.domElement.remove();
137
- if (mode === 'front') state.frontMode = undefined;
138
- if (mode === 'behind') state.behindMode = undefined;
139
- if (!state.behindMode && !state.frontMode) {
140
- var _resizeObserver2, _resizeObserver2$unob;
141
- (_resizeObserver2 = resizeObserver) === null || _resizeObserver2 === void 0 || (_resizeObserver2$unob = _resizeObserver2.unobserve) === null || _resizeObserver2$unob === void 0 || _resizeObserver2$unob.call(_resizeObserver2);
142
- }
143
- }
144
- return true;
145
- };
146
- var idx = state.disposeCallbacks.findIndex(function (item) {
147
- return item === dispose;
148
- });
149
- if (idx !== -1) {
150
- state.disposeCallbacks.splice(idx, 1);
151
- } else {
152
- state.disposeCallbacks.push(dispose);
153
- }
154
- if (autoRender) render();
155
- return {
156
- container: container,
157
- dispose: dispose,
158
- css3DObject: css3DObject,
159
- render: autoRender ? undefined : render
160
- };
161
- };
162
- var createObject = function createObject(points, config) {
163
- var ratio = config.ratio,
164
- dpr = config.dpr,
165
- element = config.container,
166
- mode = config.mode;
167
- var planeWidth = points[0].distanceTo(points[1]);
168
- var planeHeight = points[1].distanceTo(points[2]);
169
- var domWidthPx = evenNumber(planeWidth / ratio * dpr);
170
- var domHeightPx = evenNumber(planeHeight / ratio * dpr);
171
- var css3DObject = new CSS3DObject(element);
172
- css3DObject.scale.set(ratio, ratio, ratio);
173
- element.style.width = domWidthPx + 'px';
174
- element.style.height = domHeightPx + 'px';
175
- element.style.pointerEvents = 'none';
176
- var centerPosition = centerPoint(points[0], points[2]);
177
- var vector01 = points[1].clone().sub(points[0]); // 点0 -> 点1 的向量
178
- var vector12 = points[2].clone().sub(points[1]); // 点1 -> 点2 的向量
179
-
180
- // 旋转
181
- var rotateXAngle = new Vector3(0, 1, 0).angleTo(new Vector3(0, vector12.y, vector12.z));
182
- var rotateYAngle = new Vector3(1, 0, 0).angleTo(new Vector3(vector01.x, 0, vector01.z));
183
- var rotateZAngle = vector01.angleTo(new Vector3(vector01.x, 0, vector01.z));
184
- /**
185
- * [0,1,0] => [0,0,1] 为rolate Worldx正方向
186
- * [0,0,1] => [0,1,0] 为rolate Worldy正方向
187
- * [0,1,1] => [-1,0,0] 为rolate Worldz正方向
188
- */
189
- var rotateX = (vector12.z > 0 ? -1 : 1) * rotateXAngle;
190
- var rotateY = (vector01.z < 0 ? 1 : -1) * rotateYAngle;
191
- var rotateZ = (vector01.x > 0 && vector01.y < 0 || vector01.x < 0 && vector01.y > 0 ? -1 : 1) * rotateZAngle;
192
- css3DObject.rotateOnWorldAxis(new Vector3(1, 0, 0), rotateX); // x
193
- css3DObject.rotateOnWorldAxis(new Vector3(0, 1, 0), rotateY); // y
194
- css3DObject.rotateOnWorldAxis(new Vector3(0, 0, 1), rotateZ); // z
195
-
196
- css3DObject.position.set(centerPosition.x, centerPosition.y, centerPosition.z);
197
- var mesh;
198
- if (mode === 'behind') {
199
- var material = new THREE.MeshBasicMaterial({
200
- opacity: 0,
201
- transparent: false,
202
- side: THREE.DoubleSide
203
- });
204
- var geometry = new THREE.PlaneGeometry(domWidthPx, domHeightPx);
205
- mesh = new THREE.Mesh(geometry, material);
206
- mesh.name = 'CSS3DRenderPlugin-mesh';
207
- mesh.position.copy(css3DObject.position);
208
- mesh.rotation.copy(css3DObject.rotation);
209
- mesh.scale.copy(css3DObject.scale);
210
- }
211
- return {
212
- css3DObject: css3DObject,
213
- mesh: mesh
214
- };
215
- };
216
- return {
217
- create3DDomContainer: create3DDomContainer,
218
- disposeAll: function disposeAll() {
219
- state.disposeCallbacks.forEach(function (d) {
220
- return d === null || d === void 0 ? void 0 : d();
221
- });
222
- state.disposeCallbacks = [];
223
- }
224
- };
225
- };
226
- export default CSS3DRenderPlugin;
@@ -1,8 +0,0 @@
1
- import { Vector3 } from 'three';
2
- var transformPositionToVector3 = function transformPositionToVector3(_ref) {
3
- var x = _ref.x,
4
- y = _ref.y,
5
- z = _ref.z;
6
- return new Vector3(x, y, z);
7
- };
8
- export default transformPositionToVector3;
@@ -1,238 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
- function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
3
- function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
4
- import { Five } from '@realsee/five';
5
- import { Rotation } from "./typings.js";
6
- var PI = Math.PI;
7
- var PI_2 = PI * 2;
8
- var moving = false; // five 6 神秘bug, move 的时候不能 setState
9
-
10
- function progressNumber(from, to, pst) {
11
- if (from === to) return from;
12
- return from + (to - from) * pst;
13
- }
14
- function progressLongitude(fromLongitude, toLongitude, rotation, progress) {
15
- var clockwise = rotation === Rotation.Clockwise;
16
- var delta = clockwise ? fromLongitude - toLongitude : toLongitude - fromLongitude;
17
- var deltaMod = delta % PI_2;
18
- var deltaMod2 = deltaMod < 0 ? deltaMod + PI_2 : deltaMod;
19
- var deltaMod3 = clockwise ? -deltaMod2 : deltaMod2;
20
- var progressLongitude = fromLongitude + deltaMod3 * progress;
21
- return progressLongitude % PI_2;
22
- }
23
-
24
- /**
25
- * **运镜插件** 模拟类似于电影运镜效果。
26
- */
27
- export var CameraMovementPlugin = function CameraMovementPlugin(five) {
28
- var move = function move(args, duration) {
29
- var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
30
- preload: true
31
- };
32
- return new Promise(/*#__PURE__*/function () {
33
- var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(resolve, reject) {
34
- var _opts$asyncEndCallbac;
35
- var panoIndex, start, movePanoOptions;
36
- return _regenerator().w(function (_context) {
37
- while (1) switch (_context.n) {
38
- case 0:
39
- moving = true;
40
- if (opts.asyncStartCallback) {
41
- opts.asyncStartCallback();
42
- }
43
- if (!(five.panoIndex === undefined)) {
44
- _context.n = 1;
45
- break;
46
- }
47
- return _context.a(2, reject(false));
48
- case 1:
49
- if (!(args.mode && args.mode !== five.currentMode)) {
50
- _context.n = 3;
51
- break;
52
- }
53
- _context.n = 2;
54
- return five.changeMode(args.mode, args, duration);
55
- case 2:
56
- return _context.a(2, resolve(true));
57
- case 3:
58
- if (!(args.mode === Five.Mode.Floorplan)) {
59
- _context.n = 4;
60
- break;
61
- }
62
- return _context.a(2, resolve(true));
63
- case 4:
64
- if (!(opts.preload && args.panoIndex !== undefined && args.panoIndex !== five.panoIndex)) {
65
- _context.n = 5;
66
- break;
67
- }
68
- _context.n = 5;
69
- return five.preloadPano(args.panoIndex);
70
- case 5:
71
- (_opts$asyncEndCallbac = opts.asyncEndCallback) === null || _opts$asyncEndCallbac === void 0 || _opts$asyncEndCallbac.call(opts);
72
- if (!(args.panoIndex === undefined && args.fov === undefined && args.latitude === undefined && args.longitude === undefined)) {
73
- _context.n = 6;
74
- break;
75
- }
76
- return _context.a(2, resolve(true));
77
- case 6:
78
- panoIndex = args.panoIndex !== undefined ? args.panoIndex : five.panoIndex;
79
- if (!(panoIndex !== undefined)) {
80
- _context.n = 9;
81
- break;
82
- }
83
- start = performance.now();
84
- _context.n = 7;
85
- return five.ready();
86
- case 7:
87
- movePanoOptions = Object.assign({}, args, {
88
- duration: duration - (performance.now() - start),
89
- // 移动耗时
90
- moveEndCallback: function moveEndCallback() {
91
- return resolve(true);
92
- },
93
- // 移动结束
94
- moveCancelCallback: function moveCancelCallback() {
95
- resolve(true);
96
- },
97
- // 移动开始
98
- effect: args.transEffect || 'fly'
99
- });
100
- _context.n = 8;
101
- return five.moveToPano(panoIndex, movePanoOptions);
102
- case 8:
103
- _context.n = 10;
104
- break;
105
- case 9:
106
- reject(false);
107
- case 10:
108
- return _context.a(2);
109
- }
110
- }, _callee);
111
- }));
112
- return function (_x, _x2) {
113
- return _ref.apply(this, arguments);
114
- };
115
- }());
116
- };
117
- var rotate = /*#__PURE__*/function () {
118
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(args, duration) {
119
- var _opts$asyncStartCallb, _opts$asyncEndCallbac2;
120
- var opts,
121
- from,
122
- to,
123
- timeEnd,
124
- start,
125
- animeDuration,
126
- _onFiveRenderFrame,
127
- _args2 = arguments;
128
- return _regenerator().w(function (_context2) {
129
- while (1) switch (_context2.n) {
130
- case 0:
131
- opts = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : {};
132
- moving = false;
133
- (_opts$asyncStartCallb = opts.asyncStartCallback) === null || _opts$asyncStartCallb === void 0 || _opts$asyncStartCallb.call(opts);
134
-
135
- // 先切换模型再出旋转效果
136
- if (!(args.mode && five.currentMode !== args.mode)) {
137
- _context2.n = 1;
138
- break;
139
- }
140
- _context2.n = 1;
141
- return five.changeMode(args.mode, args.mode === Five.Mode.Panorama ? {
142
- latitude: 0
143
- } : undefined);
144
- case 1:
145
- if (!(args.mode === Five.Mode.Panorama && five.currentMode === Five.Mode.Panorama && args.panoIndex !== undefined && args.panoIndex !== five.panoIndex)) {
146
- _context2.n = 3;
147
- break;
148
- }
149
- if (!opts.preload) {
150
- _context2.n = 2;
151
- break;
152
- }
153
- _context2.n = 2;
154
- return five.preloadPano(args.panoIndex);
155
- case 2:
156
- _context2.n = 3;
157
- return new Promise(function (resolve, reject) {
158
- five.moveToPano(args.panoIndex, {
159
- moveEndCallback: function moveEndCallback() {
160
- return resolve(true);
161
- },
162
- // 移动结束
163
- moveCancelCallback: function moveCancelCallback() {
164
- return reject(false);
165
- },
166
- // 移动开始
167
- effect: 'fade'
168
- });
169
- });
170
- case 3:
171
- _context2.n = 4;
172
- return five.ready();
173
- case 4:
174
- (_opts$asyncEndCallbac2 = opts.asyncEndCallback) === null || _opts$asyncEndCallbac2 === void 0 || _opts$asyncEndCallbac2.call(opts);
175
-
176
- // 计算to
177
- from = five.getCurrentState();
178
- to = function () {
179
- return args;
180
- }();
181
- timeEnd = false; // 开始时间
182
- start = performance.now();
183
- animeDuration = duration;
184
- if (args.rotation === Rotation.Loop) {
185
- animeDuration = args.rotateSpeed ? Math.ceil(Math.abs(to.longitude - from.longitude) / args.rotateSpeed * 1000) : duration;
186
- animeDuration = Math.min(duration, animeDuration);
187
- }
188
- _onFiveRenderFrame = function onFiveRenderFrame() {
189
- if (timeEnd || moving) {
190
- five.off('renderFrame', _onFiveRenderFrame);
191
- return;
192
- }
193
- var targetState = {};
194
- if (args.rotation !== Rotation.Loop) {
195
- var progress = (performance.now() - start) / duration;
196
- targetState = {
197
- fov: progressNumber(from.fov, to.fov, progress),
198
- latitude: progressNumber(from.latitude, to.latitude, progress),
199
- longitude: progressLongitude(from.longitude, to.longitude, args.rotation, progress)
200
- };
201
- } else {
202
- var _progress = (performance.now() - start) / animeDuration; // 可能大于1
203
- var times = Math.floor(_progress);
204
- var progress2 = _progress - times; // 一定小于1
205
- var isNegative = times % 2 === 1; // 是否为反向旋转, 0: 正, 1: 反, 2: 正, 3: 反 以此类推
206
- var resultProgress = isNegative ? 1 - progress2 : progress2;
207
- targetState = {
208
- fov: progressNumber(from.fov, to.fov, resultProgress),
209
- latitude: progressNumber(from.latitude, to.latitude, resultProgress),
210
- longitude: progressNumber(from.longitude, to.longitude, resultProgress)
211
- };
212
- }
213
- five.setState(targetState, true);
214
- };
215
- five.on('renderFrame', _onFiveRenderFrame);
216
- _context2.n = 5;
217
- return new Promise(function (resolve) {
218
- setTimeout(function () {
219
- timeEnd = true;
220
- five.off('renderFrame', _onFiveRenderFrame);
221
- // 总时间到了之后强制结束,同时也是 Loop 模式的结束方式
222
- resolve(true);
223
- }, duration);
224
- });
225
- case 5:
226
- return _context2.a(2, _context2.v);
227
- }
228
- }, _callee2);
229
- }));
230
- return function rotate(_x3, _x4) {
231
- return _ref2.apply(this, arguments);
232
- };
233
- }();
234
- return {
235
- move: move,
236
- rotate: rotate
237
- };
238
- };
@@ -1,15 +0,0 @@
1
- /* eslint-disable prettier/prettier */
2
-
3
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
4
-
5
- export var CameraMovementEffect = /*#__PURE__*/function (CameraMovementEffect) {
6
- CameraMovementEffect["Move"] = "Move";
7
- CameraMovementEffect["Rotate"] = "Rotate";
8
- return CameraMovementEffect;
9
- }({});
10
- export var Rotation = /*#__PURE__*/function (Rotation) {
11
- Rotation["Clockwise"] = "Clockwise";
12
- Rotation["Anticlockwise"] = "Anticlockwise";
13
- Rotation["Loop"] = "Loop";
14
- return Rotation;
15
- }({});