@anov/3d 0.0.177 → 0.0.184

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 (135) hide show
  1. package/dist/anov3d.js +0 -2
  2. package/dist/anov3d.js.map +1 -1
  3. package/dist/applicationApi.js +38 -39
  4. package/dist/applicationApi.js.map +1 -1
  5. package/dist/module/camera/index.js +20 -17
  6. package/dist/module/camera/index.js.map +1 -1
  7. package/dist/module/entity/area/index.js +29 -0
  8. package/dist/module/entity/area/index.js.map +1 -0
  9. package/dist/module/{model/index.js → entity/area/style/area_01.js} +40 -79
  10. package/dist/module/entity/area/style/area_01.js.map +1 -0
  11. package/dist/module/entity/area/style/index.js +27 -0
  12. package/dist/module/entity/area/style/index.js.map +1 -0
  13. package/dist/module/entity/area/type.js.map +1 -0
  14. package/dist/module/entity/bar/index.js +29 -0
  15. package/dist/module/entity/bar/index.js.map +1 -0
  16. package/dist/{factory/unit/poi.js → module/entity/bar/style/bar_01.js} +36 -249
  17. package/dist/module/entity/bar/style/bar_01.js.map +1 -0
  18. package/dist/module/entity/bar/style/index.js +27 -0
  19. package/dist/module/entity/bar/style/index.js.map +1 -0
  20. package/dist/module/entity/bar/type.js +2 -0
  21. package/dist/module/entity/bar/type.js.map +1 -0
  22. package/dist/module/entity/index.js +5 -12
  23. package/dist/module/entity/index.js.map +1 -1
  24. package/dist/module/entity/model/index.js +9 -6
  25. package/dist/module/entity/model/index.js.map +1 -1
  26. package/dist/module/entity/model/load/loadFbx.js.map +1 -1
  27. package/dist/module/entity/model/load/loadGlb.js +7 -4
  28. package/dist/module/entity/model/load/loadGlb.js.map +1 -1
  29. package/dist/module/entity/poi/style/base.js.map +1 -1
  30. package/dist/module/entity/poi/type.js.map +1 -1
  31. package/dist/{factory/unit/districtLine.js → module/entity/realismTraffic/index.js} +91 -109
  32. package/dist/module/entity/realismTraffic/index.js.map +1 -0
  33. package/dist/module/entity/spline/style/index.js.map +1 -1
  34. package/dist/module/entity/spline/style/line_01.js +2 -2
  35. package/dist/module/entity/spline/style/line_01.js.map +1 -1
  36. package/dist/module/entity/spline/style/line_texture_01.js +6 -6
  37. package/dist/module/entity/spline/style/line_texture_01.js.map +1 -1
  38. package/dist/module/entity/spline/type.js.map +1 -1
  39. package/dist/module/entity/strategy.js +22 -0
  40. package/dist/module/entity/strategy.js.map +1 -1
  41. package/dist/module/entity/utils.js +17 -0
  42. package/dist/module/entity/utils.js.map +1 -1
  43. package/dist/module/environment/index.js +35 -113
  44. package/dist/module/environment/index.js.map +1 -1
  45. package/dist/module/scene/fileParse.js +232 -132
  46. package/dist/module/scene/fileParse.js.map +1 -1
  47. package/dist/module/scene/index.js +84 -137
  48. package/dist/module/scene/index.js.map +1 -1
  49. package/dist/{factory/globalControl.js → module/tool/index.js} +8 -16
  50. package/dist/module/tool/index.js.map +1 -0
  51. package/dist/sdkEntry.js +4 -9
  52. package/dist/sdkEntry.js.map +1 -1
  53. package/package.json +3 -3
  54. package/dist/factory/3d.js +0 -535
  55. package/dist/factory/3d.js.map +0 -1
  56. package/dist/factory/globalControl.js.map +0 -1
  57. package/dist/factory/globalData.js +0 -2
  58. package/dist/factory/globalData.js.map +0 -1
  59. package/dist/factory/regionData.js +0 -499
  60. package/dist/factory/regionData.js.map +0 -1
  61. package/dist/factory/type.js.map +0 -1
  62. package/dist/factory/unit/CameraPoi.js +0 -1047
  63. package/dist/factory/unit/CameraPoi.js.map +0 -1
  64. package/dist/factory/unit/areaBoundingBox.js +0 -28
  65. package/dist/factory/unit/areaBoundingBox.js.map +0 -1
  66. package/dist/factory/unit/circle.js +0 -225
  67. package/dist/factory/unit/circle.js.map +0 -1
  68. package/dist/factory/unit/cylinder.js +0 -269
  69. package/dist/factory/unit/cylinder.js.map +0 -1
  70. package/dist/factory/unit/districtLine.js.map +0 -1
  71. package/dist/factory/unit/glsl/heat/frag.glsl +0 -37
  72. package/dist/factory/unit/glsl/heat/frag.js +0 -4
  73. package/dist/factory/unit/glsl/heat/frag.js.map +0 -1
  74. package/dist/factory/unit/glsl/heat/ver.glsl +0 -15
  75. package/dist/factory/unit/glsl/heat/ver.js +0 -4
  76. package/dist/factory/unit/glsl/heat/ver.js.map +0 -1
  77. package/dist/factory/unit/glsl/highway/fragmentShader.js +0 -4
  78. package/dist/factory/unit/glsl/highway/fragmentShader.js.map +0 -1
  79. package/dist/factory/unit/glsl/highway/fragmentShader2.js +0 -4
  80. package/dist/factory/unit/glsl/highway/fragmentShader2.js.map +0 -1
  81. package/dist/factory/unit/glsl/highway/vertexShader.js +0 -4
  82. package/dist/factory/unit/glsl/highway/vertexShader.js.map +0 -1
  83. package/dist/factory/unit/glsl/point/fragment.glsl +0 -12
  84. package/dist/factory/unit/glsl/point/vertex.glsl +0 -7
  85. package/dist/factory/unit/glsl/wall/fragmentShader.glsl +0 -30
  86. package/dist/factory/unit/glsl/wall/vertexShader.glsl +0 -6
  87. package/dist/factory/unit/handle.js +0 -132
  88. package/dist/factory/unit/handle.js.map +0 -1
  89. package/dist/factory/unit/index.js +0 -264
  90. package/dist/factory/unit/index.js.map +0 -1
  91. package/dist/factory/unit/inspection/InspectionObject.js +0 -608
  92. package/dist/factory/unit/inspection/InspectionObject.js.map +0 -1
  93. package/dist/factory/unit/inspection/defaultFirstPerspectiveControls.js +0 -382
  94. package/dist/factory/unit/inspection/defaultFirstPerspectiveControls.js.map +0 -1
  95. package/dist/factory/unit/inspection/index.js +0 -379
  96. package/dist/factory/unit/inspection/index.js.map +0 -1
  97. package/dist/factory/unit/inspection/lineData.js +0 -44
  98. package/dist/factory/unit/inspection/lineData.js.map +0 -1
  99. package/dist/factory/unit/inspection/map.js +0 -67
  100. package/dist/factory/unit/inspection/map.js.map +0 -1
  101. package/dist/factory/unit/inspection/tubeGeometry.js +0 -152
  102. package/dist/factory/unit/inspection/tubeGeometry.js.map +0 -1
  103. package/dist/factory/unit/layer/rise.js +0 -142
  104. package/dist/factory/unit/layer/rise.js.map +0 -1
  105. package/dist/factory/unit/line.js +0 -96
  106. package/dist/factory/unit/line.js.map +0 -1
  107. package/dist/factory/unit/poi.js.map +0 -1
  108. package/dist/factory/unit/region.js +0 -72
  109. package/dist/factory/unit/region.js.map +0 -1
  110. package/dist/factory/unit/slice.js +0 -122
  111. package/dist/factory/unit/slice.js.map +0 -1
  112. package/dist/factory/unit/wall.js +0 -119
  113. package/dist/factory/unit/wall.js.map +0 -1
  114. package/dist/factory/utils/areaBoundingBox.js +0 -54
  115. package/dist/factory/utils/areaBoundingBox.js.map +0 -1
  116. package/dist/factory/utils/constant.js +0 -15
  117. package/dist/factory/utils/constant.js.map +0 -1
  118. package/dist/factory/utils/finirMaterial.js +0 -56
  119. package/dist/factory/utils/finirMaterial.js.map +0 -1
  120. package/dist/factory/utils/fontMesh.js +0 -49
  121. package/dist/factory/utils/fontMesh.js.map +0 -1
  122. package/dist/factory/utils/ground.js +0 -65
  123. package/dist/factory/utils/ground.js.map +0 -1
  124. package/dist/factory/utils/index.js +0 -24
  125. package/dist/factory/utils/index.js.map +0 -1
  126. package/dist/factory/utils/observe.js +0 -23
  127. package/dist/factory/utils/observe.js.map +0 -1
  128. package/dist/factory/utils/switchMaterial.js +0 -110
  129. package/dist/factory/utils/switchMaterial.js.map +0 -1
  130. package/dist/module/environment/time/index.js +0 -28
  131. package/dist/module/environment/time/index.js.map +0 -1
  132. package/dist/module/environment/weather/type.js +0 -28
  133. package/dist/module/environment/weather/type.js.map +0 -1
  134. package/dist/module/model/index.js.map +0 -1
  135. /package/dist/{factory → module/entity/area}/type.js +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["Vector3","debounce","fn","delay","arguments","length","undefined","timer","_this","_len","args","Array","_key","clearTimeout","setTimeout","apply","lookAtOnYAxis","mesh","targetPosition","direction","subVectors","position","y","normalize","rotationY","Math","atan2","z","x","PI","rotation"],"sources":["../../../src/factory/utils/index.ts"],"sourcesContent":["import { Vector3 } from '@anov/3d-core'\n\nexport const debounce = (fn: Function, delay = 20) => {\n let timer: number\n\n return function (this: any, ...args: any[]) {\n clearTimeout(timer)\n\n timer = setTimeout(() => {\n fn.apply(this, args)\n }, delay) as unknown as number\n }\n}\n\nexport const lookAtOnYAxis = (mesh, targetPosition) => {\n const direction = new Vector3().subVectors(targetPosition, mesh.position)\n direction.y = 0\n direction.normalize()\n\n let rotationY = Math.atan2(-direction.z, direction.x)\n\n rotationY -= Math.PI / 2\n\n mesh.rotation.y = rotationY + Math.PI\n}"],"mappings":"AAAA,SAASA,OAAO,QAAQ,eAAe;AAEvC,OAAO,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,EAAY,EAAiB;EAAA,IAAfC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAC/C,IAAIG,KAAa;EAEjB,OAAO,YAAqC;IAAA,IAAAC,KAAA;IAAA,SAAAC,IAAA,GAAAL,SAAA,CAAAC,MAAA,EAAbK,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAJF,IAAI,CAAAE,IAAA,IAAAR,SAAA,CAAAQ,IAAA;IAAA;IACjCC,YAAY,CAACN,KAAK,CAAC;IAEnBA,KAAK,GAAGO,UAAU,CAAC,YAAM;MACvBZ,EAAE,CAACa,KAAK,CAACP,KAAI,EAAEE,IAAI,CAAC;IACtB,CAAC,EAAEP,KAAK,CAAsB;EAChC,CAAC;AACH,CAAC;AAED,OAAO,IAAMa,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,IAAI,EAAEC,cAAc,EAAK;EACrD,IAAMC,SAAS,GAAG,IAAInB,OAAO,CAAC,CAAC,CAACoB,UAAU,CAACF,cAAc,EAAED,IAAI,CAACI,QAAQ,CAAC;EACzEF,SAAS,CAACG,CAAC,GAAG,CAAC;EACfH,SAAS,CAACI,SAAS,CAAC,CAAC;EAErB,IAAIC,SAAS,GAAGC,IAAI,CAACC,KAAK,CAAC,CAACP,SAAS,CAACQ,CAAC,EAAER,SAAS,CAACS,CAAC,CAAC;EAErDJ,SAAS,IAAIC,IAAI,CAACI,EAAE,GAAG,CAAC;EAExBZ,IAAI,CAACa,QAAQ,CAACR,CAAC,GAAGE,SAAS,GAAGC,IAAI,CAACI,EAAE;AACvC,CAAC"}
