@anov/3d-ability 0.0.139 → 0.0.141

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 (265) hide show
  1. package/dist/business/Animation/motion/index.js +35 -56
  2. package/dist/business/Animation/motion/index.js.map +1 -1
  3. package/dist/business/Animation/type.js +2 -2
  4. package/dist/business/Area/Fence/FenceBase.js +146 -187
  5. package/dist/business/Area/Fence/FenceBase.js.map +1 -1
  6. package/dist/business/Area/Fence/fence_base_01.js +120 -112
  7. package/dist/business/Area/Fence/fence_base_01.js.map +1 -1
  8. package/dist/business/Area/Fence/fence_feeting_01.js +218 -130
  9. package/dist/business/Area/Fence/fence_feeting_01.js.map +1 -1
  10. package/dist/business/Area/Fence/fence_roll_01.js +140 -130
  11. package/dist/business/Area/Fence/fence_roll_01.js.map +1 -1
  12. package/dist/business/Area/FillArea/FillAreaBase.js +87 -126
  13. package/dist/business/Area/FillArea/FillAreaBase.js.map +1 -1
  14. package/dist/business/Area/FillArea/fillArea_face_01.js +72 -98
  15. package/dist/business/Area/FillArea/fillArea_face_01.js.map +1 -1
  16. package/dist/business/Area/FillArea/fillArea_line_01.js +66 -94
  17. package/dist/business/Area/FillArea/fillArea_line_01.js.map +1 -1
  18. package/dist/business/Area/index.js +267 -483
  19. package/dist/business/Area/index.js.map +1 -1
  20. package/dist/business/Area/tool.js +14 -26
  21. package/dist/business/Area/tool.js.map +1 -1
  22. package/dist/business/Base/ObjectLayer.js +21 -46
  23. package/dist/business/Base/ObjectLayer.js.map +1 -1
  24. package/dist/business/Batch/index.js +189 -234
  25. package/dist/business/Batch/index.js.map +1 -1
  26. package/dist/business/Box/index.js +52 -81
  27. package/dist/business/Box/index.js.map +1 -1
  28. package/dist/business/Cylinder/index.js +51 -79
  29. package/dist/business/Cylinder/index.js.map +1 -1
  30. package/dist/business/Flyline/bubble/CircleBubble.js +1 -9
  31. package/dist/business/Flyline/bubble/CircleBubble.js.map +1 -1
  32. package/dist/business/Flyline/bubble/index.js +7 -21
  33. package/dist/business/Flyline/bubble/index.js.map +1 -1
  34. package/dist/business/Flyline/index.js +96 -162
  35. package/dist/business/Flyline/index.js.map +1 -1
  36. package/dist/business/Flyline/line/ArcLine.js +208 -291
  37. package/dist/business/Flyline/line/ArcLine.js.map +1 -1
  38. package/dist/business/Flyline/line/index.js +8 -22
  39. package/dist/business/Flyline/line/index.js.map +1 -1
  40. package/dist/business/HeatMap/HeatMap.js +380 -467
  41. package/dist/business/HeatMap/HeatMap.js.map +1 -1
  42. package/dist/business/HeatMap/core.js +405 -525
  43. package/dist/business/HeatMap/core.js.map +1 -1
  44. package/dist/business/HeatMap/shader.js +69 -3
  45. package/dist/business/HeatMap/shader.js.map +1 -1
  46. package/dist/business/InfoPanel/index.js +201 -242
  47. package/dist/business/InfoPanel/index.js.map +1 -1
  48. package/dist/business/Line/index.js +55 -88
  49. package/dist/business/Line/index.js.map +1 -1
  50. package/dist/business/Mark/KeyframeAnimation.js +145 -176
  51. package/dist/business/Mark/KeyframeAnimation.js.map +1 -1
  52. package/dist/business/Mark/index.js +196 -294
  53. package/dist/business/Mark/index.js.map +1 -1
  54. package/dist/business/Mark/shader/tanhao.js +36 -3
  55. package/dist/business/Mark/shader/tanhao.js.map +1 -1
  56. package/dist/business/Mark/type.js +1 -1
  57. package/dist/business/MaterialSwitch/MaterialSwitchSystem.js +377 -551
  58. package/dist/business/MaterialSwitch/MaterialSwitchSystem.js.map +1 -1
  59. package/dist/business/MaterialSwitch/inject.js +92 -58
  60. package/dist/business/MaterialSwitch/inject.js.map +1 -1
  61. package/dist/business/MaterialSwitch/shader/finalFade.js +74 -2
  62. package/dist/business/MaterialSwitch/shader/finalFade.js.map +1 -1
  63. package/dist/business/MaterialSwitch/shader/ground.js +95 -16
  64. package/dist/business/MaterialSwitch/shader/ground.js.map +1 -1
  65. package/dist/business/MaterialSwitch/shader/groundBase64.js +9 -3
  66. package/dist/business/MaterialSwitch/shader/groundBase64.js.map +1 -1
  67. package/dist/business/MaterialSwitch/shader/realFade.js +48 -9
  68. package/dist/business/MaterialSwitch/shader/realFade.js.map +1 -1
  69. package/dist/business/Plane/index.js +51 -78
  70. package/dist/business/Plane/index.js.map +1 -1
  71. package/dist/business/Poi/index.d.ts +5 -0
  72. package/dist/business/Poi/index.js +256 -295
  73. package/dist/business/Poi/index.js.map +1 -1
  74. package/dist/business/Poi/link/Cylinder.js +56 -89
  75. package/dist/business/Poi/link/Cylinder.js.map +1 -1
  76. package/dist/business/Poi/link/Pyramid.js +104 -165
  77. package/dist/business/Poi/link/Pyramid.js.map +1 -1
  78. package/dist/business/Poi/link/index.d.ts +1 -1
  79. package/dist/business/Poi/link/index.js +54 -114
  80. package/dist/business/Poi/link/index.js.map +1 -1
  81. package/dist/business/Poi/panel/index.d.ts +124 -0
  82. package/dist/business/Poi/panel/index.js +474 -0
  83. package/dist/business/Poi/panel/index.js.map +1 -0
  84. package/dist/business/Poi/panel/interfaces.d.ts +67 -0
  85. package/dist/business/Poi/panel/interfaces.js +2 -0
  86. package/dist/business/Poi/panel/interfaces.js.map +1 -0
  87. package/dist/business/Poi/panel/utils.d.ts +72 -0
  88. package/dist/business/Poi/panel/utils.js +126 -0
  89. package/dist/business/Poi/panel/utils.js.map +1 -0
  90. package/dist/business/Poi/particle/DoubleCircle.js +71 -107
  91. package/dist/business/Poi/particle/DoubleCircle.js.map +1 -1
  92. package/dist/business/Poi/particle/DynamicCircle.js +75 -111
  93. package/dist/business/Poi/particle/DynamicCircle.js.map +1 -1
  94. package/dist/business/Poi/particle/SingleCircle.js +62 -98
  95. package/dist/business/Poi/particle/SingleCircle.js.map +1 -1
  96. package/dist/business/Poi/particle/index.js +49 -117
  97. package/dist/business/Poi/particle/index.js.map +1 -1
  98. package/dist/business/Poi/shader/circle.js +31 -3
  99. package/dist/business/Poi/shader/circle.js.map +1 -1
  100. package/dist/business/Poi/shader/cylinder.js +37 -3
  101. package/dist/business/Poi/shader/cylinder.js.map +1 -1
  102. package/dist/business/Poi/shader/doubleCircle.js +55 -3
  103. package/dist/business/Poi/shader/doubleCircle.js.map +1 -1
  104. package/dist/business/Poi/shader/dynamicCircle.js +67 -3
  105. package/dist/business/Poi/shader/dynamicCircle.js.map +1 -1
  106. package/dist/business/Poi/title/Border.js +7 -27
  107. package/dist/business/Poi/title/Border.js.map +1 -1
  108. package/dist/business/Poi/title/Ellipse.js +7 -27
  109. package/dist/business/Poi/title/Ellipse.js.map +1 -1
  110. package/dist/business/Poi/title/index.js +208 -292
  111. package/dist/business/Poi/title/index.js.map +1 -1
  112. package/dist/business/Poi/tools.js +22 -19
  113. package/dist/business/Poi/tools.js.map +1 -1
  114. package/dist/business/Poi/types.d.ts +3 -0
  115. package/dist/business/Poi/types.js.map +1 -1
  116. package/dist/business/Sphere/index.js +47 -72
  117. package/dist/business/Sphere/index.js.map +1 -1
  118. package/dist/business/Spline/index.js +190 -245
  119. package/dist/business/Spline/index.js.map +1 -1
  120. package/dist/business/SplitBuilding/index.js +327 -536
  121. package/dist/business/SplitBuilding/index.js.map +1 -1
  122. package/dist/business/SplitBuilding/type.js +2 -2
  123. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js +218 -275
  124. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js.map +1 -1
  125. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js +132 -177
  126. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js.map +1 -1
  127. package/dist/business/TrafficComponents/StreamerTraffic/fragmentShader.js +51 -1
  128. package/dist/business/TrafficComponents/StreamerTraffic/fragmentShader.js.map +1 -1
  129. package/dist/business/TrafficComponents/StreamerTraffic/vertexShader.js +6 -1
  130. package/dist/business/TrafficComponents/StreamerTraffic/vertexShader.js.map +1 -1
  131. package/dist/business/TrafficComponents/base.js +32 -55
  132. package/dist/business/TrafficComponents/base.js.map +1 -1
  133. package/dist/business/TrafficComponents/utils.js +25 -24
  134. package/dist/business/TrafficComponents/utils.js.map +1 -1
  135. package/dist/business/Utils/Curve.js +40 -56
  136. package/dist/business/Utils/Curve.js.map +1 -1
  137. package/dist/business/Utils/constant.js +1 -1
  138. package/dist/business/Utils/constant.js.map +1 -1
  139. package/dist/business/Utils/defineProps.js +13 -14
  140. package/dist/business/Utils/defineProps.js.map +1 -1
  141. package/dist/business/Utils/round-curve.js +127 -153
  142. package/dist/business/Utils/round-curve.js.map +1 -1
  143. package/dist/business/VideoPanel/index.js +258 -319
  144. package/dist/business/VideoPanel/index.js.map +1 -1
  145. package/dist/business/Water/index.js +78 -108
  146. package/dist/business/Water/index.js.map +1 -1
  147. package/dist/business/Water/types.js +1 -1
  148. package/dist/business/Water/types.js.map +1 -1
  149. package/dist/core/Camera/PerspectiveCamera/CameraExpand.js +383 -449
  150. package/dist/core/Camera/PerspectiveCamera/CameraExpand.js.map +1 -1
  151. package/dist/core/Camera/PerspectiveCamera/FollowOrbitControls.js +107 -142
  152. package/dist/core/Camera/PerspectiveCamera/FollowOrbitControls.js.map +1 -1
  153. package/dist/core/Controls/FirstViewControl/index.js +84 -96
  154. package/dist/core/Controls/FirstViewControl/index.js.map +1 -1
  155. package/dist/core/Controls/ThirdViewControl/action/input.js +77 -98
  156. package/dist/core/Controls/ThirdViewControl/action/input.js.map +1 -1
  157. package/dist/core/Controls/ThirdViewControl/config/constants.js +1 -1
  158. package/dist/core/Controls/ThirdViewControl/config/constants.js.map +1 -1
  159. package/dist/core/Controls/ThirdViewControl/index.js +19 -28
  160. package/dist/core/Controls/ThirdViewControl/index.js.map +1 -1
  161. package/dist/core/Controls/ThirdViewControl/player/animation.js +126 -155
  162. package/dist/core/Controls/ThirdViewControl/player/animation.js.map +1 -1
  163. package/dist/core/Controls/ThirdViewControl/player/camera.js +47 -63
  164. package/dist/core/Controls/ThirdViewControl/player/camera.js.map +1 -1
  165. package/dist/core/Controls/ThirdViewControl/player/control.js +39 -49
  166. package/dist/core/Controls/ThirdViewControl/player/control.js.map +1 -1
  167. package/dist/core/Controls/ThirdViewControl/player.js +66 -91
  168. package/dist/core/Controls/ThirdViewControl/player.js.map +1 -1
  169. package/dist/core/Controls/base.js +14 -30
  170. package/dist/core/Controls/base.js.map +1 -1
  171. package/dist/core/Curve/RoundedCornersCurve/RoundedCornersCurve.js +92 -131
  172. package/dist/core/Curve/RoundedCornersCurve/RoundedCornersCurve.js.map +1 -1
  173. package/dist/core/Debug/PerformanceInfo/Performance.js +22 -47
  174. package/dist/core/Debug/PerformanceInfo/Performance.js.map +1 -1
  175. package/dist/core/Light/PointLight/PointLightExt.js +4 -21
  176. package/dist/core/Light/PointLight/PointLightExt.js.map +1 -1
  177. package/dist/core/Material/FinirMaterial/FinirMaterial.js +37 -57
  178. package/dist/core/Material/FinirMaterial/FinirMaterial.js.map +1 -1
  179. package/dist/core/Material/PristineGridMaterial/PristineGridMaterial.js +116 -153
  180. package/dist/core/Material/PristineGridMaterial/PristineGridMaterial.js.map +1 -1
  181. package/dist/core/Material/PristineGridMaterial/shader/fragment.js +95 -1
  182. package/dist/core/Material/PristineGridMaterial/shader/fragment.js.map +1 -1
  183. package/dist/core/Material/PristineGridMaterial/shader/vertex.js +26 -1
  184. package/dist/core/Material/PristineGridMaterial/shader/vertex.js.map +1 -1
  185. package/dist/core/Material/SurfaceMaterial/index.js +76 -172
  186. package/dist/core/Material/SurfaceMaterial/index.js.map +1 -1
  187. package/dist/core/Material/decorators.js +6 -11
  188. package/dist/core/Material/decorators.js.map +1 -1
  189. package/dist/core/PostEffects/addACESFilmicToneMappingPass.js +16 -12
  190. package/dist/core/PostEffects/addACESFilmicToneMappingPass.js.map +1 -1
  191. package/dist/core/PostEffects/addBrightnessContrastPass.js +17 -13
  192. package/dist/core/PostEffects/addBrightnessContrastPass.js.map +1 -1
  193. package/dist/core/PostEffects/bloomPass.js +17 -10
  194. package/dist/core/PostEffects/bloomPass.js.map +1 -1
  195. package/dist/core/PostEffects/bloomSelect.js +60 -43
  196. package/dist/core/PostEffects/bloomSelect.js.map +1 -1
  197. package/dist/core/PostEffects/colorifyPass.js +17 -13
  198. package/dist/core/PostEffects/colorifyPass.js.map +1 -1
  199. package/dist/core/PostEffects/index.js +28 -22
  200. package/dist/core/PostEffects/index.js.map +1 -1
  201. package/dist/core/PostEffects/outlinePass.js +37 -50
  202. package/dist/core/PostEffects/outlinePass.js.map +1 -1
  203. package/dist/core/PostEffects/postprocessing.js +14 -12
  204. package/dist/core/PostEffects/postprocessing.js.map +1 -1
  205. package/dist/core/PostEffects/saoPass.js +15 -10
  206. package/dist/core/PostEffects/saoPass.js.map +1 -1
  207. package/dist/core/PostEffects/shader/colorify.js +22 -3
  208. package/dist/core/PostEffects/shader/colorify.js.map +1 -1
  209. package/dist/core/PostEffects/shader/gammaCorrectionShader.js +27 -3
  210. package/dist/core/PostEffects/shader/gammaCorrectionShader.js.map +1 -1
  211. package/dist/core/PostEffects/shader/mapping.js +66 -3
  212. package/dist/core/PostEffects/shader/mapping.js.map +1 -1
  213. package/dist/core/PostEffects/shader/thermalMaging.js +28 -3
  214. package/dist/core/PostEffects/shader/thermalMaging.js.map +1 -1
  215. package/dist/core/SceneEffect/grow/grow.js +85 -101
  216. package/dist/core/SceneEffect/grow/grow.js.map +1 -1
  217. package/dist/core/SceneEffect/grow/style_down.js +60 -77
  218. package/dist/core/SceneEffect/grow/style_down.js.map +1 -1
  219. package/dist/core/SceneEffect/grow/style_up.js +64 -81
  220. package/dist/core/SceneEffect/grow/style_up.js.map +1 -1
  221. package/dist/core/SceneEffect/grow/type.js +2 -2
  222. package/dist/core/SceneEffect/grow/type.js.map +1 -1
  223. package/dist/core/WeatherSystem/DynamicWeatherSystem.js +51 -76
  224. package/dist/core/WeatherSystem/DynamicWeatherSystem.js.map +1 -1
  225. package/dist/core/WeatherSystem/hdr/index.js +69 -105
  226. package/dist/core/WeatherSystem/hdr/index.js.map +1 -1
  227. package/dist/core/WeatherSystem/index.js +77 -124
  228. package/dist/core/WeatherSystem/index.js.map +1 -1
  229. package/dist/core/WeatherSystem/objects/fog/index.js +52 -80
  230. package/dist/core/WeatherSystem/objects/fog/index.js.map +1 -1
  231. package/dist/core/WeatherSystem/objects/rain/index.js +72 -84
  232. package/dist/core/WeatherSystem/objects/rain/index.js.map +1 -1
  233. package/dist/core/WeatherSystem/objects/rain/lineRain.js +88 -118
  234. package/dist/core/WeatherSystem/objects/rain/lineRain.js.map +1 -1
  235. package/dist/core/WeatherSystem/objects/rain/plane.js +116 -146
  236. package/dist/core/WeatherSystem/objects/rain/plane.js.map +1 -1
  237. package/dist/core/WeatherSystem/objects/rain/point.js +100 -148
  238. package/dist/core/WeatherSystem/objects/rain/point.js.map +1 -1
  239. package/dist/core/WeatherSystem/objects/sky/cloud.js +71 -104
  240. package/dist/core/WeatherSystem/objects/sky/cloud.js.map +1 -1
  241. package/dist/core/WeatherSystem/objects/sky/index.js +66 -84
  242. package/dist/core/WeatherSystem/objects/sky/index.js.map +1 -1
  243. package/dist/core/WeatherSystem/objects/sky/outline.js +25 -45
  244. package/dist/core/WeatherSystem/objects/sky/outline.js.map +1 -1
  245. package/dist/core/WeatherSystem/shaders/cloud.js +74 -3
  246. package/dist/core/WeatherSystem/shaders/cloud.js.map +1 -1
  247. package/dist/core/WeatherSystem/shaders/fog.js +103 -3
  248. package/dist/core/WeatherSystem/shaders/fog.js.map +1 -1
  249. package/dist/core/WeatherSystem/shaders/rain.js +206 -7
  250. package/dist/core/WeatherSystem/shaders/rain.js.map +1 -1
  251. package/dist/core/WeatherSystem/shaders/sky.js +87 -3
  252. package/dist/core/WeatherSystem/shaders/sky.js.map +1 -1
  253. package/dist/core/WeatherSystem/sky/index.js +104 -135
  254. package/dist/core/WeatherSystem/sky/index.js.map +1 -1
  255. package/dist/core/WeatherSystem/utils/constant.js +44 -38
  256. package/dist/core/WeatherSystem/utils/constant.js.map +1 -1
  257. package/dist/core/WeatherSystem/utils/math.js +18 -25
  258. package/dist/core/WeatherSystem/utils/math.js.map +1 -1
  259. package/dist/core/WeatherSystem/utils/type.js +1 -1
  260. package/dist/core/WeatherSystem/utils/type.js.map +1 -1
  261. package/dist/core/WeatherSystem/weather/index.js +96 -141
  262. package/dist/core/WeatherSystem/weather/index.js.map +1 -1
  263. package/dist/utils/index.js +1 -1
  264. package/dist/utils/index.js.map +1 -1
  265. package/package.json +3 -3
