@galacean/effects-plugin-orientation-transformer 1.3.0 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  * Description: Galacean Effects player orientation transformer plugin
4
4
  * Author: Ant Group CO., Ltd.
5
5
  * Contributors: 燃然,意绮
6
- * Version: v1.3.0
6
+ * Version: v1.3.2
7
7
  */
8
8
 
9
9
  'use strict';
@@ -816,7 +816,7 @@ function openDeviceMotion() {
816
816
  }
817
817
 
818
818
  effects.registerPlugin('orientation-transformer', OrientationPluginLoader, TransformVFXItem);
819
- var version = "1.3.0";
819
+ var version = "1.3.2";
820
820
  effects.logger.info('plugin orientation transformer version: ' + version);
821
821
 
822
822
  exports.OrientationAdapterAcceler = OrientationAdapterAcceler;
package/dist/index.min.js CHANGED
@@ -3,7 +3,7 @@
3
3
  * Description: Galacean Effects player orientation transformer plugin
4
4
  * Author: Ant Group CO., Ltd.
5
5
  * Contributors: 燃然,意绮
6
- * Version: v1.3.0
6
+ * Version: v1.3.2
7
7
  */
8
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@galacean/effects")):"function"==typeof define&&define.amd?define(["exports","@galacean/effects"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).ge=t.ge||{},t.ge.orientationTransformerPlugin={}),t.ge)}(this,(function(t,e){"use strict";var n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},n(t,e)};function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function o(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}var r=function(){return r=Object.assign||function(t){for(var e,n=1,o=arguments.length;n<o;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},r.apply(this,arguments)};function i(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var o,r,i=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(t){r={error:t}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a}function a(t,e,n){if(n||2===arguments.length)for(var o,r=0,i=e.length;r<i;r++)!o&&r in e||(o||(o=Array.prototype.slice.call(e,0,r)),o[r]=e[r]);return t.concat(o||Array.prototype.slice.call(e))}"function"==typeof SuppressedError&&SuppressedError;var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"type",{get:function(){return"orientation-transformer"},enumerable:!1,configurable:!0}),e.prototype.onConstructed=function(t){var e=t.content.options.targets;e&&(this.targets=e.map((function(t){return{name:t.name,xMin:+t.xMin||0,yMin:+t.yMin||0,xMax:+t.xMax||0,yMax:+t.yMax||0,vMin:+t.vMin||0,hMin:+t.hMin||0,vMax:+t.vMax||0,hMax:+t.hMax||0}})))},e.prototype.onItemRemoved=function(t){var e;null===(e=this.targets)||void 0===e||e.forEach((function(e){var n;return null===(n=t.loaderData.deviceTransformer)||void 0===n?void 0:n.removeTarget(e.name)}))},e.prototype.doCreateContent=function(t){var e,n=t.loaderData.deviceTransformer;return n&&(null===(e=this.targets)||void 0===e||e.forEach((function(t){return n.addTarget(t)})),n.initComposition()),{}},e}(e.VFXItem),c=function(){function t(t){this.composition=t,this.targets={},this.records={},this.currentPos={},this.currentRot={},this.gammaRange=[-89,89],this.betaRange=[-89,89]}return t.prototype.update=function(t){var e=t.x,n=t.y;this.currentEvent={x:e,y:n}},t.prototype.updateOrientation=function(){var t=this,e=this.currentEvent;e&&Object.getOwnPropertyNames(this.targets).forEach((function(n){t.moveLayer(n,e)}))},t.prototype.initComposition=function(){for(var t=this.composition.items,e=0;e<t.length;e++){var n=t[e];if(this.targets[n.name]){var o=n.transform.position.toArray(),r=n.transform.rotation.toArray(),i=this.currentPos[n.name],a=this.currentRot[n.name];this.records[n.name]={item:n,position:o,rotation:r},i&&n.transform.setPosition(i[0],i[1],i[2]),a&&n.transform.setRotation(a[0],a[1],a[2])}}},t.prototype.addTarget=function(t){this.targets[t.name]=t},t.prototype.removeTarget=function(t){delete this.targets[t],delete this.records[t]},t.prototype.moveLayer=function(t,e){var n,o,r,s=e.x,c=e.y,h=null===(r=this.records[t])||void 0===r?void 0:r.item;if(h){var p=this.records[t].position,f=this.records[t].rotation,d=this.targets[t],m=l(s,this.betaRange),v=l(c,this.gammaRange);if(d){var g=[p[0]+1.2*u((m-this.gammaRange[0])/(this.gammaRange[1]-this.gammaRange[0]),d.xMin,d.xMax),p[1]+1.2*u((v-this.betaRange[0])/(this.betaRange[1]-this.betaRange[0]),d.yMin,d.yMax),p[2]],y=(l(2*s,this.betaRange)-this.betaRange[0])/(this.betaRange[1]-this.betaRange[0]),b=(l(2*c-45,this.gammaRange)-this.gammaRange[0])/(this.gammaRange[1]-this.gammaRange[0]),w=[f[0]+u(b,d.hMin,d.hMax),f[1]+u(y,d.vMin,d.vMax),f[2]];(n=h.transform).setPosition.apply(n,a([],i(g),!1)),(o=h.transform).setRotation.apply(o,a([],i(w),!1)),this.currentPos[t]=g.slice(),this.currentRot[t]=w.slice()}}},t}();function l(t,e){return t<e[0]?e[0]:t>e[1]?e[1]:t}function u(t,e,n){return e+(n-e)*t}function h(t){return Object.prototype.toString.call(t)}function p(t,e){var n=!0,o=!0,r=!0;if("[object Array]"===h(e.alpha)&&e.alpha.length>=2){var i=t.alpha+e.alpha[0],a=t.alpha+e.alpha[1];n=(i=i<0?i+360:i)<(a=a>360?a-360:a)?t.alpha>i&&t.alpha<a:t.alpha>i||t.alpha<a}return"[object Array]"===h(e.beta)&&e.beta.length>=2&&(o=t.beta>=e.beta[0]&&t.beta<=e.beta[1]),"[object Array]"===h(e.gamma)&&e.gamma.length>=2&&(r=t.gamma>=e.gamma[0]&&t.gamma<=e.gamma[1]),n&&o&&r}function f(t,n){if(!e.isObject(t)&&!e.isArray(t))return t;for(var o=e.isArray(t)?a([],i(t),!1):r({},t),s=arguments.length,c=1;c<s;c++){var l=arguments[c]||{};if(e.isObject(l)){var u=void 0;for(u in l)l.hasOwnProperty(u)&&(e.isObject(o[u])&&e.isObject(l[u])?o[u]=f(o[u],l[u]):e.isObject(l[u])||e.isArray(l[u])?o[u]=f(l[u]):o[u]=l[u]);for(u in o)e.isObject(o[u])&&o.hasOwnProperty(u)&&!l.hasOwnProperty(u)&&(o[u]=f(o[u]))}}if(1===s)for(var u in o)e.isObject(o[u])&&o.hasOwnProperty(u)&&(o[u]=f(o[u]));return o}var d=function(){function t(t){void 0===t&&(t={}),this.options=t,this.lastValue=0,this.valuePool=[]}return t.prototype.stableFix=function(t){var e=this.options.stableRange||3;return Math.abs(t)<e?0:t>e?t-e:t+e},t.prototype.changeLimit=function(t){var e=this.lastValue,n=t;return Math.abs(t-e)>5&&(n=e<t?e+5:e-5),Math.abs(t-e)<1&&(n=e),this.lastValue=n,n},t.prototype.linearRegressionMedian=function(t){var e,n,o;return this.valuePool.push(t),this.valuePool.length>=5?(n=this.valuePool,o=function(t){var e=[],n=[];t.forEach((function(t,o){e.push(o),n.push(t)}));var o=function(t,e){for(var n={},o=e.length,r=0,i=0,a=0,s=0,c=0,l=0;l<e.length;l++)r+=t[l],i+=e[l],a+=t[l]*e[l],s+=t[l]*t[l],c+=e[l]*e[l];var u=r/o,h=i/o;return n.a=(a-o*u*h)/(s-o*u*u),n.b=h-n.a*u,n.miss=Math.pow((o*a-r*i)/Math.sqrt((o*s-r*r)*(o*c-i*i)),2),n}(e,n);return function(t){return o.a*t+o.b}}(n),n=n.map((function(t,e){return o(e)})),e=o(n.length/2),this.valuePool.shift()):e=this.lastValue,e},t}();var m,v=((m=navigator.userAgent.toLowerCase().match(/cpu (iphone )?os (.*?) like mac os/))?parseInt(m[2],10):0)&&void 0!==window.AlipayJSBridge,g=void 0!==window.WindVane,y={X:!0,Y:!0,interval:Math.floor(1e3/30),useRequestAnimationFrame:!0,relativeBeta:!1,relativeGamma:!1,validRange:{alpha:[-60,60],beta:[-60,180],gamma:[-89,89]},stableRange:3},b=function(){function t(t){void 0===t&&(t={}),this.lastX=0,this.lastY=0,this.prevAcceler={x:0,y:0,z:0},this.stoped=!1,this.options=f(y,t);var e=this.options.stableRange;this.filterX=new d({stableRange:e}),this.filterY=new d({stableRange:e})}return t.prototype.watch=function(t){var e=this;if("function"==typeof t&&!this.watchListener){var n,o,r,i,a,s,c,l=0,u=0,h=0,f=0,d=function(l){e.stoped||(n=l.alpha,o=l.beta,r=l.gamma,f||(f=o||0),h||(h=r||0),p.call(e,{alpha:n,beta:o,gamma:r},e.options.validRange)&&(e.options.X?(i=r-h,s=e.options.relativeGamma?i:r,s=e.filterX.stableFix(s),s=e.filterX.changeLimit(s),s=e.filterX.linearRegressionMedian(+s)):s=0,e.options.Y?(a=o-f,c=e.options.relativeBeta?a:o,c=e.filterY.stableFix(c),c=e.filterY.changeLimit(c),c=e.filterY.linearRegressionMedian(+c)):c=0,e.isValid(s,c)&&(e.options.useRequestAnimationFrame?window.requestAnimationFrame((function(){t(s,c,{alpha:n,beta:o,gamma:r})})):t(s,c,{alpha:n,beta:o,gamma:r}),e.lastX=s,e.lastY=c)))};this.stoped=!1,g?(M(!0,this.options.interval),this.watchListener=function(t){if("param"in t){var n=t.param,o=n.x,r=n.y,i=n.z;if(o===e.prevAcceler.x&&r===e.prevAcceler.y&&i===e.prevAcceler.z)return;e.prevAcceler={x:o,y:r,z:i},d({alpha:180*+i,beta:-90*+r,gamma:90*+o})}},document.addEventListener("motion.gyro",this.watchListener,!1)):v?(w(!0,this.options.interval/1e3),this.watchListener=function(t){if(t&&"data"in t){var e=t.data,n=e.x,o=e.y,r=e.z;d({alpha:180*r,beta:-90*o,gamma:90*n})}},document.addEventListener("accelerometerChange",this.watchListener,!1)):(this.watchListener=function(t){(u=(new Date).getTime())-l>=e.options.interval&&(l=u,d(t))},window.addEventListener("deviceorientation",this.watchListener,!1))}},t.prototype.unWatch=function(){e.assertExist(this.watchListener),g?(M(!1),document.removeEventListener("motion.gyro",this.watchListener)):v?(w(!1),document.removeEventListener("accelerometerChange",this.watchListener)):window.removeEventListener("deviceorientation",this.watchListener),this.stoped=!0,this.watchListener=void 0},t.prototype.pause=function(){this.stoped=!0,v&&w(!1)},t.prototype.continue=function(){this.stoped=!1,v&&w(!0,this.options.interval/1e3)},t.prototype.isValid=function(t,e){return this.lastX!==t||this.lastY!==e},t}();function w(t,e){window.AlipayJSBridge.call("watchShake",{monitorGyroscope:!1,monitorAccelerometer:!!t,interval:t?parseFloat(e.toFixed(3)):10},(function(){}))}function M(t,e){var n={on:t,frequency:e};window.WindVane.call("WVMotion","listenGyro",n,(function(t){console.info("call WVMotion success")}),(function(t){console.error("call WVMotion failed:"+JSON.stringify(t))}))}var R,x=function(){function t(){this.transformers=[],this.connected=!1,this.accelerMotion=null,this.validRange={alpha:[-60,60],beta:[-80,80],gamma:[-89,89]}}return t.prototype.connect=function(){var t=this;this.connected||(this.accelerMotion=new b({X:!0,Y:!0,interval:Math.floor(1e3/60),useRequestAnimationFrame:!0,relativeBeta:!1,relativeGamma:!1,validRange:this.validRange,stableRange:3}),this.accelerMotion.watch((function(e,n){var o={x:e,y:n};t.dispatchMotion(o)}))),this.connected=!0},t.prototype.disconnect=function(){this.accelerMotion&&this.accelerMotion.unWatch(),this.connected=!1},t.prototype.dispatchMotion=function(t){this.transformers.forEach((function(e){return e.update(t)}))},t.prototype.addTransformer=function(t){this.transformers.includes(t)||this.transformers.push(t)},t.prototype.removeTransformer=function(t){var e=this.transformers.indexOf(t);return e>-1&&this.transformers.splice(e,1),0===this.transformers.length},t}();var A=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.order=90,e.adapter=null,e.handleConnect=function(){var t;L||null===(t=e.adapter)||void 0===t||t.connect()},e.handleDisconnect=function(){var t;null===(t=e.adapter)||void 0===t||t.disconnect()},e}return o(e,t),e.prototype.onCompositionConstructed=function(){var t;this.adapter=O(),null===(t=this.adapter)||void 0===t||t.connect(),this.bindAccelerDocumentEvent()},e.prototype.onCompositionReset=function(t){var e,n=t.loaderData.deviceTransformer=new c(t);null===(e=this.adapter)||void 0===e||e.addTransformer(n)},e.prototype.onCompositionUpdate=function(t){var e=t.loaderData.deviceTransformer;e&&e.updateOrientation()},e.prototype.onCompositionDestroyed=function(t){var e,n;(null===(e=this.adapter)||void 0===e?void 0:e.removeTransformer(t.loaderData.deviceTransformer))&&(null===(n=this.adapter)||void 0===n||n.disconnect())},e.prototype.bindAccelerDocumentEvent=function(){this.unbindAccelerDocumentEvent(),document.addEventListener("resume",this.handleConnect,!1),document.addEventListener("pause",this.handleDisconnect,!1),document.addEventListener("back",this.handleDisconnect,!1)},e.prototype.unbindAccelerDocumentEvent=function(){document.removeEventListener("resume",this.handleConnect),document.removeEventListener("pause",this.handleDisconnect),document.removeEventListener("back",this.handleDisconnect)},e.prototype.dispose=function(){O().disconnect(),this.unbindAccelerDocumentEvent()},e}(e.AbstractPlugin),L=!1;function O(){return R||(R=new x),R}e.registerPlugin("orientation-transformer",A,s);var E="1.3.0";e.logger.info("plugin orientation transformer version: "+E),t.OrientationAdapterAcceler=x,t.closeDeviceMotion=function(){L=!0,O().disconnect()},t.getAdapter=O,t.openDeviceMotion=function(){L=!1,O().connect()},t.version=E,Object.defineProperty(t,"__esModule",{value:!0})}));
8
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@galacean/effects")):"function"==typeof define&&define.amd?define(["exports","@galacean/effects"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).ge=t.ge||{},t.ge.orientationTransformerPlugin={}),t.ge)}(this,(function(t,e){"use strict";var n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},n(t,e)};function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function o(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}var r=function(){return r=Object.assign||function(t){for(var e,n=1,o=arguments.length;n<o;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},r.apply(this,arguments)};function i(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var o,r,i=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(t){r={error:t}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a}function a(t,e,n){if(n||2===arguments.length)for(var o,r=0,i=e.length;r<i;r++)!o&&r in e||(o||(o=Array.prototype.slice.call(e,0,r)),o[r]=e[r]);return t.concat(o||Array.prototype.slice.call(e))}"function"==typeof SuppressedError&&SuppressedError;var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"type",{get:function(){return"orientation-transformer"},enumerable:!1,configurable:!0}),e.prototype.onConstructed=function(t){var e=t.content.options.targets;e&&(this.targets=e.map((function(t){return{name:t.name,xMin:+t.xMin||0,yMin:+t.yMin||0,xMax:+t.xMax||0,yMax:+t.yMax||0,vMin:+t.vMin||0,hMin:+t.hMin||0,vMax:+t.vMax||0,hMax:+t.hMax||0}})))},e.prototype.onItemRemoved=function(t){var e;null===(e=this.targets)||void 0===e||e.forEach((function(e){var n;return null===(n=t.loaderData.deviceTransformer)||void 0===n?void 0:n.removeTarget(e.name)}))},e.prototype.doCreateContent=function(t){var e,n=t.loaderData.deviceTransformer;return n&&(null===(e=this.targets)||void 0===e||e.forEach((function(t){return n.addTarget(t)})),n.initComposition()),{}},e}(e.VFXItem),c=function(){function t(t){this.composition=t,this.targets={},this.records={},this.currentPos={},this.currentRot={},this.gammaRange=[-89,89],this.betaRange=[-89,89]}return t.prototype.update=function(t){var e=t.x,n=t.y;this.currentEvent={x:e,y:n}},t.prototype.updateOrientation=function(){var t=this,e=this.currentEvent;e&&Object.getOwnPropertyNames(this.targets).forEach((function(n){t.moveLayer(n,e)}))},t.prototype.initComposition=function(){for(var t=this.composition.items,e=0;e<t.length;e++){var n=t[e];if(this.targets[n.name]){var o=n.transform.position.toArray(),r=n.transform.rotation.toArray(),i=this.currentPos[n.name],a=this.currentRot[n.name];this.records[n.name]={item:n,position:o,rotation:r},i&&n.transform.setPosition(i[0],i[1],i[2]),a&&n.transform.setRotation(a[0],a[1],a[2])}}},t.prototype.addTarget=function(t){this.targets[t.name]=t},t.prototype.removeTarget=function(t){delete this.targets[t],delete this.records[t]},t.prototype.moveLayer=function(t,e){var n,o,r,s=e.x,c=e.y,h=null===(r=this.records[t])||void 0===r?void 0:r.item;if(h){var p=this.records[t].position,f=this.records[t].rotation,d=this.targets[t],m=l(s,this.betaRange),v=l(c,this.gammaRange);if(d){var g=[p[0]+1.2*u((m-this.gammaRange[0])/(this.gammaRange[1]-this.gammaRange[0]),d.xMin,d.xMax),p[1]+1.2*u((v-this.betaRange[0])/(this.betaRange[1]-this.betaRange[0]),d.yMin,d.yMax),p[2]],y=(l(2*s,this.betaRange)-this.betaRange[0])/(this.betaRange[1]-this.betaRange[0]),b=(l(2*c-45,this.gammaRange)-this.gammaRange[0])/(this.gammaRange[1]-this.gammaRange[0]),w=[f[0]+u(b,d.hMin,d.hMax),f[1]+u(y,d.vMin,d.vMax),f[2]];(n=h.transform).setPosition.apply(n,a([],i(g),!1)),(o=h.transform).setRotation.apply(o,a([],i(w),!1)),this.currentPos[t]=g.slice(),this.currentRot[t]=w.slice()}}},t}();function l(t,e){return t<e[0]?e[0]:t>e[1]?e[1]:t}function u(t,e,n){return e+(n-e)*t}function h(t){return Object.prototype.toString.call(t)}function p(t,e){var n=!0,o=!0,r=!0;if("[object Array]"===h(e.alpha)&&e.alpha.length>=2){var i=t.alpha+e.alpha[0],a=t.alpha+e.alpha[1];n=(i=i<0?i+360:i)<(a=a>360?a-360:a)?t.alpha>i&&t.alpha<a:t.alpha>i||t.alpha<a}return"[object Array]"===h(e.beta)&&e.beta.length>=2&&(o=t.beta>=e.beta[0]&&t.beta<=e.beta[1]),"[object Array]"===h(e.gamma)&&e.gamma.length>=2&&(r=t.gamma>=e.gamma[0]&&t.gamma<=e.gamma[1]),n&&o&&r}function f(t,n){if(!e.isObject(t)&&!e.isArray(t))return t;for(var o=e.isArray(t)?a([],i(t),!1):r({},t),s=arguments.length,c=1;c<s;c++){var l=arguments[c]||{};if(e.isObject(l)){var u=void 0;for(u in l)l.hasOwnProperty(u)&&(e.isObject(o[u])&&e.isObject(l[u])?o[u]=f(o[u],l[u]):e.isObject(l[u])||e.isArray(l[u])?o[u]=f(l[u]):o[u]=l[u]);for(u in o)e.isObject(o[u])&&o.hasOwnProperty(u)&&!l.hasOwnProperty(u)&&(o[u]=f(o[u]))}}if(1===s)for(var u in o)e.isObject(o[u])&&o.hasOwnProperty(u)&&(o[u]=f(o[u]));return o}var d=function(){function t(t){void 0===t&&(t={}),this.options=t,this.lastValue=0,this.valuePool=[]}return t.prototype.stableFix=function(t){var e=this.options.stableRange||3;return Math.abs(t)<e?0:t>e?t-e:t+e},t.prototype.changeLimit=function(t){var e=this.lastValue,n=t;return Math.abs(t-e)>5&&(n=e<t?e+5:e-5),Math.abs(t-e)<1&&(n=e),this.lastValue=n,n},t.prototype.linearRegressionMedian=function(t){var e,n,o;return this.valuePool.push(t),this.valuePool.length>=5?(n=this.valuePool,o=function(t){var e=[],n=[];t.forEach((function(t,o){e.push(o),n.push(t)}));var o=function(t,e){for(var n={},o=e.length,r=0,i=0,a=0,s=0,c=0,l=0;l<e.length;l++)r+=t[l],i+=e[l],a+=t[l]*e[l],s+=t[l]*t[l],c+=e[l]*e[l];var u=r/o,h=i/o;return n.a=(a-o*u*h)/(s-o*u*u),n.b=h-n.a*u,n.miss=Math.pow((o*a-r*i)/Math.sqrt((o*s-r*r)*(o*c-i*i)),2),n}(e,n);return function(t){return o.a*t+o.b}}(n),n=n.map((function(t,e){return o(e)})),e=o(n.length/2),this.valuePool.shift()):e=this.lastValue,e},t}();var m,v=((m=navigator.userAgent.toLowerCase().match(/cpu (iphone )?os (.*?) like mac os/))?parseInt(m[2],10):0)&&void 0!==window.AlipayJSBridge,g=void 0!==window.WindVane,y={X:!0,Y:!0,interval:Math.floor(1e3/30),useRequestAnimationFrame:!0,relativeBeta:!1,relativeGamma:!1,validRange:{alpha:[-60,60],beta:[-60,180],gamma:[-89,89]},stableRange:3},b=function(){function t(t){void 0===t&&(t={}),this.lastX=0,this.lastY=0,this.prevAcceler={x:0,y:0,z:0},this.stoped=!1,this.options=f(y,t);var e=this.options.stableRange;this.filterX=new d({stableRange:e}),this.filterY=new d({stableRange:e})}return t.prototype.watch=function(t){var e=this;if("function"==typeof t&&!this.watchListener){var n,o,r,i,a,s,c,l=0,u=0,h=0,f=0,d=function(l){e.stoped||(n=l.alpha,o=l.beta,r=l.gamma,f||(f=o||0),h||(h=r||0),p.call(e,{alpha:n,beta:o,gamma:r},e.options.validRange)&&(e.options.X?(i=r-h,s=e.options.relativeGamma?i:r,s=e.filterX.stableFix(s),s=e.filterX.changeLimit(s),s=e.filterX.linearRegressionMedian(+s)):s=0,e.options.Y?(a=o-f,c=e.options.relativeBeta?a:o,c=e.filterY.stableFix(c),c=e.filterY.changeLimit(c),c=e.filterY.linearRegressionMedian(+c)):c=0,e.isValid(s,c)&&(e.options.useRequestAnimationFrame?window.requestAnimationFrame((function(){t(s,c,{alpha:n,beta:o,gamma:r})})):t(s,c,{alpha:n,beta:o,gamma:r}),e.lastX=s,e.lastY=c)))};this.stoped=!1,g?(M(!0,this.options.interval),this.watchListener=function(t){if("param"in t){var n=t.param,o=n.x,r=n.y,i=n.z;if(o===e.prevAcceler.x&&r===e.prevAcceler.y&&i===e.prevAcceler.z)return;e.prevAcceler={x:o,y:r,z:i},d({alpha:180*+i,beta:-90*+r,gamma:90*+o})}},document.addEventListener("motion.gyro",this.watchListener,!1)):v?(w(!0,this.options.interval/1e3),this.watchListener=function(t){if(t&&"data"in t){var e=t.data,n=e.x,o=e.y,r=e.z;d({alpha:180*r,beta:-90*o,gamma:90*n})}},document.addEventListener("accelerometerChange",this.watchListener,!1)):(this.watchListener=function(t){(u=(new Date).getTime())-l>=e.options.interval&&(l=u,d(t))},window.addEventListener("deviceorientation",this.watchListener,!1))}},t.prototype.unWatch=function(){e.assertExist(this.watchListener),g?(M(!1),document.removeEventListener("motion.gyro",this.watchListener)):v?(w(!1),document.removeEventListener("accelerometerChange",this.watchListener)):window.removeEventListener("deviceorientation",this.watchListener),this.stoped=!0,this.watchListener=void 0},t.prototype.pause=function(){this.stoped=!0,v&&w(!1)},t.prototype.continue=function(){this.stoped=!1,v&&w(!0,this.options.interval/1e3)},t.prototype.isValid=function(t,e){return this.lastX!==t||this.lastY!==e},t}();function w(t,e){window.AlipayJSBridge.call("watchShake",{monitorGyroscope:!1,monitorAccelerometer:!!t,interval:t?parseFloat(e.toFixed(3)):10},(function(){}))}function M(t,e){var n={on:t,frequency:e};window.WindVane.call("WVMotion","listenGyro",n,(function(t){console.info("call WVMotion success")}),(function(t){console.error("call WVMotion failed:"+JSON.stringify(t))}))}var R,x=function(){function t(){this.transformers=[],this.connected=!1,this.accelerMotion=null,this.validRange={alpha:[-60,60],beta:[-80,80],gamma:[-89,89]}}return t.prototype.connect=function(){var t=this;this.connected||(this.accelerMotion=new b({X:!0,Y:!0,interval:Math.floor(1e3/60),useRequestAnimationFrame:!0,relativeBeta:!1,relativeGamma:!1,validRange:this.validRange,stableRange:3}),this.accelerMotion.watch((function(e,n){var o={x:e,y:n};t.dispatchMotion(o)}))),this.connected=!0},t.prototype.disconnect=function(){this.accelerMotion&&this.accelerMotion.unWatch(),this.connected=!1},t.prototype.dispatchMotion=function(t){this.transformers.forEach((function(e){return e.update(t)}))},t.prototype.addTransformer=function(t){this.transformers.includes(t)||this.transformers.push(t)},t.prototype.removeTransformer=function(t){var e=this.transformers.indexOf(t);return e>-1&&this.transformers.splice(e,1),0===this.transformers.length},t}();var A=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.order=90,e.adapter=null,e.handleConnect=function(){var t;L||null===(t=e.adapter)||void 0===t||t.connect()},e.handleDisconnect=function(){var t;null===(t=e.adapter)||void 0===t||t.disconnect()},e}return o(e,t),e.prototype.onCompositionConstructed=function(){var t;this.adapter=O(),null===(t=this.adapter)||void 0===t||t.connect(),this.bindAccelerDocumentEvent()},e.prototype.onCompositionReset=function(t){var e,n=t.loaderData.deviceTransformer=new c(t);null===(e=this.adapter)||void 0===e||e.addTransformer(n)},e.prototype.onCompositionUpdate=function(t){var e=t.loaderData.deviceTransformer;e&&e.updateOrientation()},e.prototype.onCompositionDestroyed=function(t){var e,n;(null===(e=this.adapter)||void 0===e?void 0:e.removeTransformer(t.loaderData.deviceTransformer))&&(null===(n=this.adapter)||void 0===n||n.disconnect())},e.prototype.bindAccelerDocumentEvent=function(){this.unbindAccelerDocumentEvent(),document.addEventListener("resume",this.handleConnect,!1),document.addEventListener("pause",this.handleDisconnect,!1),document.addEventListener("back",this.handleDisconnect,!1)},e.prototype.unbindAccelerDocumentEvent=function(){document.removeEventListener("resume",this.handleConnect),document.removeEventListener("pause",this.handleDisconnect),document.removeEventListener("back",this.handleDisconnect)},e.prototype.dispose=function(){O().disconnect(),this.unbindAccelerDocumentEvent()},e}(e.AbstractPlugin),L=!1;function O(){return R||(R=new x),R}e.registerPlugin("orientation-transformer",A,s);var E="1.3.2";e.logger.info("plugin orientation transformer version: "+E),t.OrientationAdapterAcceler=x,t.closeDeviceMotion=function(){L=!0,O().disconnect()},t.getAdapter=O,t.openDeviceMotion=function(){L=!1,O().connect()},t.version=E,Object.defineProperty(t,"__esModule",{value:!0})}));
9
9
  //# sourceMappingURL=index.min.js.map