@@ -1,23 +0,0 @@
1
- import ResizeObserver from 'resize-observer-polyfill';
2
- var elementListeners = new Map();
3
- function onResize(entities) {
4
- entities.forEach(function (entity) {
5
- var _elementListeners$get;
6
- var target = entity.target;
7
- (_elementListeners$get = elementListeners.get(target)) === null || _elementListeners$get === void 0 || _elementListeners$get.forEach(function (listener) {
8
- return listener(target);
9
- });
10
- });
11
- }
12
- var resizeObserver = new ResizeObserver(onResize);
13
- export function observe(element, callback) {
14
- if (!elementListeners.has(element)) {
15
- elementListeners.set(element, new Set());
16
- resizeObserver.observe(element);
17
- }
18
- elementListeners.get(element).add(callback);
19
- }
20
- export function unobserve(element, callback) {
21
- if (elementListeners.has(element)) elementListeners.get(element).delete(callback);
22
- }
23
- //# sourceMappingURL=observe.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["ResizeObserver","elementListeners","Map","onResize","entities","forEach","entity","_elementListeners$get","target","get","listener","resizeObserver","observe","element","callback","has","set","Set","add","unobserve","delete"],"sources":["../../../src/factory/utils/observe.ts"],"sourcesContent":["import ResizeObserver from 'resize-observer-polyfill'\n\nexport type ResizeListener = (element: Element) => void\n\nconst elementListeners = new Map<Element, Set<ResizeListener>>()\n\nfunction onResize(entities: ResizeObserverEntry[]) {\n entities.forEach((entity) => {\n const { target } = entity\n elementListeners.get(target)?.forEach(listener => listener(target))\n })\n}\n\nconst resizeObserver = new ResizeObserver(onResize)\n\nexport function observe(element: Element, callback: ResizeListener) {\n if (!elementListeners.has(element)) {\n elementListeners.set(element, new Set())\n resizeObserver.observe(element)\n }\n\n elementListeners.get(element)!.add(callback)\n}\n\nexport function unobserve(element: Element, callback: ResizeListener) {\n if (elementListeners.has(element))\n elementListeners.get(element)!.delete(callback)\n}"],"mappings":"AAAA,OAAOA,cAAc,MAAM,0BAA0B;AAIrD,IAAMC,gBAAgB,GAAG,IAAIC,GAAG,CAA+B,CAAC;AAEhE,SAASC,QAAQA,CAACC,QAA+B,EAAE;EACjDA,QAAQ,CAACC,OAAO,CAAC,UAACC,MAAM,EAAK;IAAA,IAAAC,qBAAA;IAC3B,IAAQC,MAAM,GAAKF,MAAM,CAAjBE,MAAM;IACd,CAAAD,qBAAA,GAAAN,gBAAgB,CAACQ,GAAG,CAACD,MAAM,CAAC,cAAAD,qBAAA,eAA5BA,qBAAA,CAA8BF,OAAO,CAAC,UAAAK,QAAQ;MAAA,OAAIA,QAAQ,CAACF,MAAM,CAAC;IAAA,EAAC;EACrE,CAAC,CAAC;AACJ;AAEA,IAAMG,cAAc,GAAG,IAAIX,cAAc,CAACG,QAAQ,CAAC;AAEnD,OAAO,SAASS,OAAOA,CAACC,OAAgB,EAAEC,QAAwB,EAAE;EAClE,IAAI,CAACb,gBAAgB,CAACc,GAAG,CAACF,OAAO,CAAC,EAAE;IAClCZ,gBAAgB,CAACe,GAAG,CAACH,OAAO,EAAE,IAAII,GAAG,CAAC,CAAC,CAAC;IACxCN,cAAc,CAACC,OAAO,CAACC,OAAO,CAAC;EACjC;EAEAZ,gBAAgB,CAACQ,GAAG,CAACI,OAAO,CAAC,CAAEK,GAAG,CAACJ,QAAQ,CAAC;AAC9C;AAEA,OAAO,SAASK,SAASA,CAACN,OAAgB,EAAEC,QAAwB,EAAE;EACpE,IAAIb,gBAAgB,CAACc,GAAG,CAACF,OAAO,CAAC,EAC/BZ,gBAAgB,CAACQ,GAAG,CAACI,OAAO,CAAC,CAAEO,MAAM,CAACN,QAAQ,CAAC;AACnD"}
@@ -1,110 +0,0 @@
1
- import { Vector3, use } from '@anov/3d-core';
2
- var switchMaterial = function switchMaterial(mesh, material, options) {
3
- var lastMaterial = mesh.material.clone();
4
- var currentMaterial = mesh.material.clone();
5
- var _ref = options || {},
6
- _ref$speed = _ref.speed,
7
- speed = _ref$speed === void 0 ? 10 : _ref$speed,
8
- _ref$start = _ref.start,
9
- start = _ref$start === void 0 ? 0 : _ref$start,
10
- _ref$end = _ref.end,
11
- end = _ref$end === void 0 ? 100 : _ref$end;
12
- currentMaterial.transparent = true;
13
- var oldShader;
14
- currentMaterial.onBeforeCompile = function (shader) {
15
- oldShader = shader;
16
- shader.uniforms.time = {
17
- value: 0.0
18
- };
19
- shader.uniforms.min_length = {
20
- value: start
21
- };
22
- shader.uniforms.speed = {
23
- value: 1.0
24
- };
25
- shader.vertexShader = shader.vertexShader.replace('void main() {', ['varying vec4 v_position;', 'varying vec3 vWorldPosition; ', 'void main() {', ' vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);', ' vWorldPosition = worldPosition1.xyz;', ' v_position = vec4(position, 1.0); '].join('\n'));
26
- shader.fragmentShader = shader.fragmentShader.replace('void main() {', "\n varying vec4 v_position;\n uniform float time;\n uniform float min_length;\n uniform float speed;\n varying vec3 vWorldPosition;\n void main() {\n ");
27
- shader.fragmentShader = shader.fragmentShader.replace('#include <dithering_fragment>', "\n #include <dithering_fragment>\n float median = min_length + time * speed;\n if(vWorldPosition.x < median) {\n gl_FragColor.a = 0.0;\n }\n ");
28
- };
29
- mesh.material = currentMaterial;
30
- var cancellation = use.useframe(function () {
31
- if (oldShader) {
32
- oldShader.uniforms.time.value += speed;
33
- var worldPosition = new Vector3();
34
- mesh.getWorldPosition(worldPosition);
35
- if (worldPosition.x < start + oldShader.uniforms.time.value) currentMaterial.depthWrite = false;
36
- if (oldShader.uniforms.time.value > end) {
37
- (options === null || options === void 0 ? void 0 : options.callback) && options.callback();
38
- setTimeout(function () {
39
- mesh.material = lastMaterial;
40
- oldShader.uniforms.time.value = 0;
41
- }, 100);
42
- cancellation();
43
- }
44
- }
45
- });
46
- };
47
-
48
- /**
49
- * todo 代码合并
50
- * @param mesh
51
- * @param material
52
- * @param options
53
- */
54
- var switchMaterialV2 = function switchMaterialV2(mesh, material, options) {
55
- var lastMaterial = mesh.material.clone();
56
- var currentMaterial = mesh.material.clone();
57
- var _ref2 = options || {},
58
- _ref2$speed = _ref2.speed,
59
- speed = _ref2$speed === void 0 ? 10 : _ref2$speed,
60
- _ref2$start = _ref2.start,
61
- start = _ref2$start === void 0 ? 0 : _ref2$start,
62
- _ref2$end = _ref2.end,
63
- end = _ref2$end === void 0 ? 100 : _ref2$end;
64
- currentMaterial.transparent = true;
65
- var oldShader;
66
- currentMaterial.onBeforeCompile = function (shader) {
67
- oldShader = shader;
68
- shader.uniforms.time = {
69
- value: 0.0
70
- };
71
- shader.uniforms.min_length = {
72
- value: 0
73
- };
74
- shader.uniforms.speed = {
75
- value: 1.0
76
- };
77
- shader.uniforms.center = {
78
- value: {
79
- x: 0,
80
- y: 0,
81
- z: 0
82
- }
83
- };
84
- shader.vertexShader = shader.vertexShader.replace('void main() {', ['varying vec4 v_position;', 'varying vec3 vWorldPosition; ', 'void main() {', ' vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);', ' vWorldPosition = worldPosition1.xyz;', ' v_position = vec4(position, 1.0); '].join('\n'));
85
- shader.fragmentShader = shader.fragmentShader.replace('void main() {', "\n varying vec4 v_position;\n uniform float time;\n uniform float center;\n uniform float min_length;\n uniform float speed;\n varying vec3 vWorldPosition;\n void main() {\n ");
86
- shader.fragmentShader = shader.fragmentShader.replace('#include <dithering_fragment>', "\n #include <dithering_fragment>\n float median = min_length + time * speed;\n\n if(distance(vec3(vWorldPosition.x,0,vWorldPosition.z), vec3(0,0,0)) < median) {\n gl_FragColor.a = 0.0;\n }\n ");
87
- };
88
- mesh.material = currentMaterial;
89
- var cancellation = use.useframe(function () {
90
- if (oldShader) {
91
- oldShader.uniforms.time.value += speed;
92
- var worldPosition = new Vector3();
93
- mesh.getWorldPosition(worldPosition);
94
- worldPosition.distanceTo(new Vector3(0, 0, 0));
95
- if (worldPosition.distanceTo(new Vector3(0, 0, 0)) < oldShader.uniforms.time.value) currentMaterial.depthWrite = false;
96
- if (oldShader.uniforms.time.value > end) {
97
- requestAnimationFrame(function () {
98
- (options === null || options === void 0 ? void 0 : options.callback) && options.callback();
99
- requestAnimationFrame(function () {
100
- mesh.material = lastMaterial;
101
- oldShader.uniforms.time.value = 0;
102
- });
103
- });
104
- cancellation();
105
- }
106
- }
107
- });
108
- };
109
- export default switchMaterialV2;
110
- //# sourceMappingURL=switchMaterial.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Vector3","use","switchMaterial","mesh","material","options","lastMaterial","clone","currentMaterial","_ref","_ref$speed","speed","_ref$start","start","_ref$end","end","transparent","oldShader","onBeforeCompile","shader","uniforms","time","value","min_length","vertexShader","replace","join","fragmentShader","cancellation","useframe","worldPosition","getWorldPosition","x","depthWrite","callback","setTimeout","switchMaterialV2","_ref2","_ref2$speed","_ref2$start","_ref2$end","center","y","z","distanceTo","requestAnimationFrame"],"sources":["../../../src/factory/utils/switchMaterial.ts"],"sourcesContent":["import type { Material, Object3D, Shader } from '@anov/3d-core'\nimport { Vector3, use } from '@anov/3d-core'\n\ntype SwitchMaterialOptions = {\n speed?: number\n start?: number\n end?: number\n callback?: () => void\n}\n\nconst switchMaterial = (mesh: Object3D & { material: Material }, material: Material, options?: SwitchMaterialOptions) => {\n const lastMaterial = mesh.material.clone()\n const currentMaterial = mesh.material.clone()\n\n const { speed = 10, start = 0, end = 100 } = options || {}\n\n currentMaterial.transparent = true\n\n let oldShader: Shader\n\n currentMaterial.onBeforeCompile = (shader) => {\n oldShader = shader\n shader.uniforms.time = { value: 0.0 }\n shader.uniforms.min_length = { value: start }\n shader.uniforms.speed = { value: 1.0 }\n shader.vertexShader = shader.vertexShader.replace(\n 'void main() {',\n [\n 'varying vec4 v_position;',\n 'varying vec3 vWorldPosition; ',\n 'void main() {',\n ' vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);',\n ' vWorldPosition = worldPosition1.xyz;',\n ' v_position = vec4(position, 1.0); ',\n ].join('\\n'),\n )\n shader.fragmentShader = shader.fragmentShader.replace('void main() {',\n `\n varying vec4 v_position;\n uniform float time;\n uniform float min_length;\n uniform float speed;\n varying vec3 vWorldPosition;\n void main() {\n `)\n\n shader.fragmentShader = shader.fragmentShader.replace('#include <dithering_fragment>',\n `\n #include <dithering_fragment>\n float median = min_length + time * speed;\n if(vWorldPosition.x < median) {\n gl_FragColor.a = 0.0;\n }\n `)\n }\n\n mesh.material = currentMaterial\n\n const cancellation = use.useframe(() => {\n if (oldShader) {\n oldShader.uniforms.time.value += speed\n\n const worldPosition = new Vector3()\n\n mesh.getWorldPosition(worldPosition)\n\n if (worldPosition.x < start + oldShader.uniforms.time.value)\n currentMaterial.depthWrite = false\n\n if (oldShader.uniforms.time.value > end) {\n options?.callback && options.callback()\n\n setTimeout(() => {\n mesh.material = lastMaterial\n oldShader.uniforms.time.value = 0\n }, 100)\n\n cancellation()\n }\n }\n })\n}\n\n/**\n * todo 代码合并\n * @param mesh\n * @param material\n * @param options\n */\nconst switchMaterialV2 = (mesh: Object3D & { material: Material }, material: Material, options?: SwitchMaterialOptions) => {\n const lastMaterial = mesh.material.clone()\n const currentMaterial = mesh.material.clone()\n\n const { speed = 10, start = 0, end = 100 } = options || {}\n\n currentMaterial.transparent = true\n\n let oldShader: Shader\n\n currentMaterial.onBeforeCompile = (shader) => {\n oldShader = shader\n shader.uniforms.time = { value: 0.0 }\n shader.uniforms.min_length = { value: 0 }\n shader.uniforms.speed = { value: 1.0 }\n shader.uniforms.center = { value: { x: 0, y: 0, z: 0 } }\n shader.vertexShader = shader.vertexShader.replace(\n 'void main() {',\n [\n 'varying vec4 v_position;',\n 'varying vec3 vWorldPosition; ',\n 'void main() {',\n ' vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);',\n ' vWorldPosition = worldPosition1.xyz;',\n ' v_position = vec4(position, 1.0); ',\n ].join('\\n'),\n )\n shader.fragmentShader = shader.fragmentShader.replace('void main() {',\n `\n varying vec4 v_position;\n uniform float time;\n uniform float center;\n uniform float min_length;\n uniform float speed;\n varying vec3 vWorldPosition;\n void main() {\n `)\n\n shader.fragmentShader = shader.fragmentShader.replace('#include <dithering_fragment>',\n `\n #include <dithering_fragment>\n float median = min_length + time * speed;\n\n if(distance(vec3(vWorldPosition.x,0,vWorldPosition.z), vec3(0,0,0)) < median) {\n gl_FragColor.a = 0.0;\n }\n `)\n }\n\n mesh.material = currentMaterial\n\n const cancellation = use.useframe(() => {\n if (oldShader) {\n oldShader.uniforms.time.value += speed\n\n const worldPosition = new Vector3()\n\n mesh.getWorldPosition(worldPosition)\n\n worldPosition.distanceTo(new Vector3(0, 0, 0))\n\n if (worldPosition.distanceTo(new Vector3(0, 0, 0)) < oldShader.uniforms.time.value)\n currentMaterial.depthWrite = false\n\n if (oldShader.uniforms.time.value > end) {\n requestAnimationFrame(() => {\n options?.callback && options.callback()\n\n requestAnimationFrame(() => {\n mesh.material = lastMaterial\n oldShader.uniforms.time.value = 0\n })\n })\n\n cancellation()\n }\n }\n })\n}\n\nexport default switchMaterialV2"],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- import { createSkySystem } from '@anov/3d-ability';
2
-
3
- /**
4
- * create time sky system
5
- * @param date
6
- * @param latitude
7
- * @param longitude
8
- * @param sunRadius
9
- * @returns
10
- */
11
- var createTimeSkySystem = function createTimeSkySystem(date) {
12
- var latitude = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 40;
13
- var longitude = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 116;
14
- var sunRadius = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 100;
15
- var _createSkySystem = createSkySystem(date, latitude, longitude, sunRadius),
16
- setDate = _createSkySystem.setDate,
17
- sun = _createSkySystem.skyGroup,
18
- sky = _createSkySystem.sky,
19
- skyControl = _createSkySystem.skyControl;
20
- return {
21
- setDate: setDate,
22
- sun: sun,
23
- sky: sky,
24
- skyControl: skyControl
25
- };
26
- };
27
- export default createTimeSkySystem;
28
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["createSkySystem","createTimeSkySystem","date","latitude","arguments","length","undefined","longitude","sunRadius","_createSkySystem","setDate","sun","skyGroup","sky","skyControl"],"sources":["../../../../src/module/environment/time/index.ts"],"sourcesContent":["import { createSkySystem } from '@anov/3d-ability'\n\n/**\n * create time sky system\n * @param date\n * @param latitude\n * @param longitude\n * @param sunRadius\n * @returns\n */\nconst createTimeSkySystem = (date: Date, latitude = 40, longitude = 116, sunRadius = 100) => {\n const {\n setDate, skyGroup: sun, sky, skyControl,\n } = createSkySystem(date, latitude, longitude, sunRadius)\n\n return {\n setDate,\n sun,\n sky,\n skyControl,\n } as ReturnType<typeof createTimeSkySystem>\n}\n\nexport default createTimeSkySystem"],"mappings":"AAAA,SAASA,eAAe,QAAQ,kBAAkB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,IAAU,EAAsD;EAAA,IAApDC,QAAQ,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IAAEG,SAAS,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAAA,IAAEI,SAAS,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EACtF,IAAAK,gBAAA,GAEIT,eAAe,CAACE,IAAI,EAAEC,QAAQ,EAAEI,SAAS,EAAEC,SAAS,CAAC;IADvDE,OAAO,GAAAD,gBAAA,CAAPC,OAAO;IAAYC,GAAG,GAAAF,gBAAA,CAAbG,QAAQ;IAAOC,GAAG,GAAAJ,gBAAA,CAAHI,GAAG;IAAEC,UAAU,GAAAL,gBAAA,CAAVK,UAAU;EAGzC,OAAO;IACLJ,OAAO,EAAPA,OAAO;IACPC,GAAG,EAAHA,GAAG;IACHE,GAAG,EAAHA,GAAG;IACHC,UAAU,EAAVA;EACF,CAAC;AACH,CAAC;AAED,eAAeb,mBAAmB"}
@@ -1,28 +0,0 @@
1
- export var EWeatherType = {
2
- Clear_Skies: 'Clear_Skies',
3
- // 晴天
4
- Cloudy: 'Cloudy',
5
- // 多云
6
- Foggy: 'Foggy',
7
- // 有雾
8
- Overcast: 'Overcast',
9
- // 阴天
10
- Partly_Cloudy: 'Partly_Cloudy',
11
- // 少云
12
- Rain: 'Rain',
13
- // 雨
14
- Rain_Light: 'Rain_Light',
15
- // 小雨
16
- Rain_Thunderstorm: 'Rain_Thunderstorm',
17
- // 强雷阵雨
18
- Sand_Dust_Calm: 'Sand_Dust_Calm',
19
- // 沙尘暴
20
- Sand_Dust_Storm: 'Sand_Dust_Storm',
21
- // 强沙尘暴
22
- Snow: 'Snow',
23
- // 下雪
24
- Snow_Blizzard: 'Snow_Blizzard',
25
- // 暴雪
26
- Snow_Light: 'Snow_Light' // 小雪
27
- };
28
- //# sourceMappingURL=type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["EWeatherType","Clear_Skies","Cloudy","Foggy","Overcast","Partly_Cloudy","Rain","Rain_Light","Rain_Thunderstorm","Sand_Dust_Calm","Sand_Dust_Storm","Snow","Snow_Blizzard","Snow_Light"],"sources":["../../../../src/module/environment/weather/type.ts"],"sourcesContent":["export const EWeatherType = {\n Clear_Skies: 'Clear_Skies', // 晴天\n Cloudy: 'Cloudy', // 多云\n Foggy: 'Foggy', // 有雾\n Overcast: 'Overcast', // 阴天\n Partly_Cloudy: 'Partly_Cloudy', // 少云\n Rain: 'Rain', // 雨\n Rain_Light: 'Rain_Light', // 小雨\n Rain_Thunderstorm: 'Rain_Thunderstorm', // 强雷阵雨\n Sand_Dust_Calm: 'Sand_Dust_Calm', // 沙尘暴\n Sand_Dust_Storm: 'Sand_Dust_Storm', // 强沙尘暴\n Snow: 'Snow', // 下雪\n Snow_Blizzard: 'Snow_Blizzard', // 暴雪\n Snow_Light: 'Snow_Light', // 小雪\n}\n"],"mappings":"AAAA,OAAO,IAAMA,YAAY,GAAG;EAC1BC,WAAW,EAAE,aAAa;EAAE;EAC5BC,MAAM,EAAE,QAAQ;EAAE;EAClBC,KAAK,EAAE,OAAO;EAAE;EAChBC,QAAQ,EAAE,UAAU;EAAE;EACtBC,aAAa,EAAE,eAAe;EAAE;EAChCC,IAAI,EAAE,MAAM;EAAE;EACdC,UAAU,EAAE,YAAY;EAAE;EAC1BC,iBAAiB,EAAE,mBAAmB;EAAE;EACxCC,cAAc,EAAE,gBAAgB;EAAE;EAClCC,eAAe,EAAE,iBAAiB;EAAE;EACpCC,IAAI,EAAE,MAAM;EAAE;EACdC,aAAa,EAAE,eAAe;EAAE;EAChCC,UAAU,EAAE,YAAY,CAAE;AAC5B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","ModelLoader","Vector3","use","localforage","modelLoader","Model","_use$useScene","useScene","scene","_load","_callee","source","_this","isCache","position","onProgress","onError","fileFormat","blob","lastSource","_args","_callee$","_context","split","fetch","res","setItem","getItem","URL","createObjectURL","loadGLTF","model","set","x","z","traverse","child","castShadow","receiveShadow","add","loadFbx","load","_x"],"sources":["../../../src/module/model/index.ts"],"sourcesContent":["import type { Scene } from '@anov/3d-core'\nimport { ModelLoader, Vector3, use } from '@anov/3d-core'\nimport localforage from 'localforage'\n\nconst modelLoader = new ModelLoader()\n\nclass Model {\n private scene: Scene\n constructor() {\n const { scene } = use.useScene()\n\n if (!scene)\n throw new Error('scene is not init')\n\n this.scene = scene\n }\n\n /**\n * model load, now just to test\n * @param source\n * @param isCache\n * @param position\n * @param onProgress\n * @param onError\n */\n async load(source: string, isCache = true, position = new Vector3(0, 0, 0), onProgress?: (event: ProgressEvent) => void, onError?: (event: ErrorEvent) => void) {\n const fileFormat = source.split('.').pop()\n\n if (isCache) {\n fetch(source).then(res => res.blob()).then((blob) => {\n localforage.setItem(source, blob)\n })\n }\n\n const blob = await localforage.getItem(source) as Blob\n let lastSource = source\n\n if (blob && isCache)\n lastSource = URL.createObjectURL(blob)\n\n if (fileFormat === 'glb' || fileFormat === 'gltf') {\n modelLoader.loadGLTF(lastSource, false, true,\n './draco/',\n (model) => {\n model.scene.position.set(position.x, position.y, position.z)\n\n model.scene.traverse((child) => {\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n this.scene.add(model.scene)\n return model\n },\n onProgress,\n onError)\n }\n\n if (fileFormat === 'fbx') {\n modelLoader.loadFbx(lastSource, false, undefined, onProgress, onError).then((model) => {\n model.position.set(position.x, position.y, position.z)\n this.scene.add(model)\n })\n }\n }\n}\n\nexport default Model"],"mappings":"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"}
File without changes