@realsee/vreo 2.6.4 → 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 (173) hide show
  1. package/README.md +6 -6
  2. package/lib/PlayController/createHTMLAudioElement.d.ts +1 -0
  3. package/lib/PlayController/createHTMLAudioElement.d.ts.map +1 -0
  4. package/lib/PlayController/index.d.ts +14 -24
  5. package/lib/PlayController/index.d.ts.map +1 -0
  6. package/lib/PlayController/index.js +74 -220
  7. package/lib/PlayController/index.js.map +1 -0
  8. package/lib/Player/App.d.ts +2 -2
  9. package/lib/Player/App.d.ts.map +1 -0
  10. package/lib/Player/Controller.d.ts +11 -6
  11. package/lib/Player/Controller.d.ts.map +1 -0
  12. package/lib/Player/PlaybackLifecycle.d.ts +1 -0
  13. package/lib/Player/PlaybackLifecycle.d.ts.map +1 -0
  14. package/lib/Player/custom/SpatialScenePanel/index.d.ts +2 -2
  15. package/lib/Player/custom/SpatialScenePanel/index.d.ts.map +1 -0
  16. package/lib/Player/hooks.d.ts +3 -2
  17. package/lib/Player/hooks.d.ts.map +1 -0
  18. package/lib/Player/index.d.ts +3 -2
  19. package/lib/Player/index.d.ts.map +1 -0
  20. package/lib/Player/index.js +1770 -437
  21. package/lib/Player/index.js.map +1 -0
  22. package/lib/Player/modules/Drawer/index.d.ts +2 -2
  23. package/lib/Player/modules/Drawer/index.d.ts.map +1 -0
  24. package/lib/Player/modules/PopUp/index.d.ts +2 -2
  25. package/lib/Player/modules/PopUp/index.d.ts.map +1 -0
  26. package/lib/Player/modules/ResizeObserver/index.d.ts +2 -2
  27. package/lib/Player/modules/ResizeObserver/index.d.ts.map +1 -0
  28. package/lib/Player/modules/VideoAgent/VideoAgentMesh.d.ts +5 -2
  29. package/lib/Player/modules/VideoAgent/VideoAgentMesh.d.ts.map +1 -0
  30. package/lib/Player/modules/VideoAgent/VideoAgentScene.d.ts +8 -5
  31. package/lib/Player/modules/VideoAgent/VideoAgentScene.d.ts.map +1 -0
  32. package/lib/Player/modules/VideoAgent/index.d.ts +11 -2
  33. package/lib/Player/modules/VideoAgent/index.d.ts.map +1 -0
  34. package/lib/Player/modules/Wave/index.d.ts +2 -2
  35. package/lib/Player/modules/Wave/index.d.ts.map +1 -0
  36. package/lib/Player/modules/keyframes/BgMusic/index.d.ts +2 -2
  37. package/lib/Player/modules/keyframes/BgMusic/index.d.ts.map +1 -0
  38. package/lib/Player/modules/keyframes/CameraMovement/index.d.ts +2 -2
  39. package/lib/Player/modules/keyframes/CameraMovement/index.d.ts.map +1 -0
  40. package/lib/Player/modules/keyframes/InfoPanel/index.d.ts +2 -2
  41. package/lib/Player/modules/keyframes/InfoPanel/index.d.ts.map +1 -0
  42. package/lib/Player/modules/keyframes/ModelVideo/index.d.ts +2 -2
  43. package/lib/Player/modules/keyframes/ModelVideo/index.d.ts.map +1 -0
  44. package/lib/Player/modules/keyframes/PanoEffect/index.d.ts +2 -2
  45. package/lib/Player/modules/keyframes/PanoEffect/index.d.ts.map +1 -0
  46. package/lib/Player/modules/keyframes/PanoEffect/lineAnime.d.ts +3 -2
  47. package/lib/Player/modules/keyframes/PanoEffect/lineAnime.d.ts.map +1 -0
  48. package/lib/Player/modules/keyframes/PanoTag/index.d.ts +1 -0
  49. package/lib/Player/modules/keyframes/PanoTag/index.d.ts.map +1 -0
  50. package/lib/Player/modules/keyframes/PanoTextLabel/index.d.ts +2 -2
  51. package/lib/Player/modules/keyframes/PanoTextLabel/index.d.ts.map +1 -0
  52. package/lib/Player/modules/keyframes/Prompter/index.d.ts +2 -2
  53. package/lib/Player/modules/keyframes/Prompter/index.d.ts.map +1 -0
  54. package/lib/Player/modules/keyframes/UpdateVRPanorama/index.d.ts +2 -2
  55. package/lib/Player/modules/keyframes/UpdateVRPanorama/index.d.ts.map +1 -0
  56. package/lib/Player/modules/keyframes/VideoEffect/index.d.ts +2 -2
  57. package/lib/Player/modules/keyframes/VideoEffect/index.d.ts.map +1 -0
  58. package/lib/Player/playback-types.d.ts +1 -0
  59. package/lib/Player/playback-types.d.ts.map +1 -0
  60. package/lib/Player/typings.d.ts +2 -1
  61. package/lib/Player/typings.d.ts.map +1 -0
  62. package/lib/chunks/index-BgPSzRSs.js +93 -0
  63. package/lib/chunks/index-BgPSzRSs.js.map +1 -0
  64. package/lib/chunks/index-CunyJn6H.js +51 -0
  65. package/lib/chunks/index-CunyJn6H.js.map +1 -0
  66. package/lib/fivePlugins/CSS3DRenderPlugin/centerPoint.d.ts +2 -1
  67. package/lib/fivePlugins/CSS3DRenderPlugin/centerPoint.d.ts.map +1 -0
  68. package/lib/fivePlugins/CSS3DRenderPlugin/createResizeObserver.d.ts +5 -6
  69. package/lib/fivePlugins/CSS3DRenderPlugin/createResizeObserver.d.ts.map +1 -0
  70. package/lib/fivePlugins/CSS3DRenderPlugin/evenNumber.d.ts +1 -0
  71. package/lib/fivePlugins/CSS3DRenderPlugin/evenNumber.d.ts.map +1 -0
  72. package/lib/fivePlugins/CSS3DRenderPlugin/index.d.ts +5 -22
  73. package/lib/fivePlugins/CSS3DRenderPlugin/index.d.ts.map +1 -0
  74. package/lib/fivePlugins/CSS3DRenderPlugin/transformPositionToVector3.d.ts +2 -1
  75. package/lib/fivePlugins/CSS3DRenderPlugin/transformPositionToVector3.d.ts.map +1 -0
  76. package/lib/fivePlugins/CameraMovementPlugin/index.d.ts +2 -1
  77. package/lib/fivePlugins/CameraMovementPlugin/index.d.ts.map +1 -0
  78. package/lib/fivePlugins/CameraMovementPlugin/typings.d.ts +2 -1
  79. package/lib/fivePlugins/CameraMovementPlugin/typings.d.ts.map +1 -0
  80. package/lib/fivePlugins/ModelTVVideoPlugin/index.d.ts +2 -1
  81. package/lib/fivePlugins/ModelTVVideoPlugin/index.d.ts.map +1 -0
  82. package/lib/index.d.ts +3 -0
  83. package/lib/index.d.ts.map +1 -0
  84. package/lib/index.js +12 -1
  85. package/lib/index.js.map +1 -0
  86. package/lib/plugins/CSS3DRenderPlugin.js +115 -0
  87. package/lib/plugins/CSS3DRenderPlugin.js.map +1 -0
  88. package/lib/plugins/CameraMovementPlugin.js +6 -0
  89. package/lib/plugins/CameraMovementPlugin.js.map +1 -0
  90. package/lib/plugins/ModelTVVideoPlugin.js +162 -0
  91. package/lib/plugins/ModelTVVideoPlugin.js.map +1 -0
  92. package/lib/react/index.d.ts +5 -4
  93. package/lib/react/index.d.ts.map +1 -0
  94. package/lib/react/index.js +39 -226
  95. package/lib/react/index.js.map +1 -0
  96. package/lib/shared-utils/Audio.d.ts +3 -1
  97. package/lib/shared-utils/Audio.d.ts.map +1 -0
  98. package/lib/shared-utils/AudioLike.d.ts +2 -1
  99. package/lib/shared-utils/AudioLike.d.ts.map +1 -0
  100. package/lib/shared-utils/Preloader.d.ts +1 -0
  101. package/lib/shared-utils/Preloader.d.ts.map +1 -0
  102. package/lib/shared-utils/addResizeListener.d.ts +2 -1
  103. package/lib/shared-utils/addResizeListener.d.ts.map +1 -0
  104. package/lib/shared-utils/animationFrame/BetterTween.d.ts +1 -0
  105. package/lib/shared-utils/animationFrame/BetterTween.d.ts.map +1 -0
  106. package/lib/shared-utils/animationFrame/index.d.ts +5 -14
  107. package/lib/shared-utils/animationFrame/index.d.ts.map +1 -0
  108. package/lib/shared-utils/animationFrame/tween.d.ts +1 -0
  109. package/lib/shared-utils/animationFrame/tween.d.ts.map +1 -0
  110. package/lib/shared-utils/createTransMatrix.d.ts +3 -1
  111. package/lib/shared-utils/createTransMatrix.d.ts.map +1 -0
  112. package/lib/shared-utils/getFileExpandedName.d.ts +1 -0
  113. package/lib/shared-utils/getFileExpandedName.d.ts.map +1 -0
  114. package/lib/shared-utils/getMediaInfo.d.ts +1 -0
  115. package/lib/shared-utils/getMediaInfo.d.ts.map +1 -0
  116. package/lib/shared-utils/setElementDataset.d.ts +1 -0
  117. package/lib/shared-utils/setElementDataset.d.ts.map +1 -0
  118. package/lib/timeline/index.d.ts +18 -0
  119. package/lib/timeline/index.d.ts.map +1 -0
  120. package/lib/types/index.js +10 -0
  121. package/lib/types/index.js.map +1 -0
  122. package/lib/typings/VreoUnit.d.ts +2 -1
  123. package/lib/typings/VreoUnit.d.ts.map +1 -0
  124. package/lib/typings/index.d.ts +1 -0
  125. package/lib/typings/index.d.ts.map +1 -0
  126. package/package.json +51 -71
  127. package/lib/PlayController/createHTMLAudioElement.js +0 -34
  128. package/lib/Player/App.js +0 -52
  129. package/lib/Player/Controller.js +0 -536
  130. package/lib/Player/PlaybackLifecycle.js +0 -118
  131. package/lib/Player/custom/SpatialScenePanel/index.js +0 -240
  132. package/lib/Player/hooks.js +0 -22
  133. package/lib/Player/modules/Drawer/index.js +0 -40
  134. package/lib/Player/modules/PopUp/index.js +0 -23
  135. package/lib/Player/modules/ResizeObserver/index.js +0 -22
  136. package/lib/Player/modules/VideoAgent/VideoAgentMesh.js +0 -456
  137. package/lib/Player/modules/VideoAgent/VideoAgentScene.js +0 -53
  138. package/lib/Player/modules/VideoAgent/index.js +0 -72
  139. package/lib/Player/modules/Wave/index.js +0 -171
  140. package/lib/Player/modules/keyframes/BgMusic/index.js +0 -65
  141. package/lib/Player/modules/keyframes/CameraMovement/index.js +0 -75
  142. package/lib/Player/modules/keyframes/InfoPanel/index.js +0 -170
  143. package/lib/Player/modules/keyframes/ModelVideo/index.js +0 -128
  144. package/lib/Player/modules/keyframes/PanoEffect/index.js +0 -99
  145. package/lib/Player/modules/keyframes/PanoEffect/lineAnime.js +0 -30
  146. package/lib/Player/modules/keyframes/PanoTag/index.js +0 -110
  147. package/lib/Player/modules/keyframes/PanoTextLabel/index.js +0 -122
  148. package/lib/Player/modules/keyframes/Prompter/index.js +0 -56
  149. package/lib/Player/modules/keyframes/UpdateVRPanorama/index.js +0 -98
  150. package/lib/Player/modules/keyframes/VideoEffect/index.js +0 -154
  151. package/lib/Player/playback-types.js +0 -1
  152. package/lib/Player/typings.js +0 -1
  153. package/lib/fivePlugins/CSS3DRenderPlugin/centerPoint.js +0 -4
  154. package/lib/fivePlugins/CSS3DRenderPlugin/createResizeObserver.js +0 -25
  155. package/lib/fivePlugins/CSS3DRenderPlugin/evenNumber.js +0 -4
  156. package/lib/fivePlugins/CSS3DRenderPlugin/index.js +0 -226
  157. package/lib/fivePlugins/CSS3DRenderPlugin/transformPositionToVector3.js +0 -8
  158. package/lib/fivePlugins/CameraMovementPlugin/index.js +0 -245
  159. package/lib/fivePlugins/CameraMovementPlugin/typings.js +0 -15
  160. package/lib/fivePlugins/ModelTVVideoPlugin/index.js +0 -349
  161. package/lib/shared-utils/Audio.js +0 -151
  162. package/lib/shared-utils/AudioLike.js +0 -123
  163. package/lib/shared-utils/Preloader.js +0 -37
  164. package/lib/shared-utils/addResizeListener.js +0 -39
  165. package/lib/shared-utils/animationFrame/BetterTween.js +0 -58
  166. package/lib/shared-utils/animationFrame/index.js +0 -52
  167. package/lib/shared-utils/animationFrame/tween.js +0 -58
  168. package/lib/shared-utils/createTransMatrix.js +0 -12
  169. package/lib/shared-utils/getFileExpandedName.js +0 -6
  170. package/lib/shared-utils/getMediaInfo.js +0 -55
  171. package/lib/shared-utils/setElementDataset.js +0 -16
  172. package/lib/typings/VreoUnit.js +0 -64
  173. package/lib/typings/index.js +0 -1
