@realsee/vreo 2.3.8 → 2.3.9-alpha.1
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/lib/PlayController/createHTMLAudioElement.js +10 -2
- package/lib/PlayController/index.js +66 -6
- package/lib/Player/App.js +26 -0
- package/lib/Player/Controller.js +77 -21
- package/lib/Player/custom/SpatialScenePanel/index.js +63 -42
- package/lib/Player/hooks.js +10 -0
- package/lib/Player/index.js +79 -19
- package/lib/Player/modules/Drawer/index.js +17 -0
- package/lib/Player/modules/PopUp/index.js +10 -0
- package/lib/Player/modules/ResizeObserver/index.js +8 -0
- package/lib/Player/modules/VideoAgent/VideoAgentMesh.js +96 -8
- package/lib/Player/modules/VideoAgent/VideoAgentScene.js +17 -3
- package/lib/Player/modules/VideoAgent/index.js +17 -0
- package/lib/Player/modules/Wave/index.js +32 -11
- package/lib/Player/modules/keyframes/BgMusic/index.js +24 -4
- package/lib/Player/modules/keyframes/CameraMovement/index.js +26 -0
- package/lib/Player/modules/keyframes/InfoPanel/index.js +38 -8
- package/lib/Player/modules/keyframes/ModelVideo/index.js +28 -0
- package/lib/Player/modules/keyframes/PanoEffect/index.js +38 -15
- package/lib/Player/modules/keyframes/PanoEffect/lineAnime.js +7 -0
- package/lib/Player/modules/keyframes/PanoTag/index.js +22 -4
- package/lib/Player/modules/keyframes/PanoTextLabel/index.js +42 -22
- package/lib/Player/modules/keyframes/Prompter/index.js +27 -10
- package/lib/Player/modules/keyframes/UpdateVRPanorama/index.js +25 -18
- package/lib/Player/modules/keyframes/VideoEffect/index.js +42 -10
- package/lib/fivePlugins/CSS3DRenderPlugin/centerPoint.js +2 -0
- package/lib/fivePlugins/CSS3DRenderPlugin/createResizeObserver.js +1 -0
- package/lib/fivePlugins/CSS3DRenderPlugin/evenNumber.js +1 -0
- package/lib/fivePlugins/CSS3DRenderPlugin/index.js +60 -19
- package/lib/fivePlugins/CSS3DRenderPlugin/transformPositionToVector3.js +5 -2
- package/lib/fivePlugins/CameraMovementPlugin/index.js +109 -50
- package/lib/fivePlugins/CameraMovementPlugin/typings.js +4 -0
- package/lib/fivePlugins/ModelTVVideoPlugin/index.js +54 -8
- package/lib/index.js +1 -0
- package/lib/react/index.js +30 -7
- package/lib/shared-utils/Audio.js +49 -8
- package/lib/shared-utils/AudioLike.js +28 -3
- package/lib/shared-utils/Preloader.js +7 -0
- package/lib/shared-utils/addResizeListener.js +5 -0
- package/lib/shared-utils/animationFrame/BetterTween.js +28 -0
- package/lib/shared-utils/animationFrame/index.js +10 -2
- package/lib/shared-utils/animationFrame/tween.js +11 -2
- package/lib/shared-utils/createTransMatrix.js +8 -0
- package/lib/shared-utils/getFileExpandedName.js +1 -0
- package/lib/shared-utils/getMediaInfo.js +9 -0
- package/lib/shared-utils/setElementDataset.js +2 -0
- package/lib/typings/VreoUnit.js +15 -0
- package/package.json +1 -1
|
@@ -1,64 +1,82 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
10
|
exports.BgMusic = BgMusic;
|
|
11
|
+
|
|
9
12
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
|
+
|
|
10
14
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
+
|
|
11
16
|
var React = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
12
18
|
var _Audio = require("../../../../shared-utils/Audio");
|
|
19
|
+
|
|
13
20
|
var _VreoUnit = require("../../../../typings/VreoUnit");
|
|
21
|
+
|
|
14
22
|
var _hooks = require("../../../hooks");
|
|
23
|
+
|
|
15
24
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
|
+
|
|
16
26
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
+
|
|
17
28
|
function BgMusic() {
|
|
18
29
|
var controller = (0, _hooks.useController)();
|
|
19
30
|
React.useEffect(function () {
|
|
20
31
|
var callback = /*#__PURE__*/function () {
|
|
21
32
|
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(keyframe, currentTime) {
|
|
22
33
|
var start, end, _currentTime, audio, cleanAudio, play;
|
|
34
|
+
|
|
23
35
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
24
36
|
while (1) {
|
|
25
37
|
switch (_context.prev = _context.next) {
|
|
26
38
|
case 0:
|
|
27
39
|
start = keyframe.start, end = keyframe.end;
|
|
28
40
|
_currentTime = (currentTime - start) / 1000;
|
|
41
|
+
|
|
29
42
|
if (!(_currentTime < 0 || _currentTime >= keyframe.end - keyframe.start)) {
|
|
30
43
|
_context.next = 4;
|
|
31
44
|
break;
|
|
32
45
|
}
|
|
46
|
+
|
|
33
47
|
return _context.abrupt("return");
|
|
48
|
+
|
|
34
49
|
case 4:
|
|
35
50
|
audio = (0, _Audio.getAudio)(keyframe.data.url);
|
|
36
|
-
audio.currentTime = Math.max(0, _currentTime);
|
|
37
|
-
// console.log('play', audio.src)
|
|
51
|
+
audio.currentTime = Math.max(0, _currentTime); // console.log('play', audio.src)
|
|
38
52
|
// const play = () => audio.play()
|
|
39
53
|
|
|
40
54
|
audio.play();
|
|
55
|
+
|
|
41
56
|
cleanAudio = function cleanAudio() {
|
|
42
57
|
// audio.removeEventListener('canplaythrough', play)
|
|
43
58
|
audio.removeEventListener('pause', play);
|
|
44
59
|
audio.pause();
|
|
45
|
-
audio.src = '';
|
|
46
|
-
// cleanTimeout()
|
|
60
|
+
audio.src = ''; // cleanTimeout()
|
|
47
61
|
}; // audio.addEventListener('canplaythrough', play)
|
|
48
62
|
|
|
63
|
+
|
|
49
64
|
audio.addEventListener('ended', function () {
|
|
50
65
|
cleanAudio();
|
|
51
66
|
});
|
|
67
|
+
|
|
52
68
|
play = function play() {
|
|
53
69
|
if (audio.realSrc === keyframe.data.url) {
|
|
54
70
|
// 有可能会被其他音轨打断
|
|
55
71
|
audio.play();
|
|
56
72
|
}
|
|
57
73
|
};
|
|
74
|
+
|
|
58
75
|
audio.addEventListener('pause', play);
|
|
59
76
|
controller.once('paused', function () {
|
|
60
77
|
cleanAudio();
|
|
61
78
|
});
|
|
79
|
+
|
|
62
80
|
case 12:
|
|
63
81
|
case "end":
|
|
64
82
|
return _context.stop();
|
|
@@ -66,10 +84,12 @@ function BgMusic() {
|
|
|
66
84
|
}
|
|
67
85
|
}, _callee);
|
|
68
86
|
}));
|
|
87
|
+
|
|
69
88
|
return function callback(_x, _x2) {
|
|
70
89
|
return _ref.apply(this, arguments);
|
|
71
90
|
};
|
|
72
91
|
}();
|
|
92
|
+
|
|
73
93
|
controller.on(_VreoUnit.VreoKeyframeEnum.BgMusic, callback);
|
|
74
94
|
return function () {
|
|
75
95
|
controller.off(_VreoUnit.VreoKeyframeEnum.BgMusic, callback);
|
|
@@ -1,20 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
10
|
exports.CameraMovement = CameraMovement;
|
|
11
|
+
|
|
9
12
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
|
+
|
|
10
14
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
+
|
|
11
16
|
var React = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
12
18
|
var _CameraMovementPlugin = require("../../../../fivePlugins/CameraMovementPlugin");
|
|
19
|
+
|
|
13
20
|
var _typings = require("../../../../fivePlugins/CameraMovementPlugin/typings");
|
|
21
|
+
|
|
14
22
|
var _VreoUnit = require("../../../../typings/VreoUnit");
|
|
23
|
+
|
|
15
24
|
var _hooks = require("../../../hooks");
|
|
25
|
+
|
|
16
26
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
|
+
|
|
17
28
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
|
+
|
|
18
30
|
function CameraMovement() {
|
|
19
31
|
var controller = (0, _hooks.useController)();
|
|
20
32
|
var five = (0, _hooks.useFiveInstance)();
|
|
@@ -30,41 +42,53 @@ function CameraMovement() {
|
|
|
30
42
|
if (!ref.current) {
|
|
31
43
|
ref.current = (0, _CameraMovementPlugin.CameraMovementPlugin)(five, {});
|
|
32
44
|
}
|
|
45
|
+
|
|
33
46
|
start = keyframe.start, end = keyframe.end, data = keyframe.data;
|
|
34
47
|
cameraMovementData = data;
|
|
35
48
|
effect = cameraMovementData.effect;
|
|
49
|
+
|
|
36
50
|
if (!(effect === _typings.CameraMovementEffect.Rotate)) {
|
|
37
51
|
_context.next = 9;
|
|
38
52
|
break;
|
|
39
53
|
}
|
|
54
|
+
|
|
40
55
|
_context.next = 7;
|
|
41
56
|
return ref.current.rotate(data, end - start);
|
|
57
|
+
|
|
42
58
|
case 7:
|
|
43
59
|
_context.next = 21;
|
|
44
60
|
break;
|
|
61
|
+
|
|
45
62
|
case 9:
|
|
46
63
|
if (!(effect === _typings.CameraMovementEffect.Move)) {
|
|
47
64
|
_context.next = 14;
|
|
48
65
|
break;
|
|
49
66
|
}
|
|
67
|
+
|
|
50
68
|
_context.next = 12;
|
|
51
69
|
return ref.current.move(data, end - start);
|
|
70
|
+
|
|
52
71
|
case 12:
|
|
53
72
|
_context.next = 21;
|
|
54
73
|
break;
|
|
74
|
+
|
|
55
75
|
case 14:
|
|
56
76
|
if (!(cameraMovementData.panoIndex !== undefined && cameraMovementData.panoIndex !== five.panoIndex)) {
|
|
57
77
|
_context.next = 19;
|
|
58
78
|
break;
|
|
59
79
|
}
|
|
80
|
+
|
|
60
81
|
_context.next = 17;
|
|
61
82
|
return ref.current.move(data, end - start);
|
|
83
|
+
|
|
62
84
|
case 17:
|
|
63
85
|
_context.next = 21;
|
|
64
86
|
break;
|
|
87
|
+
|
|
65
88
|
case 19:
|
|
66
89
|
_context.next = 21;
|
|
67
90
|
return ref.current.rotate(data, end - start);
|
|
91
|
+
|
|
68
92
|
case 21:
|
|
69
93
|
case "end":
|
|
70
94
|
return _context.stop();
|
|
@@ -72,10 +96,12 @@ function CameraMovement() {
|
|
|
72
96
|
}
|
|
73
97
|
}, _callee);
|
|
74
98
|
}));
|
|
99
|
+
|
|
75
100
|
return function callback(_x) {
|
|
76
101
|
return _ref.apply(this, arguments);
|
|
77
102
|
};
|
|
78
103
|
}();
|
|
104
|
+
|
|
79
105
|
controller.on(_VreoUnit.VreoKeyframeEnum.CameraMovement, callback);
|
|
80
106
|
return function () {
|
|
81
107
|
controller.off(_VreoUnit.VreoKeyframeEnum.CameraMovement, callback);
|
|
@@ -1,21 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.InfoPanel = InfoPanel;
|
|
9
|
+
|
|
8
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
9
12
|
var _VreoUnit = require("../../../../typings/VreoUnit");
|
|
13
|
+
|
|
10
14
|
var _hooks = require("../../../hooks");
|
|
15
|
+
|
|
11
16
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
+
|
|
12
18
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
+
|
|
13
20
|
var isWX = navigator.userAgent.toLowerCase().indexOf('micromessenger') !== -1;
|
|
14
21
|
var isIOS = navigator.userAgent.toLowerCase().indexOf('iphone') !== -1;
|
|
15
22
|
var isIOSorWX = isIOS || isWX;
|
|
23
|
+
|
|
16
24
|
var _videoElement = document.createElement('video');
|
|
25
|
+
|
|
17
26
|
_videoElement.setAttribute('playsinline', 'true');
|
|
27
|
+
|
|
18
28
|
_videoElement.setAttribute('webkit-playsinline', 'true');
|
|
29
|
+
|
|
19
30
|
if (isIOSorWX) {
|
|
20
31
|
if (_videoElement.paused) {
|
|
21
32
|
_videoElement.addEventListener('click', function () {
|
|
@@ -25,9 +36,10 @@ if (isIOSorWX) {
|
|
|
25
36
|
});
|
|
26
37
|
}
|
|
27
38
|
}
|
|
39
|
+
|
|
28
40
|
function InfoPanelImg(_ref) {
|
|
29
41
|
var url = _ref.url,
|
|
30
|
-
|
|
42
|
+
children = _ref.children;
|
|
31
43
|
return /*#__PURE__*/React.createElement("div", {
|
|
32
44
|
className: "vreo-infoPanel-container"
|
|
33
45
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -36,33 +48,40 @@ function InfoPanelImg(_ref) {
|
|
|
36
48
|
src: url
|
|
37
49
|
})));
|
|
38
50
|
}
|
|
51
|
+
|
|
39
52
|
function InfoPanelVideo(_ref2) {
|
|
40
53
|
var url = _ref2.url,
|
|
41
|
-
|
|
54
|
+
children = _ref2.children;
|
|
42
55
|
var videoWrapperRef = React.useRef(null);
|
|
43
56
|
var controller = (0, _hooks.useController)();
|
|
44
57
|
React.useEffect(function () {
|
|
45
58
|
var _controller$configs, _controller$configs$v;
|
|
59
|
+
|
|
46
60
|
// if (!isIOSorWX) return
|
|
47
61
|
var video = ((_controller$configs = controller.configs) === null || _controller$configs === void 0 ? void 0 : (_controller$configs$v = _controller$configs.videos) === null || _controller$configs$v === void 0 ? void 0 : _controller$configs$v.videoPanel) || _videoElement;
|
|
48
62
|
if (!videoWrapperRef.current) return;
|
|
49
63
|
video.src = url;
|
|
64
|
+
|
|
50
65
|
if (!videoWrapperRef.current.contains(video)) {
|
|
51
66
|
videoWrapperRef.current.appendChild(video);
|
|
52
67
|
}
|
|
68
|
+
|
|
53
69
|
var canplaythrough = function canplaythrough() {
|
|
54
70
|
video.removeEventListener('canplaythrough', canplaythrough);
|
|
71
|
+
|
|
55
72
|
try {
|
|
56
73
|
video.play();
|
|
57
74
|
} catch (error) {}
|
|
58
75
|
};
|
|
76
|
+
|
|
59
77
|
video.addEventListener('canplaythrough', canplaythrough);
|
|
60
|
-
video.load();
|
|
61
|
-
// video.play()
|
|
78
|
+
video.load(); // video.play()
|
|
62
79
|
|
|
63
80
|
return function () {
|
|
64
81
|
var _videoWrapperRef$curr;
|
|
82
|
+
|
|
65
83
|
video.pause();
|
|
84
|
+
|
|
66
85
|
if ((_videoWrapperRef$curr = videoWrapperRef.current) !== null && _videoWrapperRef$curr !== void 0 && _videoWrapperRef$curr.contains(video)) {
|
|
67
86
|
videoWrapperRef.current.removeChild(video);
|
|
68
87
|
}
|
|
@@ -77,10 +96,12 @@ function InfoPanelVideo(_ref2) {
|
|
|
77
96
|
ref: videoWrapperRef
|
|
78
97
|
})));
|
|
79
98
|
}
|
|
99
|
+
|
|
80
100
|
var Title = function Title(props) {
|
|
81
101
|
if (!props.title && !props.subTitle) {
|
|
82
102
|
return null;
|
|
83
103
|
}
|
|
104
|
+
|
|
84
105
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
85
106
|
className: "vreo-infoPanel-title"
|
|
86
107
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -89,22 +110,26 @@ var Title = function Title(props) {
|
|
|
89
110
|
className: "vreo-infoPanel-t2"
|
|
90
111
|
}, props.subTitle)));
|
|
91
112
|
};
|
|
113
|
+
|
|
92
114
|
function InfoPanel() {
|
|
93
115
|
var timeoutRef = React.useRef();
|
|
94
116
|
var controller = (0, _hooks.useController)();
|
|
95
117
|
React.useEffect(function () {
|
|
96
118
|
var _controller$configs2;
|
|
119
|
+
|
|
97
120
|
if (((_controller$configs2 = controller.configs) === null || _controller$configs2 === void 0 ? void 0 : _controller$configs2.keyframeMap.InfoPanel) === false) {
|
|
98
121
|
return;
|
|
99
122
|
}
|
|
123
|
+
|
|
100
124
|
var callback = function callback(keyframe) {
|
|
101
125
|
var start = keyframe.start,
|
|
102
|
-
|
|
103
|
-
|
|
126
|
+
end = keyframe.end,
|
|
127
|
+
data = keyframe.data;
|
|
104
128
|
var infoPanelData = data;
|
|
105
129
|
var title = infoPanelData.title,
|
|
106
|
-
|
|
107
|
-
|
|
130
|
+
subTitle = infoPanelData.subTitle,
|
|
131
|
+
style = infoPanelData.style;
|
|
132
|
+
|
|
108
133
|
do {
|
|
109
134
|
if (style === _VreoUnit.InfoPanelStyleEnum.PopUp) {
|
|
110
135
|
if (infoPanelData.type === _VreoUnit.InfoPanelTypeEnum.Image) {
|
|
@@ -122,8 +147,10 @@ function InfoPanel() {
|
|
|
122
147
|
subTitle: subTitle
|
|
123
148
|
})));
|
|
124
149
|
}
|
|
150
|
+
|
|
125
151
|
break;
|
|
126
152
|
}
|
|
153
|
+
|
|
127
154
|
if (infoPanelData.type === _VreoUnit.InfoPanelTypeEnum.Image) {
|
|
128
155
|
controller.openDrawer({
|
|
129
156
|
content: /*#__PURE__*/React.createElement(InfoPanelImg, {
|
|
@@ -146,11 +173,13 @@ function InfoPanel() {
|
|
|
146
173
|
});
|
|
147
174
|
}
|
|
148
175
|
} while (false);
|
|
176
|
+
|
|
149
177
|
timeoutRef.current = setTimeout(function () {
|
|
150
178
|
controller.openDrawer(false);
|
|
151
179
|
controller.openPopUp(false);
|
|
152
180
|
}, end - start);
|
|
153
181
|
};
|
|
182
|
+
|
|
154
183
|
controller.on(_VreoUnit.VreoKeyframeEnum.InfoPanel, callback);
|
|
155
184
|
controller.on('ended', function () {
|
|
156
185
|
controller.openPopUp(false);
|
|
@@ -160,6 +189,7 @@ function InfoPanel() {
|
|
|
160
189
|
});
|
|
161
190
|
return function () {
|
|
162
191
|
controller.off(_VreoUnit.VreoKeyframeEnum.InfoPanel, callback);
|
|
192
|
+
|
|
163
193
|
if (timeoutRef.current) {
|
|
164
194
|
clearTimeout(timeoutRef.current);
|
|
165
195
|
}
|
|
@@ -1,21 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
10
|
exports.ModelVideo = ModelVideo;
|
|
11
|
+
|
|
9
12
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
|
+
|
|
10
14
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
+
|
|
11
16
|
var React = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
12
18
|
var THREE = _interopRequireWildcard(require("three"));
|
|
19
|
+
|
|
13
20
|
var _hooks = require("../../../hooks");
|
|
21
|
+
|
|
14
22
|
var _ModelTVVideoPlugin = require("../../../../fivePlugins/ModelTVVideoPlugin");
|
|
23
|
+
|
|
15
24
|
var _createTransMatrix = require("../../../../shared-utils/createTransMatrix");
|
|
25
|
+
|
|
16
26
|
var _VreoUnit = require("../../../../typings/VreoUnit");
|
|
27
|
+
|
|
17
28
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
|
+
|
|
18
30
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
|
+
|
|
19
32
|
function ModelVideo() {
|
|
20
33
|
var controller = (0, _hooks.useController)();
|
|
21
34
|
var five = (0, _hooks.useFiveInstance)();
|
|
@@ -25,7 +38,9 @@ function ModelVideo() {
|
|
|
25
38
|
var callback = /*#__PURE__*/function () {
|
|
26
39
|
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(keyframe) {
|
|
27
40
|
var _controller$configs, _controller$configs$v;
|
|
41
|
+
|
|
28
42
|
var start, end, _ref2, videoSrc, videoPosterSrc, vertexs, matrixWorld, position, points;
|
|
43
|
+
|
|
29
44
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
30
45
|
while (1) {
|
|
31
46
|
switch (_context.prev = _context.next) {
|
|
@@ -33,21 +48,26 @@ function ModelVideo() {
|
|
|
33
48
|
if (!ref.current) {
|
|
34
49
|
ref.current = (0, _ModelTVVideoPlugin.ModelTVVideoPlugin)(five, {});
|
|
35
50
|
}
|
|
51
|
+
|
|
36
52
|
start = keyframe.start, end = keyframe.end;
|
|
37
53
|
_ref2 = keyframe.data, videoSrc = _ref2.videoSrc, videoPosterSrc = _ref2.videoPosterSrc, vertexs = _ref2.vertexs, matrixWorld = _ref2.matrixWorld;
|
|
54
|
+
|
|
38
55
|
position = function () {
|
|
39
56
|
if (vertexs.length < 4) {
|
|
40
57
|
throw new Error('ModelVideo: 顶点数据集合不够,无法组成矩形 ....');
|
|
41
58
|
}
|
|
59
|
+
|
|
42
60
|
if (vertexs.length === 4) {
|
|
43
61
|
return vertexs;
|
|
44
62
|
}
|
|
63
|
+
|
|
45
64
|
var box = new THREE.Box3();
|
|
46
65
|
vertexs.forEach(function (v) {
|
|
47
66
|
return box.expandByPoint(new THREE.Vector3(v.x, v.y, v.z));
|
|
48
67
|
});
|
|
49
68
|
return [new THREE.Vector3(box.min.x, box.max.y, box.max.z), new THREE.Vector3(box.min.x, box.min.y, box.max.z), new THREE.Vector3(box.max.x, box.min.y, box.max.z), new THREE.Vector3(box.max.x, box.max.y, box.max.z)];
|
|
50
69
|
}();
|
|
70
|
+
|
|
51
71
|
points = function () {
|
|
52
72
|
if (matrixWorld) {
|
|
53
73
|
var transMatrix = (0, _createTransMatrix.createTransMatrix)(matrixWorld);
|
|
@@ -60,8 +80,10 @@ function ModelVideo() {
|
|
|
60
80
|
};
|
|
61
81
|
})];
|
|
62
82
|
}
|
|
83
|
+
|
|
63
84
|
return [position];
|
|
64
85
|
}();
|
|
86
|
+
|
|
65
87
|
ref.current.disable();
|
|
66
88
|
_context.next = 8;
|
|
67
89
|
return ref.current.load({
|
|
@@ -69,12 +91,15 @@ function ModelVideo() {
|
|
|
69
91
|
video_poster_src: videoPosterSrc,
|
|
70
92
|
points: points
|
|
71
93
|
}, (_controller$configs = controller.configs) === null || _controller$configs === void 0 ? void 0 : (_controller$configs$v = _controller$configs.videos) === null || _controller$configs$v === void 0 ? void 0 : _controller$configs$v.modelTVVideo);
|
|
94
|
+
|
|
72
95
|
case 8:
|
|
73
96
|
ref.current.enable();
|
|
74
97
|
timeoutRef.current = setTimeout(function () {
|
|
75
98
|
var _ref$current;
|
|
99
|
+
|
|
76
100
|
return (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.disable();
|
|
77
101
|
}, end - start);
|
|
102
|
+
|
|
78
103
|
case 10:
|
|
79
104
|
case "end":
|
|
80
105
|
return _context.stop();
|
|
@@ -82,13 +107,16 @@ function ModelVideo() {
|
|
|
82
107
|
}
|
|
83
108
|
}, _callee);
|
|
84
109
|
}));
|
|
110
|
+
|
|
85
111
|
return function callback(_x) {
|
|
86
112
|
return _ref.apply(this, arguments);
|
|
87
113
|
};
|
|
88
114
|
}();
|
|
115
|
+
|
|
89
116
|
controller.on(_VreoUnit.VreoKeyframeEnum.ModelVideo, callback);
|
|
90
117
|
return function () {
|
|
91
118
|
controller.off(_VreoUnit.VreoKeyframeEnum.ModelVideo, callback);
|
|
119
|
+
|
|
92
120
|
if (timeoutRef.current) {
|
|
93
121
|
clearTimeout(timeoutRef.current);
|
|
94
122
|
}
|
|
@@ -1,48 +1,67 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
10
|
exports.PanoEffect = PanoEffect;
|
|
11
|
+
|
|
9
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
10
14
|
var React = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
11
16
|
var _three = require("three");
|
|
17
|
+
|
|
12
18
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
19
|
+
|
|
13
20
|
var _lineAnime = _interopRequireDefault(require("./lineAnime"));
|
|
21
|
+
|
|
14
22
|
var _hooks = require("../../../hooks");
|
|
23
|
+
|
|
15
24
|
var _VreoUnit = require("../../../../typings/VreoUnit");
|
|
25
|
+
|
|
16
26
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
|
+
|
|
17
28
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
|
+
|
|
18
30
|
function PanoEffect() {
|
|
19
31
|
var _React$useState = React.useState(null),
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
32
|
+
_React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
|
|
33
|
+
state = _React$useState2[0],
|
|
34
|
+
setState = _React$useState2[1];
|
|
35
|
+
|
|
23
36
|
var five = (0, _hooks.useFiveInstance)();
|
|
24
37
|
var lineRef = React.useRef(null);
|
|
38
|
+
|
|
25
39
|
var _React$useState3 = React.useState(null),
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
40
|
+
_React$useState4 = (0, _slicedToArray2["default"])(_React$useState3, 2),
|
|
41
|
+
pos = _React$useState4[0],
|
|
42
|
+
setPos = _React$useState4[1];
|
|
43
|
+
|
|
29
44
|
var timeoutRef = React.useRef();
|
|
30
45
|
var controller = (0, _hooks.useController)();
|
|
31
46
|
var project2d = (0, _hooks.useFiveProject2d)();
|
|
47
|
+
|
|
32
48
|
var delLine = function delLine() {
|
|
33
49
|
if (lineRef.current) {
|
|
34
50
|
lineRef.current.dispose();
|
|
35
51
|
}
|
|
36
52
|
};
|
|
53
|
+
|
|
37
54
|
React.useEffect(function () {
|
|
38
55
|
var callback = function callback(keyframe) {
|
|
39
56
|
var start = keyframe.start,
|
|
40
|
-
|
|
41
|
-
|
|
57
|
+
end = keyframe.end,
|
|
58
|
+
data = keyframe.data;
|
|
42
59
|
var videoEffectData = data;
|
|
60
|
+
|
|
43
61
|
var _videoEffectData$twoV = (0, _slicedToArray2["default"])(videoEffectData.twoVertexs, 2),
|
|
44
|
-
|
|
45
|
-
|
|
62
|
+
v1 = _videoEffectData$twoV[0],
|
|
63
|
+
v2 = _videoEffectData$twoV[1];
|
|
64
|
+
|
|
46
65
|
var p1 = new _three.Vector3(v1.x, v1.y, v1.z);
|
|
47
66
|
var p2 = new _three.Vector3(v2.x, v2.y, v2.z);
|
|
48
67
|
lineRef.current = (0, _lineAnime["default"])(five, p1.clone(), p2.clone());
|
|
@@ -52,7 +71,7 @@ function PanoEffect() {
|
|
|
52
71
|
var p = project2d(center);
|
|
53
72
|
if (!p) return;
|
|
54
73
|
var left = p.x,
|
|
55
|
-
|
|
74
|
+
top = p.y;
|
|
56
75
|
setState({
|
|
57
76
|
center: center,
|
|
58
77
|
distance: distance
|
|
@@ -67,12 +86,15 @@ function PanoEffect() {
|
|
|
67
86
|
delLine();
|
|
68
87
|
}, end - start);
|
|
69
88
|
};
|
|
89
|
+
|
|
70
90
|
controller.on(_VreoUnit.VreoKeyframeEnum.PanoEffect, callback);
|
|
71
91
|
return function () {
|
|
72
92
|
controller.off(_VreoUnit.VreoKeyframeEnum.PanoEffect, callback);
|
|
93
|
+
|
|
73
94
|
if (timeoutRef.current) {
|
|
74
95
|
clearTimeout(timeoutRef.current);
|
|
75
96
|
}
|
|
97
|
+
|
|
76
98
|
delLine();
|
|
77
99
|
};
|
|
78
100
|
}, [controller]);
|
|
@@ -80,18 +102,19 @@ function PanoEffect() {
|
|
|
80
102
|
var callback = function callback() {
|
|
81
103
|
if (!(state !== null && state !== void 0 && state.center)) return;
|
|
82
104
|
var _state$center = state.center,
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
105
|
+
x = _state$center.x,
|
|
106
|
+
y = _state$center.y,
|
|
107
|
+
z = _state$center.z;
|
|
86
108
|
var res = project2d(new _three.Vector3(x, y, z));
|
|
87
109
|
if (!res) return;
|
|
88
110
|
var left = res.x,
|
|
89
|
-
|
|
111
|
+
top = res.y;
|
|
90
112
|
setPos({
|
|
91
113
|
left: left,
|
|
92
114
|
top: top
|
|
93
115
|
});
|
|
94
116
|
};
|
|
117
|
+
|
|
95
118
|
five.on('currentStateChange', callback);
|
|
96
119
|
return function () {
|
|
97
120
|
five.off('currentStateChange', callback);
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports["default"] = lineAnime;
|
|
9
|
+
|
|
8
10
|
var THREE = _interopRequireWildcard(require("three"));
|
|
11
|
+
|
|
9
12
|
var _line = require("@realsee/five/line");
|
|
13
|
+
|
|
10
14
|
var _BetterTween = require("../../../../shared-utils/animationFrame/BetterTween");
|
|
15
|
+
|
|
11
16
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
+
|
|
12
18
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
+
|
|
13
20
|
function lineAnime(five, startPoint, endPoint) {
|
|
14
21
|
var pointImage = 'data:image/png;base64,' + 'iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAIVBMVEUAAAD////////////////////////////////////////PIev5AAAACnRSTlMAG/Py2baba05un7UgfgAAAHJJREFUKM9joBpgLHVSCRdA4metAoJlCJHmVWBgAeNzroKCCVCBLpjACqgJVjCBxRBT2FbBQQJYQAohsBAsUIUQWA4WiEIILAULeCEEloAFtBACizAEMLRgGIphLabDMJ2O6TlM72MGECIIMQIZIxqoBQCPvpJ/e9FaAAAAAABJRU5ErkJggg==';
|
|
15
22
|
var pointTexture = new THREE.TextureLoader().load(pointImage);
|