@@ -1,22 +1,17 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
4
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
5
1
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
4
  import StateMachine from 'javascript-state-machine';
9
5
 
10
6
  // @ts-ignore
11
7
  import StateMachineHistory from 'javascript-state-machine/lib/history';
12
8
  import * as THREE from '@anov/3d-core';
13
- var MAX_FSM_HISTORY = 2;
14
- var Character_animation = /*#__PURE__*/function () {
15
- function Character_animation(_ref) {
16
- var _this = this;
17
- var animations = _ref.animations,
18
- input = _ref.input;
19
- _classCallCheck(this, Character_animation);
9
+ const MAX_FSM_HISTORY = 2;
10
+ export default class Character_animation {
11
+ constructor({
12
+ animations,
13
+ input
14
+ }) {
20
15
  _defineProperty(this, "animations", void 0);
21
16
  _defineProperty(this, "input", void 0);
22
17
  _defineProperty(this, "preventAction", false);
@@ -43,23 +38,13 @@ var Character_animation = /*#__PURE__*/function () {
43
38
  }, {
44
39
  name: 'trans',
45
40
  from: '*',
46
- to: function to(s) {
47
- return s;
48
- }
41
+ to: s => s
49
42
  }],
50
43
  methods: {
51
- onPunch: function onPunch() {
52
- return _this.handlePunch('hit');
53
- },
54
- onPunchSecond: function onPunchSecond() {
55
- return _this.handlePunch('hitSecond');
56
- },
57
- onTrans: function onTrans() {
58
- return _this.handleTrans();
59
- },
60
- onRoll: function onRoll() {
61
- return _this.handleRoll();
62
- }
44
+ onPunch: () => this.handlePunch('hit'),
45
+ onPunchSecond: () => this.handlePunch('hitSecond'),
46
+ onTrans: () => this.handleTrans(),
47
+ onRoll: () => this.handleRoll()
63
48
  },
64
49
  // @ts-ignore
65
50
  plugins: [new StateMachineHistory({
@@ -68,140 +53,126 @@ var Character_animation = /*#__PURE__*/function () {
68
53
  });
69
54
  this.fsm.trans('idle');
70
55
  }
71
- _createClass(Character_animation, [{
72
- key: "handleAnimation",
73
- value: function handleAnimation() {
74
- var keys = this.input.keys;
56
+ handleAnimation() {
57
+ const {
58
+ keys
59
+ } = this.input;
75
60
 
76
- // used to have run left right
61
+ // used to have run left right
77
62
 
78
- if (this.preventAction) return;
79
- if (keys.leftClick || this.attackStack > 0) {
80
- this.handleLeftClick();
81
- } else if (keys.space) {
82
- this.fsm.trans('roll');
83
- } else if (keys.left) {
84
- // this.fsm.trans("leftRun");
85
- this.fsm.trans('running');
86
- } else if (keys.right) {
87
- // this.fsm.trans("rightRun");
88
- this.fsm.trans('running');
89
- } else if (keys.forward) {
90
- this.fsm.trans('running');
91
- } else if (keys.backward) {
92
- // this.fsm.trans("runningBack");
93
- this.fsm.trans('running');
94
- } else {
63
+ if (this.preventAction) return;
64
+ if (keys.leftClick || this.attackStack > 0) {
65
+ this.handleLeftClick();
66
+ } else if (keys.space) {
67
+ this.fsm.trans('roll');
68
+ } else if (keys.left) {
69
+ // this.fsm.trans("leftRun");
70
+ this.fsm.trans('running');
71
+ } else if (keys.right) {
72
+ // this.fsm.trans("rightRun");
73
+ this.fsm.trans('running');
74
+ } else if (keys.forward) {
75
+ this.fsm.trans('running');
76
+ } else if (keys.backward) {
77
+ // this.fsm.trans("runningBack");
78
+ this.fsm.trans('running');
79
+ } else {
80
+ this.fsm.trans('idle');
81
+ }
82
+ }
83
+ handleLeftClick() {
84
+ const {
85
+ stateKey
86
+ } = this.getAction();
87
+ this.attackStack += this.attackStack !== 3 ? 1 : 0;
88
+ if (stateKey === 'hit') this.fsm.punchSecond();else this.fsm.punch();
89
+ setTimeout(() => {
90
+ this.attackStack -= this.attackStack !== 0 ? 1 : 0;
91
+ }, 1000);
92
+ }
93
+ handleRoll() {
94
+ this.preventAction = true;
95
+ const {
96
+ stateAction,
97
+ prevStateAction
98
+ } = this.getAction();
99
+ if (stateAction) {
100
+ const mixer = stateAction.getMixer();
101
+ stateAction.reset();
102
+ stateAction.enabled = true;
103
+ stateAction.clampWhenFinished = true;
104
+ stateAction.loop = THREE.LoopOnce;
105
+ stateAction.crossFadeFrom(prevStateAction, 0.1, true);
106
+ const onComplete = () => {
107
+ this.preventAction = false;
108
+
109
+ // fix error when holding space
95
110
  this.fsm.trans('idle');
96
- }
111
+ mixer.removeEventListener('finished', onComplete);
112
+ };
113
+ mixer.addEventListener('finished', onComplete);
114
+ stateAction.play();
97
115
  }
98
- }, {
99
- key: "handleLeftClick",
100
- value: function handleLeftClick() {
101
- var _this2 = this;
102
- var _this$getAction = this.getAction(),
103
- stateKey = _this$getAction.stateKey;
104
- this.attackStack += this.attackStack !== 3 ? 1 : 0;
105
- if (stateKey === 'hit') this.fsm.punchSecond();else this.fsm.punch();
106
- setTimeout(function () {
107
- _this2.attackStack -= _this2.attackStack !== 0 ? 1 : 0;
108
- }, 1000);
116
+ }
117
+ handlePunch(state) {
118
+ this.preventAction = true;
119
+ const {
120
+ stateAction,
121
+ prevStateAction,
122
+ prevStateKey,
123
+ stateKey
124
+ } = this.getAction(state);
125
+ if (stateAction && prevStateAction) {
126
+ const mixer = stateAction.getMixer();
127
+ stateAction.reset();
128
+ stateAction.clampWhenFinished = true;
129
+ stateAction.loop = THREE.LoopOnce;
130
+ stateAction.crossFadeFrom(prevStateAction, 0.1, true);
131
+ const onComplete = () => {
132
+ this.preventAction = false;
133
+ this.attackStack -= this.attackStack !== 0 ? 1 : 0;
134
+ mixer.removeEventListener('finished', onComplete);
135
+ };
136
+ mixer.addEventListener('finished', onComplete);
137
+ stateAction.play();
109
138
  }
110
- }, {
111
- key: "handleRoll",
112
- value: function handleRoll() {
113
- var _this3 = this;
114
- this.preventAction = true;
115
- var _this$getAction2 = this.getAction(),
116
- stateAction = _this$getAction2.stateAction,
117
- prevStateAction = _this$getAction2.prevStateAction;
118
- if (stateAction) {
119
- var mixer = stateAction.getMixer();
120
- stateAction.reset();
139
+ }
140
+ handleTrans() {
141
+ const {
142
+ stateKey,
143
+ stateAction,
144
+ prevStateKey,
145
+ prevStateAction
146
+ } = this.getAction();
147
+ let crossNumber = 0.3;
148
+ if (prevStateKey === 'running' && prevStateAction) crossNumber = 0.2;
149
+ if (prevStateAction && stateAction) {
150
+ if (prevStateKey !== stateKey && !stateAction.isRunning()) {
151
+ stateAction.time = 0.0;
121
152
  stateAction.enabled = true;
122
- stateAction.clampWhenFinished = true;
123
- stateAction.loop = THREE.LoopOnce;
124
- stateAction.crossFadeFrom(prevStateAction, 0.1, true);
125
- var onComplete = function onComplete() {
126
- _this3.preventAction = false;
127
-
128
- // fix error when holding space
129
- _this3.fsm.trans('idle');
130
- mixer.removeEventListener('finished', onComplete);
131
- };
132
- mixer.addEventListener('finished', onComplete);
153
+ stateAction.setEffectiveTimeScale(1.0);
154
+ stateAction.setEffectiveWeight(1.0);
155
+ stateAction.crossFadeFrom(prevStateAction, crossNumber, true);
133
156
  stateAction.play();
134
157
  }
158
+ } else {
159
+ stateAction === null || stateAction === void 0 || stateAction.play();
135
160
  }
136
- }, {
137
- key: "handlePunch",
138
- value: function handlePunch(state) {
139
- var _this4 = this;
140
- this.preventAction = true;
141
- var _this$getAction3 = this.getAction(state),
142
- stateAction = _this$getAction3.stateAction,
143
- prevStateAction = _this$getAction3.prevStateAction,
144
- prevStateKey = _this$getAction3.prevStateKey,
145
- stateKey = _this$getAction3.stateKey;
146
- if (stateAction && prevStateAction) {
147
- var mixer = stateAction.getMixer();
148
- stateAction.reset();
149
- stateAction.clampWhenFinished = true;
150
- stateAction.loop = THREE.LoopOnce;
151
- stateAction.crossFadeFrom(prevStateAction, 0.1, true);
152
- var onComplete = function onComplete() {
153
- _this4.preventAction = false;
154
- _this4.attackStack -= _this4.attackStack !== 0 ? 1 : 0;
155
- mixer.removeEventListener('finished', onComplete);
156
- };
157
- mixer.addEventListener('finished', onComplete);
158
- stateAction.play();
159
- }
160
- }
161
- }, {
162
- key: "handleTrans",
163
- value: function handleTrans() {
164
- var _this$getAction4 = this.getAction(),
165
- stateKey = _this$getAction4.stateKey,
166
- stateAction = _this$getAction4.stateAction,
167
- prevStateKey = _this$getAction4.prevStateKey,
168
- prevStateAction = _this$getAction4.prevStateAction;
169
- var crossNumber = 0.3;
170
- if (prevStateKey === 'running' && prevStateAction) crossNumber = 0.2;
171
- if (prevStateAction && stateAction) {
172
- if (prevStateKey !== stateKey && !stateAction.isRunning()) {
173
- stateAction.time = 0.0;
174
- stateAction.enabled = true;
175
- stateAction.setEffectiveTimeScale(1.0);
176
- stateAction.setEffectiveWeight(1.0);
177
- stateAction.crossFadeFrom(prevStateAction, crossNumber, true);
178
- stateAction.play();
179
- }
180
- } else {
181
- stateAction === null || stateAction === void 0 || stateAction.play();
182
- }
183
- }
184
- }, {
185
- key: "getAction",
186
- value: function getAction(state) {
187
- var stateKey = state || this.fsm.state;
188
- var stateAction = this.animations[stateKey];
189
- var prevStateKey = this.fsm.history[this.fsm.history.length - MAX_FSM_HISTORY];
190
- var prevStateAction = this.animations[prevStateKey];
191
- return {
192
- stateKey: stateKey,
193
- stateAction: stateAction,
194
- prevStateKey: prevStateKey,
195
- prevStateAction: prevStateAction
196
- };
197
- }
198
- }, {
199
- key: "update",
200
- value: function update(deltaT) {
201
- this.handleAnimation();
202
- }
203
- }]);
204
- return Character_animation;
205
- }();
206
- export { Character_animation as default };
161
+ }
162
+ getAction(state) {
163
+ const stateKey = state || this.fsm.state;
164
+ const stateAction = this.animations[stateKey];
165
+ const prevStateKey = this.fsm.history[this.fsm.history.length - MAX_FSM_HISTORY];
166
+ const prevStateAction = this.animations[prevStateKey];
167
+ return {
168
+ stateKey,
169
+ stateAction,
170
+ prevStateKey,
171
+ prevStateAction
172
+ };
173
+ }
174
+ update(deltaT) {
175
+ this.handleAnimation();
176
+ }
177
+ }
207
178
  //# sourceMappingURL=animation.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["StateMachine","StateMachineHistory","THREE","MAX_FSM_HISTORY","Character_animation","_ref","_this","animations","input","_classCallCheck","_defineProperty","fsm","init","transitions","name","from","to","s","methods","onPunch","handlePunch","onPunchSecond","onTrans","handleTrans","onRoll","handleRoll","plugins","max","trans","_createClass","key","value","handleAnimation","keys","preventAction","leftClick","attackStack","handleLeftClick","space","left","right","forward","backward","_this2","_this$getAction","getAction","stateKey","punchSecond","punch","setTimeout","_this3","_this$getAction2","stateAction","prevStateAction","mixer","getMixer","reset","enabled","clampWhenFinished","loop","LoopOnce","crossFadeFrom","onComplete","removeEventListener","addEventListener","play","state","_this4","_this$getAction3","prevStateKey","_this$getAction4","crossNumber","isRunning","time","setEffectiveTimeScale","setEffectiveWeight","history","length","update","deltaT","default"],"sources":["../../../../../src/core/Controls/ThirdViewControl/player/animation.ts"],"sourcesContent":["import StateMachine from 'javascript-state-machine'\n\n// @ts-ignore\nimport StateMachineHistory from 'javascript-state-machine/lib/history'\nimport * as THREE from '@anov/3d-core'\nimport type { AnimationAction } from '@anov/3d-core'\nimport type BasicCharacterControllerInput from '../action/input'\nimport type { CharacterAnimationType } from '../type'\n\ninterface PropsType {\n animations: CharacterAnimationType\n input: BasicCharacterControllerInput\n}\n\nconst MAX_FSM_HISTORY = 2\n\nexport default class Character_animation {\n animations: CharacterAnimationType\n input: BasicCharacterControllerInput\n preventAction = false\n fsm: any\n attackStack = 0\n\n constructor({ animations, input }: PropsType) {\n this.input = input\n this.animations = animations\n\n // @ts-ignore\n this.fsm = new StateMachine({\n init: 'idle',\n transitions: [\n { name: 'punch', from: '*', to: 'hit' },\n { name: 'punchSecond', from: '*', to: 'hitSecond' },\n { name: 'roll', from: '*', to: 'roll' },\n { name: 'trans', from: '*', to: (s: string) => s },\n ],\n methods: {\n onPunch: () => this.handlePunch('hit'),\n onPunchSecond: () => this.handlePunch('hitSecond'),\n onTrans: () => this.handleTrans(),\n onRoll: () => this.handleRoll(),\n },\n // @ts-ignore\n plugins: [new StateMachineHistory({ max: MAX_FSM_HISTORY })],\n })\n\n this.fsm.trans('idle')\n }\n\n handleAnimation() {\n const { keys } = this.input\n\n // used to have run left right\n\n if (this.preventAction)\n return\n if (keys.leftClick || this.attackStack > 0) {\n this.handleLeftClick()\n }\n else if (keys.space) {\n this.fsm.trans('roll')\n }\n else if (keys.left) {\n // this.fsm.trans(\"leftRun\");\n this.fsm.trans('running')\n }\n else if (keys.right) {\n // this.fsm.trans(\"rightRun\");\n this.fsm.trans('running')\n }\n else if (keys.forward) {\n this.fsm.trans('running')\n }\n else if (keys.backward) {\n // this.fsm.trans(\"runningBack\");\n this.fsm.trans('running')\n }\n else {\n this.fsm.trans('idle')\n }\n }\n\n handleLeftClick() {\n const { stateKey } = this.getAction()\n this.attackStack += this.attackStack !== 3 ? 1 : 0\n\n if (stateKey === 'hit')\n this.fsm.punchSecond()\n else this.fsm.punch()\n\n setTimeout(() => {\n this.attackStack -= this.attackStack !== 0 ? 1 : 0\n }, 1000)\n }\n\n handleRoll() {\n this.preventAction = true\n const { stateAction, prevStateAction } = this.getAction()\n\n if (stateAction) {\n const mixer = stateAction.getMixer()\n\n stateAction.reset()\n stateAction.enabled = true\n stateAction.clampWhenFinished = true\n stateAction.loop = THREE.LoopOnce\n\n stateAction.crossFadeFrom(prevStateAction as AnimationAction, 0.1, true)\n\n const onComplete = () => {\n this.preventAction = false\n\n // fix error when holding space\n this.fsm.trans('idle')\n\n mixer.removeEventListener('finished', onComplete)\n }\n\n mixer.addEventListener('finished', onComplete)\n\n stateAction.play()\n }\n }\n\n handlePunch(state: 'hit' | 'hitSecond') {\n this.preventAction = true\n const { stateAction, prevStateAction, prevStateKey, stateKey }\n = this.getAction(state)\n\n if (stateAction && prevStateAction) {\n const mixer = stateAction.getMixer()\n\n stateAction.reset()\n stateAction.clampWhenFinished = true\n stateAction.loop = THREE.LoopOnce\n\n stateAction.crossFadeFrom(prevStateAction as AnimationAction, 0.1, true)\n\n const onComplete = () => {\n this.preventAction = false\n\n this.attackStack -= this.attackStack !== 0 ? 1 : 0\n mixer.removeEventListener('finished', onComplete)\n }\n\n mixer.addEventListener('finished', onComplete)\n\n stateAction.play()\n }\n }\n\n handleTrans() {\n const { stateKey, stateAction, prevStateKey, prevStateAction }\n = this.getAction()\n\n let crossNumber = 0.3\n\n if (prevStateKey === 'running' && prevStateAction)\n crossNumber = 0.2\n\n if (prevStateAction && stateAction) {\n if (prevStateKey !== stateKey && !stateAction.isRunning()) {\n stateAction.time = 0.0\n stateAction.enabled = true\n stateAction.setEffectiveTimeScale(1.0)\n stateAction.setEffectiveWeight(1.0)\n\n stateAction.crossFadeFrom(\n prevStateAction as AnimationAction,\n crossNumber,\n true,\n )\n stateAction.play()\n }\n }\n else {\n stateAction?.play()\n }\n }\n\n getAction(state?: keyof typeof this.animations) {\n const stateKey: keyof typeof this.animations = state || this.fsm.state\n const stateAction = this.animations[stateKey]\n\n const prevStateKey: keyof typeof this.animations\n = this.fsm.history[this.fsm.history.length - MAX_FSM_HISTORY]\n const prevStateAction = this.animations[prevStateKey]\n\n return {\n stateKey,\n stateAction,\n prevStateKey,\n prevStateAction,\n }\n }\n\n update(deltaT: number) {\n this.handleAnimation()\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["StateMachine","StateMachineHistory","THREE","MAX_FSM_HISTORY","Character_animation","constructor","animations","input","_defineProperty","fsm","init","transitions","name","from","to","s","methods","onPunch","handlePunch","onPunchSecond","onTrans","handleTrans","onRoll","handleRoll","plugins","max","trans","handleAnimation","keys","preventAction","leftClick","attackStack","handleLeftClick","space","left","right","forward","backward","stateKey","getAction","punchSecond","punch","setTimeout","stateAction","prevStateAction","mixer","getMixer","reset","enabled","clampWhenFinished","loop","LoopOnce","crossFadeFrom","onComplete","removeEventListener","addEventListener","play","state","prevStateKey","crossNumber","isRunning","time","setEffectiveTimeScale","setEffectiveWeight","history","length","update","deltaT"],"sources":["../../../../../src/core/Controls/ThirdViewControl/player/animation.ts"],"sourcesContent":["import StateMachine from 'javascript-state-machine'\n\n// @ts-ignore\nimport StateMachineHistory from 'javascript-state-machine/lib/history'\nimport * as THREE from '@anov/3d-core'\nimport type { AnimationAction } from '@anov/3d-core'\nimport type BasicCharacterControllerInput from '../action/input'\nimport type { CharacterAnimationType } from '../type'\n\ninterface PropsType {\n animations: CharacterAnimationType\n input: BasicCharacterControllerInput\n}\n\nconst MAX_FSM_HISTORY = 2\n\nexport default class Character_animation {\n animations: CharacterAnimationType\n input: BasicCharacterControllerInput\n preventAction = false\n fsm: any\n attackStack = 0\n\n constructor({ animations, input }: PropsType) {\n this.input = input\n this.animations = animations\n\n // @ts-ignore\n this.fsm = new StateMachine({\n init: 'idle',\n transitions: [\n { name: 'punch', from: '*', to: 'hit' },\n { name: 'punchSecond', from: '*', to: 'hitSecond' },\n { name: 'roll', from: '*', to: 'roll' },\n { name: 'trans', from: '*', to: (s: string) => s },\n ],\n methods: {\n onPunch: () => this.handlePunch('hit'),\n onPunchSecond: () => this.handlePunch('hitSecond'),\n onTrans: () => this.handleTrans(),\n onRoll: () => this.handleRoll(),\n },\n // @ts-ignore\n plugins: [new StateMachineHistory({ max: MAX_FSM_HISTORY })],\n })\n\n this.fsm.trans('idle')\n }\n\n handleAnimation() {\n const { keys } = this.input\n\n // used to have run left right\n\n if (this.preventAction)\n return\n if (keys.leftClick || this.attackStack > 0) {\n this.handleLeftClick()\n }\n else if (keys.space) {\n this.fsm.trans('roll')\n }\n else if (keys.left) {\n // this.fsm.trans(\"leftRun\");\n this.fsm.trans('running')\n }\n else if (keys.right) {\n // this.fsm.trans(\"rightRun\");\n this.fsm.trans('running')\n }\n else if (keys.forward) {\n this.fsm.trans('running')\n }\n else if (keys.backward) {\n // this.fsm.trans(\"runningBack\");\n this.fsm.trans('running')\n }\n else {\n this.fsm.trans('idle')\n }\n }\n\n handleLeftClick() {\n const { stateKey } = this.getAction()\n this.attackStack += this.attackStack !== 3 ? 1 : 0\n\n if (stateKey === 'hit')\n this.fsm.punchSecond()\n else this.fsm.punch()\n\n setTimeout(() => {\n this.attackStack -= this.attackStack !== 0 ? 1 : 0\n }, 1000)\n }\n\n handleRoll() {\n this.preventAction = true\n const { stateAction, prevStateAction } = this.getAction()\n\n if (stateAction) {\n const mixer = stateAction.getMixer()\n\n stateAction.reset()\n stateAction.enabled = true\n stateAction.clampWhenFinished = true\n stateAction.loop = THREE.LoopOnce\n\n stateAction.crossFadeFrom(prevStateAction as AnimationAction, 0.1, true)\n\n const onComplete = () => {\n this.preventAction = false\n\n // fix error when holding space\n this.fsm.trans('idle')\n\n mixer.removeEventListener('finished', onComplete)\n }\n\n mixer.addEventListener('finished', onComplete)\n\n stateAction.play()\n }\n }\n\n handlePunch(state: 'hit' | 'hitSecond') {\n this.preventAction = true\n const { stateAction, prevStateAction, prevStateKey, stateKey }\n = this.getAction(state)\n\n if (stateAction && prevStateAction) {\n const mixer = stateAction.getMixer()\n\n stateAction.reset()\n stateAction.clampWhenFinished = true\n stateAction.loop = THREE.LoopOnce\n\n stateAction.crossFadeFrom(prevStateAction as AnimationAction, 0.1, true)\n\n const onComplete = () => {\n this.preventAction = false\n\n this.attackStack -= this.attackStack !== 0 ? 1 : 0\n mixer.removeEventListener('finished', onComplete)\n }\n\n mixer.addEventListener('finished', onComplete)\n\n stateAction.play()\n }\n }\n\n handleTrans() {\n const { stateKey, stateAction, prevStateKey, prevStateAction }\n = this.getAction()\n\n let crossNumber = 0.3\n\n if (prevStateKey === 'running' && prevStateAction)\n crossNumber = 0.2\n\n if (prevStateAction && stateAction) {\n if (prevStateKey !== stateKey && !stateAction.isRunning()) {\n stateAction.time = 0.0\n stateAction.enabled = true\n stateAction.setEffectiveTimeScale(1.0)\n stateAction.setEffectiveWeight(1.0)\n\n stateAction.crossFadeFrom(\n prevStateAction as AnimationAction,\n crossNumber,\n true,\n )\n stateAction.play()\n }\n }\n else {\n stateAction?.play()\n }\n }\n\n getAction(state?: keyof typeof this.animations) {\n const stateKey: keyof typeof this.animations = state || this.fsm.state\n const stateAction = this.animations[stateKey]\n\n const prevStateKey: keyof typeof this.animations\n = this.fsm.history[this.fsm.history.length - MAX_FSM_HISTORY]\n const prevStateAction = this.animations[prevStateKey]\n\n return {\n stateKey,\n stateAction,\n prevStateKey,\n prevStateAction,\n }\n }\n\n update(deltaT: number) {\n this.handleAnimation()\n }\n}\n"],"mappings":"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"}
@@ -1,18 +1,14 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
4
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
5
1
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
4
  import { BoxGeometry, Mesh, Vector3, use } from '@anov/3d-core';
9
- var Camera_movement = /*#__PURE__*/function () {
10
- function Camera_movement(_ref) {
11
- var character = _ref.character,
12
- camera = _ref.camera,
13
- characterRotateBox = _ref.characterRotateBox,
14
- player = _ref.player;
15
- _classCallCheck(this, Camera_movement);
5
+ export default class Camera_movement {
6
+ constructor({
7
+ character,
8
+ camera,
9
+ characterRotateBox,
10
+ player
11
+ }) {
16
12
  _defineProperty(this, "camera", void 0);
17
13
  _defineProperty(this, "character", void 0);
18
14
  _defineProperty(this, "currentPosition", void 0);
@@ -28,59 +24,47 @@ var Camera_movement = /*#__PURE__*/function () {
28
24
  this.currentPosition = new Vector3();
29
25
  this.currentLookat = new Vector3();
30
26
  this.control = use.useScene().orbitControls;
31
- var view = new Mesh(new BoxGeometry(1, 1, 1));
27
+ const view = new Mesh(new BoxGeometry(1, 1, 1));
32
28
  this.character.add(view);
33
29
  view.position.add(new Vector3(0, 5, -15));
34
30
  this.view = view;
35
31
  }
36
- _createClass(Camera_movement, [{
37
- key: "calculateIdealLookat",
38
- value: function calculateIdealLookat() {
39
- var _this$character$posit = this.character.position,
40
- x = _this$character$posit.x,
41
- y = _this$character$posit.y,
42
- z = _this$character$posit.z;
43
- var idealLookat = new Vector3(x, this.character.position.y + 3.4, z);
44
- return idealLookat;
45
- }
46
- }, {
47
- key: "updateCharacter",
48
- value: function updateCharacter() {
49
- var cameraPosition = new Vector3();
50
- this.camera.getWorldPosition(cameraPosition);
51
- var characterPosition = new Vector3();
52
- this.character.getWorldPosition(characterPosition);
53
- var direction = new Vector3();
54
- direction.subVectors(cameraPosition, characterPosition);
55
- direction.y = 0;
56
- var angle = Math.atan2(direction.x, direction.z);
57
- this.character.rotation.y = angle + Math.PI;
58
- this.characterRotateBox.rotation.y = angle + Math.PI;
59
- }
60
- }, {
61
- key: "updateCamera",
62
- value: function updateCamera() {
63
- var position = new Vector3();
64
- this.view.getWorldPosition(position);
65
- var idealLookat = this.calculateIdealLookat();
66
- this.control.target = idealLookat;
67
- this.control.object.position.copy(position);
68
- }
69
- }, {
70
- key: "updateNewPosition",
71
- value: function updateNewPosition() {
72
- if (this.view && this.view.position) {
73
- this.updateCharacter();
74
- this.updateCamera();
75
- }
76
- }
77
- }, {
78
- key: "update",
79
- value: function update(deltaT) {
80
- this.updateNewPosition();
32
+ calculateIdealLookat() {
33
+ const {
34
+ x,
35
+ y,
36
+ z
37
+ } = this.character.position;
38
+ const idealLookat = new Vector3(x, this.character.position.y + 3.4, z);
39
+ return idealLookat;
40
+ }
41
+ updateCharacter() {
42
+ const cameraPosition = new Vector3();
43
+ this.camera.getWorldPosition(cameraPosition);
44
+ const characterPosition = new Vector3();
45
+ this.character.getWorldPosition(characterPosition);
46
+ const direction = new Vector3();
47
+ direction.subVectors(cameraPosition, characterPosition);
48
+ direction.y = 0;
49
+ const angle = Math.atan2(direction.x, direction.z);
50
+ this.character.rotation.y = angle + Math.PI;
51
+ this.characterRotateBox.rotation.y = angle + Math.PI;
52
+ }
53
+ updateCamera() {
54
+ const position = new Vector3();
55
+ this.view.getWorldPosition(position);
56
+ const idealLookat = this.calculateIdealLookat();
57
+ this.control.target = idealLookat;
58
+ this.control.object.position.copy(position);
59
+ }
60
+ updateNewPosition() {
61
+ if (this.view && this.view.position) {
62
+ this.updateCharacter();
63
+ this.updateCamera();
81
64
  }
82
- }]);
83
- return Camera_movement;
84
- }();
85
- export { Camera_movement as default };
65
+ }
66
+ update(deltaT) {
67
+ this.updateNewPosition();
68
+ }
69
+ }
86
70
  //# sourceMappingURL=camera.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BoxGeometry","Mesh","Vector3","use","Camera_movement","_ref","character","camera","characterRotateBox","player","_classCallCheck","_defineProperty","currentPosition","currentLookat","control","useScene","orbitControls","view","add","position","_createClass","key","value","calculateIdealLookat","_this$character$posit","x","y","z","idealLookat","updateCharacter","cameraPosition","getWorldPosition","characterPosition","direction","subVectors","angle","Math","atan2","rotation","PI","updateCamera","target","object","copy","updateNewPosition","update","deltaT","default"],"sources":["../../../../../src/core/Controls/ThirdViewControl/player/camera.ts"],"sourcesContent":["import { BoxGeometry, Mesh, Vector3, use } from '@anov/3d-core'\nimport type { Object3D, Object3DEventMap, OrbitControls, PerspectiveCamera } from '@anov/3d-core'\nimport type Player from '../player'\n\ninterface PropsType {\n character: Object3D\n characterRotateBox: Object3D\n camera: PerspectiveCamera\n player: Player\n}\n\nexport default class Camera_movement {\n camera: PerspectiveCamera\n character: Object3D\n currentPosition: Vector3\n currentLookat: Vector3\n characterRotateBox: Object3D\n control: any\n player: Player\n view: Mesh\n\n constructor({ character, camera, characterRotateBox, player }: PropsType) {\n this.character = character\n this.characterRotateBox = characterRotateBox\n this.camera = camera\n this.player = player\n\n this.currentPosition = new Vector3()\n this.currentLookat = new Vector3()\n this.control = use.useScene().orbitControls\n\n const view = new Mesh(new BoxGeometry(1, 1, 1))\n this.character.add(view)\n\n view.position.add(new Vector3(0, 5, -15))\n\n this.view = view\n }\n\n private calculateIdealLookat() {\n const { x, y, z } = this.character.position\n const idealLookat = new Vector3(x, this.character.position.y + 3.4, z)\n\n return idealLookat\n }\n\n private updateCharacter() {\n const cameraPosition = new Vector3()\n this.camera.getWorldPosition(cameraPosition)\n\n const characterPosition = new Vector3()\n this.character.getWorldPosition(characterPosition)\n\n const direction = new Vector3()\n direction.subVectors(cameraPosition, characterPosition)\n direction.y = 0\n\n const angle = Math.atan2(direction.x, direction.z)\n\n this.character.rotation.y = angle + Math.PI\n this.characterRotateBox.rotation.y = angle + Math.PI\n }\n\n private updateCamera() {\n const position = new Vector3()\n this.view.getWorldPosition(position)\n\n const idealLookat = this.calculateIdealLookat()\n this.control.target = idealLookat;\n (this.control as OrbitControls).object.position.copy(position)\n }\n\n private updateNewPosition() {\n if (this.view && this.view.position) {\n this.updateCharacter()\n this.updateCamera()\n }\n }\n\n update(deltaT: number) {\n this.updateNewPosition()\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["BoxGeometry","Mesh","Vector3","use","Camera_movement","constructor","character","camera","characterRotateBox","player","_defineProperty","currentPosition","currentLookat","control","useScene","orbitControls","view","add","position","calculateIdealLookat","x","y","z","idealLookat","updateCharacter","cameraPosition","getWorldPosition","characterPosition","direction","subVectors","angle","Math","atan2","rotation","PI","updateCamera","target","object","copy","updateNewPosition","update","deltaT"],"sources":["../../../../../src/core/Controls/ThirdViewControl/player/camera.ts"],"sourcesContent":["import { BoxGeometry, Mesh, Vector3, use } from '@anov/3d-core'\nimport type { Object3D, Object3DEventMap, OrbitControls, PerspectiveCamera } from '@anov/3d-core'\nimport type Player from '../player'\n\ninterface PropsType {\n character: Object3D\n characterRotateBox: Object3D\n camera: PerspectiveCamera\n player: Player\n}\n\nexport default class Camera_movement {\n camera: PerspectiveCamera\n character: Object3D\n currentPosition: Vector3\n currentLookat: Vector3\n characterRotateBox: Object3D\n control: any\n player: Player\n view: Mesh\n\n constructor({ character, camera, characterRotateBox, player }: PropsType) {\n this.character = character\n this.characterRotateBox = characterRotateBox\n this.camera = camera\n this.player = player\n\n this.currentPosition = new Vector3()\n this.currentLookat = new Vector3()\n this.control = use.useScene().orbitControls\n\n const view = new Mesh(new BoxGeometry(1, 1, 1))\n this.character.add(view)\n\n view.position.add(new Vector3(0, 5, -15))\n\n this.view = view\n }\n\n private calculateIdealLookat() {\n const { x, y, z } = this.character.position\n const idealLookat = new Vector3(x, this.character.position.y + 3.4, z)\n\n return idealLookat\n }\n\n private updateCharacter() {\n const cameraPosition = new Vector3()\n this.camera.getWorldPosition(cameraPosition)\n\n const characterPosition = new Vector3()\n this.character.getWorldPosition(characterPosition)\n\n const direction = new Vector3()\n direction.subVectors(cameraPosition, characterPosition)\n direction.y = 0\n\n const angle = Math.atan2(direction.x, direction.z)\n\n this.character.rotation.y = angle + Math.PI\n this.characterRotateBox.rotation.y = angle + Math.PI\n }\n\n private updateCamera() {\n const position = new Vector3()\n this.view.getWorldPosition(position)\n\n const idealLookat = this.calculateIdealLookat()\n this.control.target = idealLookat;\n (this.control as OrbitControls).object.position.copy(position)\n }\n\n private updateNewPosition() {\n if (this.view && this.view.position) {\n this.updateCharacter()\n this.updateCamera()\n }\n }\n\n update(deltaT: number) {\n this.updateNewPosition()\n }\n}\n"],"mappings":"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"}