package/dist/index.mjs CHANGED
@@ -3,7 +3,7 @@
3
3
  * Description: Galacean Effects player orientation transformer plugin
4
4
  * Author: Ant Group CO., Ltd.
5
5
  * Contributors: 燃然,意绮
6
- * Version: v1.3.0
6
+ * Version: v1.3.2
7
7
  */
8
8
 
9
9
  import { VFXItem, isObject, isArray, assertExist, AbstractPlugin, registerPlugin, logger } from '@galacean/effects';
@@ -812,7 +812,7 @@ function openDeviceMotion() {
812
812
  }
813
813
 
814
814
  registerPlugin('orientation-transformer', OrientationPluginLoader, TransformVFXItem);
815
- var version = "1.3.0";
815
+ var version = "1.3.2";
816
816
  logger.info('plugin orientation transformer version: ' + version);
817
817
 
818
818
  export { OrientationAdapterAcceler, closeDeviceMotion, getAdapter, openDeviceMotion, version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galacean/effects-plugin-orientation-transformer",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
4
  "description": "Galacean Effects player orientation transformer plugin",
5
5
  "module": "./dist/index.mjs",
6
6
  "main": "./dist/index.js",
@@ -31,7 +31,7 @@
31
31
  "registry": "https://registry.npmjs.org"
32
32
  },
33
33
  "devDependencies": {
34
- "@galacean/effects": "1.3.0"
34
+ "@galacean/effects": "1.3.2"
35
35
  },
36
36
  "scripts": {
37
37
  "dev": "vite",