@@ -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 ? 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 ? void 0 : (_resizeObserver$obser = _resizeObserver.observe) === null || _resizeObserver$obser === void 0 ? 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 ? void 0 : (_resizeObserver2$unob = _resizeObserver2.unobserve) === null || _resizeObserver2$unob === void 0 ? 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,245 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
- import _regeneratorRuntime from "@babel/runtime/regenerator";
3
- import { Five } from '@realsee/five';
4
- import { Rotation } from "./typings.js";
5
- var PI = Math.PI;
6
- var PI_2 = PI * 2;
7
- var moving = false; // five 6 神秘bug, move 的时候不能 setState
8
-
9
- function progressNumber(from, to, pst) {
10
- if (from === to) return from;
11
- return from + (to - from) * pst;
12
- }
13
- function progressLongitude(fromLongitude, toLongitude, rotation, progress) {
14
- var clockwise = rotation === Rotation.Clockwise;
15
- var delta = clockwise ? fromLongitude - toLongitude : toLongitude - fromLongitude;
16
- var deltaMod = delta % PI_2;
17
- var deltaMod2 = deltaMod < 0 ? deltaMod + PI_2 : deltaMod;
18
- var deltaMod3 = clockwise ? -deltaMod2 : deltaMod2;
19
- var progressLongitude = fromLongitude + deltaMod3 * progress;
20
- return progressLongitude % PI_2;
21
- }
22
-
23
- /**
24
- * **运镜插件** 模拟类似于电影运镜效果。
25
- */
26
- export var CameraMovementPlugin = function CameraMovementPlugin(five) {
27
- var move = function move(args, duration) {
28
- var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
29
- preload: true
30
- };
31
- return new Promise( /*#__PURE__*/function () {
32
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(resolve, reject) {
33
- var _opts$asyncEndCallbac;
34
- var panoIndex, start, movePanoOptions;
35
- return _regeneratorRuntime.wrap(function _callee$(_context) {
36
- while (1) {
37
- switch (_context.prev = _context.next) {
38
- case 0:
39
- moving = true;
40
- if (opts.asyncStartCallback) {
41
- opts.asyncStartCallback();
42
- }
43
- if (!(five.panoIndex === undefined)) {
44
- _context.next = 4;
45
- break;
46
- }
47
- return _context.abrupt("return", reject(false));
48
- case 4:
49
- if (!(args.mode && args.mode !== five.currentMode)) {
50
- _context.next = 8;
51
- break;
52
- }
53
- _context.next = 7;
54
- return five.changeMode(args.mode, args, duration);
55
- case 7:
56
- return _context.abrupt("return", resolve(true));
57
- case 8:
58
- if (!(args.mode === Five.Mode.Floorplan)) {
59
- _context.next = 10;
60
- break;
61
- }
62
- return _context.abrupt("return", resolve(true));
63
- case 10:
64
- if (!(opts.preload && args.panoIndex !== undefined && args.panoIndex !== five.panoIndex)) {
65
- _context.next = 13;
66
- break;
67
- }
68
- _context.next = 13;
69
- return five.preloadPano(args.panoIndex);
70
- case 13:
71
- (_opts$asyncEndCallbac = opts.asyncEndCallback) === null || _opts$asyncEndCallbac === void 0 ? void 0 : _opts$asyncEndCallbac.call(opts);
72
- if (!(args.panoIndex === undefined && args.fov === undefined && args.latitude === undefined && args.longitude === undefined)) {
73
- _context.next = 16;
74
- break;
75
- }
76
- return _context.abrupt("return", resolve(true));
77
- case 16:
78
- panoIndex = args.panoIndex !== undefined ? args.panoIndex : five.panoIndex;
79
- if (!(panoIndex !== undefined)) {
80
- _context.next = 26;
81
- break;
82
- }
83
- start = performance.now();
84
- _context.next = 21;
85
- return five.ready();
86
- case 21:
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.next = 24;
101
- return five.moveToPano(panoIndex, movePanoOptions);
102
- case 24:
103
- _context.next = 27;
104
- break;
105
- case 26:
106
- reject(false);
107
- case 27:
108
- case "end":
109
- return _context.stop();
110
- }
111
- }
112
- }, _callee);
113
- }));
114
- return function (_x, _x2) {
115
- return _ref.apply(this, arguments);
116
- };
117
- }());
118
- };
119
- var rotate = /*#__PURE__*/function () {
120
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(args, duration) {
121
- var _opts$asyncStartCallb, _opts$asyncEndCallbac2;
122
- var opts,
123
- from,
124
- to,
125
- timeEnd,
126
- start,
127
- animeDuration,
128
- onFiveRenderFrame,
129
- _args2 = arguments;
130
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
131
- while (1) {
132
- switch (_context2.prev = _context2.next) {
133
- case 0:
134
- opts = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : {};
135
- moving = false;
136
- (_opts$asyncStartCallb = opts.asyncStartCallback) === null || _opts$asyncStartCallb === void 0 ? void 0 : _opts$asyncStartCallb.call(opts);
137
-
138
- // 先切换模型再出旋转效果
139
- if (!(args.mode && five.currentMode !== args.mode)) {
140
- _context2.next = 6;
141
- break;
142
- }
143
- _context2.next = 6;
144
- return five.changeMode(args.mode, args.mode === Five.Mode.Panorama ? {
145
- latitude: 0
146
- } : undefined);
147
- case 6:
148
- if (!(args.mode === Five.Mode.Panorama && five.currentMode === Five.Mode.Panorama && args.panoIndex !== undefined && args.panoIndex !== five.panoIndex)) {
149
- _context2.next = 12;
150
- break;
151
- }
152
- if (!opts.preload) {
153
- _context2.next = 10;
154
- break;
155
- }
156
- _context2.next = 10;
157
- return five.preloadPano(args.panoIndex);
158
- case 10:
159
- _context2.next = 12;
160
- return new Promise(function (resolve, reject) {
161
- five.moveToPano(args.panoIndex, {
162
- moveEndCallback: function moveEndCallback() {
163
- return resolve(true);
164
- },
165
- // 移动结束
166
- moveCancelCallback: function moveCancelCallback() {
167
- return reject(false);
168
- },
169
- // 移动开始
170
- effect: 'fade'
171
- });
172
- });
173
- case 12:
174
- _context2.next = 14;
175
- return five.ready();
176
- case 14:
177
- (_opts$asyncEndCallbac2 = opts.asyncEndCallback) === null || _opts$asyncEndCallbac2 === void 0 ? void 0 : _opts$asyncEndCallbac2.call(opts);
178
-
179
- // 计算to
180
- from = five.getCurrentState();
181
- to = function () {
182
- return args;
183
- }();
184
- timeEnd = false; // 开始时间
185
- start = performance.now();
186
- animeDuration = duration;
187
- if (args.rotation === Rotation.Loop) {
188
- animeDuration = args.rotateSpeed ? Math.ceil(Math.abs(to.longitude - from.longitude) / args.rotateSpeed * 1000) : duration;
189
- animeDuration = Math.min(duration, animeDuration);
190
- }
191
- onFiveRenderFrame = function onFiveRenderFrame() {
192
- if (timeEnd || moving) {
193
- five.off('renderFrame', onFiveRenderFrame);
194
- return;
195
- }
196
- var targetState = {};
197
- if (args.rotation !== Rotation.Loop) {
198
- var progress = (performance.now() - start) / duration;
199
- targetState = {
200
- fov: progressNumber(from.fov, to.fov, progress),
201
- latitude: progressNumber(from.latitude, to.latitude, progress),
202
- longitude: progressLongitude(from.longitude, to.longitude, args.rotation, progress)
203
- };
204
- } else {
205
- var _progress = (performance.now() - start) / animeDuration; // 可能大于1
206
- var times = Math.floor(_progress);
207
- var progress2 = _progress - times; // 一定小于1
208
- var isNegative = times % 2 === 1; // 是否为反向旋转, 0: 正, 1: 反, 2: 正, 3: 反 以此类推
209
- var resultProgress = isNegative ? 1 - progress2 : progress2;
210
- targetState = {
211
- fov: progressNumber(from.fov, to.fov, resultProgress),
212
- latitude: progressNumber(from.latitude, to.latitude, resultProgress),
213
- longitude: progressNumber(from.longitude, to.longitude, resultProgress)
214
- };
215
- }
216
- five.setState(targetState, true);
217
- };
218
- five.on('renderFrame', onFiveRenderFrame);
219
- _context2.next = 25;
220
- return new Promise(function (resolve) {
221
- setTimeout(function () {
222
- timeEnd = true;
223
- five.off('renderFrame', onFiveRenderFrame);
224
- // 总时间到了之后强制结束,同时也是 Loop 模式的结束方式
225
- resolve(true);
226
- }, duration);
227
- });
228
- case 25:
229
- return _context2.abrupt("return", _context2.sent);
230
- case 26:
231
- case "end":
232
- return _context2.stop();
233
- }
234
- }
235
- }, _callee2);
236
- }));
237
- return function rotate(_x3, _x4) {
238
- return _ref2.apply(this, arguments);
239
- };
240
- }();
241
- return {
242
- move: move,
243
- rotate: rotate
244
- };
245
- };
@@ -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;
6
- (function (CameraMovementEffect) {
7
- CameraMovementEffect["Move"] = "Move";
8
- CameraMovementEffect["Rotate"] = "Rotate";
9
- })(CameraMovementEffect || (CameraMovementEffect = {}));
10
- export var Rotation;
11
- (function (Rotation) {
12
- Rotation["Clockwise"] = "Clockwise";
13
- Rotation["Anticlockwise"] = "Anticlockwise";
14
- Rotation["Loop"] = "Loop";
15
- })(Rotation || (Rotation = {}));