@anov/3d 0.0.42 → 0.0.44
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/factory/3d.js +36 -45
- package/dist/factory/3d.js.map +1 -1
- package/dist/factory/unit/index.js +4 -0
- package/dist/factory/unit/index.js.map +1 -1
- package/dist/factory/unit/layer/rise.d.ts +6 -0
- package/dist/factory/unit/layer/rise.js +141 -0
- package/dist/factory/unit/layer/rise.js.map +1 -0
- package/package.json +1 -1
package/dist/factory/3d.js
CHANGED
|
@@ -5,19 +5,20 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
|
5
5
|
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
6
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
7
7
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
8
|
-
import { Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, ModelLoader, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, TextureLoader, Vector2, Vector3,
|
|
8
|
+
import { Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, ModelLoader, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, TextureLoader, Vector2, Vector3, lib, use, utils } from '@anov/3d-core';
|
|
9
9
|
import { Camera } from '@anov/3d-ability';
|
|
10
10
|
import { finirMaterialV1 } from "./utils/finirMaterial";
|
|
11
11
|
import handleUnit, { toggleTag as _toggleTag } from "./unit";
|
|
12
12
|
import { globalEvents } from "./globalData";
|
|
13
13
|
import { SceneStyle, SceneTag } from "./utils/constant";
|
|
14
14
|
import factoryGlobalObject from "./globalControl";
|
|
15
|
+
import createRiseLayer from "./unit/layer/rise";
|
|
15
16
|
import frag from "./unit/glsl/heat/frag";
|
|
16
17
|
import vert from "./unit/glsl/heat/ver";
|
|
17
|
-
var vertexShader = "\n".concat(ShaderChunk.logdepthbuf_pars_vertex, "\nbool isPerspectiveMatrix(mat4) {\n return true;\n }\n varying vec2 vUv;\n varying vec3 vPosition;\n\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);\n vPosition = worldPosition1.xyz;\n
|
|
18
|
+
var vertexShader = "\n".concat(ShaderChunk.logdepthbuf_pars_vertex, "\nbool isPerspectiveMatrix(mat4) {\n return true;\n }\n varying vec2 vUv;\n varying vec3 vPosition;\n\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);\n vPosition = worldPosition1.xyz;\n ").concat(ShaderChunk.logdepthbuf_vertex, "\n }\n");
|
|
18
19
|
|
|
19
20
|
// Fragment shader
|
|
20
|
-
var fragmentShader = "\n ".concat(ShaderChunk.logdepthbuf_pars_fragment, " \n
|
|
21
|
+
var fragmentShader = "\n ".concat(ShaderChunk.logdepthbuf_pars_fragment, " \n\n varying vec3 vPosition;\n varying vec2 vUv;\n\n void main() {\n \n if(vPosition.x>-550.0 && vPosition.x<550.0 && vPosition.z>-300.0 && vPosition.z<270.0){\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n }else{\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\n }\n\n ").concat(ShaderChunk.logdepthbuf_fragment, "\n }\n");
|
|
21
22
|
export var loadingManager = new LoadingManager();
|
|
22
23
|
var load = new ModelLoader(loadingManager);
|
|
23
24
|
var rgbeLoader = new lib.RGBELoader(loadingManager);
|
|
@@ -28,45 +29,7 @@ export var usePath = resourcePath;
|
|
|
28
29
|
var _Texture = new TextureLoader().load("".concat(usePath, "demo03.jpg"));
|
|
29
30
|
_Texture.wrapS = RepeatWrapping;
|
|
30
31
|
_Texture.wrapT = RepeatWrapping;
|
|
31
|
-
var uniforms = {
|
|
32
|
-
_Texture: {
|
|
33
|
-
value: _Texture
|
|
34
|
-
},
|
|
35
|
-
_Texture_ST: {
|
|
36
|
-
value: new Vector4()
|
|
37
|
-
},
|
|
38
|
-
_Color: {
|
|
39
|
-
value: new Vector4(new Color('#red').r, new Color('#fff').g, new Color('#fff').b, 0.1)
|
|
40
|
-
},
|
|
41
|
-
_ColorS: {
|
|
42
|
-
value: 1
|
|
43
|
-
},
|
|
44
|
-
_TextureMask: {
|
|
45
|
-
value: new TextureLoader().load("".concat(usePath, "demo04.jpg"))
|
|
46
|
-
},
|
|
47
|
-
_MaskUV: {
|
|
48
|
-
value: 1
|
|
49
|
-
},
|
|
50
|
-
_ColorMask: {
|
|
51
|
-
value: new Vector4(new Color('#fff').r, new Color('#fff').g, new Color('#fff').b, 0.1)
|
|
52
|
-
},
|
|
53
|
-
_ColorMaskS: {
|
|
54
|
-
value: 1
|
|
55
|
-
},
|
|
56
|
-
_Speed: {
|
|
57
|
-
value: new Vector4(0.0, 1.2, 0, 0)
|
|
58
|
-
},
|
|
59
|
-
_OP: {
|
|
60
|
-
value: 1.0
|
|
61
|
-
},
|
|
62
|
-
_Time: {
|
|
63
|
-
value: 1.0
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
use.useframe(function () {
|
|
67
|
-
if (uniforms._Time.value > 0.3) uniforms._Time.value = 0;
|
|
68
|
-
uniforms._Time.value += 0.001;
|
|
69
|
-
});
|
|
32
|
+
var uniforms = {};
|
|
70
33
|
var material = new ShaderMaterial({
|
|
71
34
|
uniforms: uniforms,
|
|
72
35
|
vertexShader: vertexShader,
|
|
@@ -124,6 +87,7 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
124
87
|
// this.interactionManager.add(gltf.scene)
|
|
125
88
|
|
|
126
89
|
// gltf.scene.addEventListener('click', (value) => {
|
|
90
|
+
// console.log(value.point)
|
|
127
91
|
// this.position = value.point
|
|
128
92
|
// })
|
|
129
93
|
scene.add(_this.realTreeModel);
|
|
@@ -157,6 +121,7 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
157
121
|
// this.interactionManager.add(gltf.scene)
|
|
158
122
|
|
|
159
123
|
// gltf.scene.addEventListener('click', (value) => {
|
|
124
|
+
// console.log(value.point)
|
|
160
125
|
// this.position = value.point
|
|
161
126
|
// })
|
|
162
127
|
|
|
@@ -171,15 +136,40 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
171
136
|
// @ts-ignore
|
|
172
137
|
if (child.type === 'Mesh') {
|
|
173
138
|
if (child.name === '柱体') {
|
|
174
|
-
|
|
175
|
-
child.material = material;
|
|
176
|
-
child.renderOrder = -1;
|
|
139
|
+
child.visible = false;
|
|
177
140
|
} else {
|
|
178
141
|
// @ts-ignore
|
|
179
142
|
child.material = finirMaterialV1;
|
|
180
143
|
}
|
|
181
144
|
}
|
|
182
145
|
});
|
|
146
|
+
load.loadGLTF("".concat(_this2.usePath, "plane.glb"), false, true, './draco/', function (gltf) {
|
|
147
|
+
gltf.scene.scale.set(0.5, 0.5, 0.5);
|
|
148
|
+
var text = new TextureLoader().load("".concat(_this2.usePath, "roll.png"));
|
|
149
|
+
text.wrapS = RepeatWrapping;
|
|
150
|
+
text.wrapT = RepeatWrapping;
|
|
151
|
+
text.repeat.set(1, 1);
|
|
152
|
+
gltf.scene.traverse(function (child) {
|
|
153
|
+
if (child.type === 'Mesh') {
|
|
154
|
+
// @ts-ignore
|
|
155
|
+
child.material.transparent = true;
|
|
156
|
+
// @ts-ignore
|
|
157
|
+
child.material.opacity = 1;
|
|
158
|
+
child.renderOrder = -1;
|
|
159
|
+
// @ts-ignore
|
|
160
|
+
child.material.depthTest = false;
|
|
161
|
+
|
|
162
|
+
// @ts-ignore
|
|
163
|
+
child.material.map = text;
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
use.useframe(function () {
|
|
167
|
+
text.offset.x += 0.01;
|
|
168
|
+
});
|
|
169
|
+
group.add(gltf.scene);
|
|
170
|
+
return gltf;
|
|
171
|
+
});
|
|
172
|
+
createRiseLayer();
|
|
183
173
|
_this2.scene.add(group);
|
|
184
174
|
group.visible = SceneStyle.tech === _this2.style;
|
|
185
175
|
_this2.techModel = group;
|
|
@@ -229,6 +219,7 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
229
219
|
// this.interactionManager.add(gltf.scene)
|
|
230
220
|
|
|
231
221
|
// gltf.scene.addEventListener('click', (value) => {
|
|
222
|
+
// console.log(value.point)
|
|
232
223
|
// this.position = value.point
|
|
233
224
|
// })
|
|
234
225
|
|
package/dist/factory/3d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Color","EquirectangularReflectionMapping","InteractionManager","LoadingManager","ModelLoader","RepeatWrapping","SRGBColorSpace","ShaderChunk","ShaderMaterial","TextureLoader","Vector2","Vector3","Vector4","lib","use","utils","Camera","finirMaterialV1","handleUnit","toggleTag","globalEvents","SceneStyle","SceneTag","factoryGlobalObject","frag","vert","vertexShader","logdepthbuf_pars_vertex","logdepthbuf_vertex","fragmentShader","logdepthbuf_pars_fragment","logdepthbuf_fragment","loadingManager","load","rgbeLoader","RGBELoader","emitter","resourcePath","resourcePath2","usePath","_Texture","wrapS","wrapT","uniforms","value","_Texture_ST","_Color","r","g","b","_ColorS","_TextureMask","_MaskUV","_ColorMask","_ColorMaskS","_Speed","_OP","_Time","useframe","material","transparent","Factory3D","option","overview","real","Map","globalEventsAgent","setFactory","scene","Promise","resolve","cameraUtil","camera","controls","control","layers","set","loadGLTF","gltf","realTreeModel","add","interactionManager","renderer","domElement","storeManagement","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","traverse","child","type","name","renderOrder","tech","techModel","texture1","texture2","uvScale","depthTest","depthWrite","thermaLimaging","pipeline","realGroundModel","setPath","texture","mapping","colorSpace","boxSkeyTexture","environment","background","params","tag","apply","forEach","eventKey","on","args","eventHandleFn","get","fn","cutoutCamera","inspection","minCamera","mainCamera","eventName","handleFn","push"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { BoxGeometry, Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, Mesh, MeshBasicMaterial, ModelLoader, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, sRGBEncoding, use, utils } from '@anov/3d-core'\nimport { Camera, createBloomSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport { finirMaterialV1 } from './utils/finirMaterial'\nimport handleUnit, { toggleTag } from './unit'\nimport type WallManage from './unit/wall'\nimport type LineManage from './unit/line'\nimport type CylinderManage from './unit/cylinder'\nimport type PoiManage from './unit/poi'\nimport type CircleManage from './unit/circle'\nimport type AreaBoundingBoxManage from './unit/areaBoundingBox'\nimport type Inspection from './unit/inspection'\nimport { globalEvents } from './globalData'\nimport { SceneStyle, SceneTag } from './utils/constant'\nimport switchMaterial from './utils/switchMaterial'\nimport factoryGlobalObject from './globalControl'\nimport { debounce } from './utils'\n\nimport frag from './unit/glsl/heat/frag'\nimport vert from './unit/glsl/heat/ver'\n\ntype factory3dOption = {\n model: string\n environment: string\n decoderPath?: string\n controls?: any\n}\n\nconst vertexShader = `\n${ShaderChunk.logdepthbuf_pars_vertex}\nbool isPerspectiveMatrix(mat4) {\n return true;\n }\n varying vec2 vUv;\n varying vec3 vPosition;\n\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);\n vPosition = worldPosition1.xyz;\n ${ShaderChunk.logdepthbuf_vertex}\n }\n`\n\n// Fragment shader\nconst fragmentShader = `\n ${ShaderChunk.logdepthbuf_pars_fragment} \n uniform sampler2D _Texture;\n uniform vec4 _Texture_ST;\n uniform vec4 _Color;\n uniform float _ColorS;\n uniform sampler2D _TextureMask;\n uniform float _MaskUV;\n uniform vec4 _ColorMask;\n uniform float _ColorMaskS;\n uniform vec4 _Speed;\n uniform float _OP;\n uniform float _Time;\n\n varying vec3 vPosition;\n varying vec2 vUv;\n\n void main() {\n vec3 temp_cast_0 = vec3(0.2);\n vec4 o = vec4(temp_cast_0, 1.0);\n vec2 uv_Texture = vUv * 8.0;\n vec4 tex2DNode1 = texture2D(_Texture, uv_Texture);\n vec2 temp_cast_1 = vec2(_MaskUV);\n vec2 uv_TexCoord7 = vUv * temp_cast_1;\n\n vec2 panner6 = (vec2(1.0) * _Time * _Speed.xy + uv_TexCoord7);\n\n o.rgb = ((_Color * tex2DNode1.r * _ColorS) + (_ColorMask * (tex2DNode1.r * texture2D(_TextureMask, panner6).r) * _ColorMaskS)).rgb;\n o.a = _OP;\n gl_FragColor = o;\n\n if(vPosition.x>-550.0 && vPosition.x<550.0 && vPosition.z>-300.0 && vPosition.z<270.0){\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\n }\n\n ${ShaderChunk.logdepthbuf_fragment}\n }\n`\n\nexport const loadingManager = new LoadingManager()\nconst load = new ModelLoader(loadingManager)\nconst rgbeLoader = new lib.RGBELoader(loadingManager)\nconst { emitter } = utils\n\nconst resourcePath = './'\nconst resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/'\n\nexport const usePath = resourcePath\n\nconst _Texture = new TextureLoader().load(`${usePath}demo03.jpg`)\n\n_Texture.wrapS = RepeatWrapping\n_Texture.wrapT = RepeatWrapping\n\nconst uniforms = {\n _Texture: { value: _Texture },\n _Texture_ST: { value: new Vector4() },\n _Color: { value: new Vector4(new Color('#red').r, new Color('#fff').g, new Color('#fff').b, 0.1) },\n _ColorS: { value: 1 },\n _TextureMask: { value: new TextureLoader().load(`${usePath}demo04.jpg`) },\n _MaskUV: { value: 1 },\n _ColorMask: { value: new Vector4(new Color('#fff').r, new Color('#fff').g, new Color('#fff').b, 0.1) },\n _ColorMaskS: { value: 1 },\n _Speed: { value: new Vector4(0.0, 1.2, 0, 0) },\n _OP: { value: 1.0 },\n _Time: { value: 1.0 },\n}\n\nuse.useframe(() => {\n if (uniforms._Time.value > 0.3)\n uniforms._Time.value = 0\n\n uniforms._Time.value += 0.001\n})\n\nconst material = new ShaderMaterial({\n uniforms,\n vertexShader,\n fragmentShader,\n transparent: true,\n})\n\nclass Factory3D {\n position: Vector3 = new Vector3(0, 0, 0)\n scene: SceneControl\n control: OrbitControls\n cameraUtil: Camera\n\n public loadingManager = loadingManager\n public tag = SceneTag.overview\n public style: SceneStyle = SceneStyle.real\n private option: factory3dOption\n wall: WallManage\n line: LineManage\n cylinder: CylinderManage\n poi: PoiManage\n circle: CircleManage\n areaBoundingBox: AreaBoundingBoxManage\n inspection: Inspection\n\n usePath = usePath\n\n private pipeline: Group\n private realModl: Group\n private techModel: Group\n private realGroundModel: Group\n private realTreeModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\n\n interactionManager: InteractionManager\n\n constructor(option: factory3dOption) {\n this.option = option\n this.globalEventsAgent()\n factoryGlobalObject.setFactory(this)\n }\n\n /**\n * render factory 3d scene\n */\n renderScene(scene: SceneControl) {\n return new Promise((resolve) => {\n this.scene = scene\n\n this.cameraUtil = new Camera(scene.camera!, scene.controls!, scene)\n this.control = scene.controls!\n scene.camera.layers.set(0)\n\n load.loadGLTF(`${this.usePath}landScap3.glb`, false, true, './draco/', (gltf) => {\n this.realTreeModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // this.position = value.point\n // })\n scene.add(this.realTreeModel)\n\n return gltf\n })\n\n const interactionManager = new InteractionManager(\n this.scene.renderer,\n this.scene.camera,\n this.scene.renderer.domElement, // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,\n )\n\n this.interactionManager = interactionManager\n\n utils.storeManagement.set('interactionManager', interactionManager)\n\n use.useframe(() => {\n interactionManager.update()\n })\n\n this.loadModel()\n\n loadingManager.onLoad = () => {\n resolve('success')\n }\n\n scene.renderer.toneMappingExposure = 0.4\n })\n }\n\n private loadModel() {\n // real model\n load.loadGLTF(`${this.usePath}222.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.real === this.style\n\n this.realModl = gltf.scene as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // this.position = value.point\n // })\n\n handleUnit.call(this)\n\n return gltf\n })\n\n // tech model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n group.traverse((child) => {\n // @ts-ignore\n if (child.type === 'Mesh') {\n if (child.name === '柱体') {\n // @ts-ignore\n child.material = material\n child.renderOrder = -1\n }\n\n else {\n // @ts-ignore\n child.material = finirMaterialV1\n }\n }\n })\n\n this.scene.add(group)\n\n group.visible = SceneStyle.tech === this.style\n this.techModel = group as Group\n\n return gltf\n })\n\n // thermaLimaging model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n group.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = new ShaderMaterial({\n vertexShader: vert,\n fragmentShader: frag,\n uniforms: {\n texture1: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test01.jpg`) },\n texture2: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test02.jpg`) },\n uvScale: { value: new Vector2(1, 1) },\n },\n depthTest: false,\n depthWrite: false,\n })\n\n child.layers.set(2)\n }\n })\n\n this.scene.add(group)\n\n this.thermaLimaging = group as Group\n\n return gltf\n })\n\n load.loadGLTF(`${this.usePath}guandao.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n this.pipeline = gltf.scene as Group\n return gltf\n })\n\n // ground\n load.loadGLTF(`${this.usePath}landScap.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // this.position = value.point\n // })\n\n this.realGroundModel = gltf.scene as Group\n return gltf\n })\n rgbeLoader.setPath(`${this.usePath}`).load('demo.hdr', (texture) => {\n texture.mapping = EquirectangularReflectionMapping\n\n texture.colorSpace = SRGBColorSpace\n this.boxSkeyTexture = texture\n this.scene.scene.environment = texture\n this.scene.scene.background = new Color('#ccc')\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n\n this.style = params\n\n if (this.style === SceneStyle.tech) {\n this.pipeline.visible = false\n this.techModel.visible = true\n this.realModl.visible = false\n this.realTreeModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.6\n }\n\n if (params === SceneStyle.real) {\n this.pipeline.visible = true\n this.techModel.visible = false\n this.realModl.visible = true\n this.realGroundModel && (this.realGroundModel.visible = true)\n this.realTreeModel && (this.realTreeModel.visible = true)\n this.scene.scene.background = new Color('#ccc')\n this.scene.scene.environment = this.boxSkeyTexture\n\n this.scene.renderer.toneMappingExposure = 0.4\n }\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.tag === tag)\n return\n toggleTag[tag].apply(this, [this])\n }\n\n private globalEventsAgent() {\n globalEvents.forEach((eventKey) => {\n emitter.on(eventKey, (args) => {\n this.eventHandleFn.get(eventKey)?.forEach((fn) => {\n fn(args)\n })\n })\n })\n }\n\n /**\n * toggle view\n */\n toggleView() {\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n this.scene.cutoutCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n // initPostEffects(this.scene.scene, this.scene.renderer, cutoutCamera, {\n // type: 'main',\n // })\n }\n else {\n const mainCamera = this.scene.cutoutCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n // initPostEffects(this.scene.scene, this.scene.renderer, cutoutCamera, {\n // type: 'sub',\n // })\n }\n }\n\n addEventListener(eventName: string, handleFn: (args?: any) => void) {\n if (this.eventHandleFn.get(eventName))\n this.eventHandleFn.get(eventName).push(handleFn)\n\n else\n this.eventHandleFn.set(eventName, [handleFn])\n }\n}\n\nexport default Factory3D"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Color","EquirectangularReflectionMapping","InteractionManager","LoadingManager","ModelLoader","RepeatWrapping","SRGBColorSpace","ShaderChunk","ShaderMaterial","TextureLoader","Vector2","Vector3","lib","use","utils","Camera","finirMaterialV1","handleUnit","toggleTag","globalEvents","SceneStyle","SceneTag","factoryGlobalObject","createRiseLayer","frag","vert","vertexShader","logdepthbuf_pars_vertex","logdepthbuf_vertex","fragmentShader","logdepthbuf_pars_fragment","logdepthbuf_fragment","loadingManager","load","rgbeLoader","RGBELoader","emitter","resourcePath","resourcePath2","usePath","_Texture","wrapS","wrapT","uniforms","material","transparent","Factory3D","option","overview","real","Map","globalEventsAgent","setFactory","scene","Promise","resolve","cameraUtil","camera","controls","control","layers","set","loadGLTF","gltf","realTreeModel","add","interactionManager","renderer","domElement","storeManagement","useframe","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","traverse","child","type","name","scale","text","repeat","opacity","renderOrder","depthTest","map","offset","x","tech","techModel","texture1","value","texture2","uvScale","depthWrite","thermaLimaging","pipeline","realGroundModel","setPath","texture","mapping","colorSpace","boxSkeyTexture","environment","background","params","tag","apply","forEach","eventKey","on","args","eventHandleFn","get","fn","cutoutCamera","inspection","minCamera","mainCamera","eventName","handleFn","push"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { BoxGeometry, Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, Mesh, MeshBasicMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, sRGBEncoding, use, utils } from '@anov/3d-core'\nimport { Camera, createBloomSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport { finirMaterialV1 } from './utils/finirMaterial'\nimport handleUnit, { toggleTag } from './unit'\nimport type WallManage from './unit/wall'\nimport type LineManage from './unit/line'\nimport type CylinderManage from './unit/cylinder'\nimport type PoiManage from './unit/poi'\nimport type CircleManage from './unit/circle'\nimport type AreaBoundingBoxManage from './unit/areaBoundingBox'\nimport type Inspection from './unit/inspection'\nimport { globalEvents } from './globalData'\nimport { SceneStyle, SceneTag } from './utils/constant'\nimport switchMaterial from './utils/switchMaterial'\nimport factoryGlobalObject from './globalControl'\nimport { debounce } from './utils'\nimport createRiseLayer from './unit/layer/rise'\n\nimport frag from './unit/glsl/heat/frag'\nimport vert from './unit/glsl/heat/ver'\n\ntype factory3dOption = {\n model: string\n environment: string\n decoderPath?: string\n controls?: any\n}\n\nconst vertexShader = `\n${ShaderChunk.logdepthbuf_pars_vertex}\nbool isPerspectiveMatrix(mat4) {\n return true;\n }\n varying vec2 vUv;\n varying vec3 vPosition;\n\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);\n vPosition = worldPosition1.xyz;\n ${ShaderChunk.logdepthbuf_vertex}\n }\n`\n\n// Fragment shader\nconst fragmentShader = `\n ${ShaderChunk.logdepthbuf_pars_fragment} \n\n varying vec3 vPosition;\n varying vec2 vUv;\n\n void main() {\n \n if(vPosition.x>-550.0 && vPosition.x<550.0 && vPosition.z>-300.0 && vPosition.z<270.0){\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n }else{\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\n }\n\n ${ShaderChunk.logdepthbuf_fragment}\n }\n`\n\nexport const loadingManager = new LoadingManager()\nconst load = new ModelLoader(loadingManager)\nconst rgbeLoader = new lib.RGBELoader(loadingManager)\nconst { emitter } = utils\n\nconst resourcePath = './'\nconst resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/'\n\nexport const usePath = resourcePath\n\nconst _Texture = new TextureLoader().load(`${usePath}demo03.jpg`)\n\n_Texture.wrapS = RepeatWrapping\n_Texture.wrapT = RepeatWrapping\n\nconst uniforms = {\n\n}\n\nconst material = new ShaderMaterial({\n uniforms,\n vertexShader,\n fragmentShader,\n transparent: true,\n})\n\nclass Factory3D {\n position: Vector3 = new Vector3(0, 0, 0)\n scene: SceneControl\n control: OrbitControls\n cameraUtil: Camera\n\n public loadingManager = loadingManager\n public tag = SceneTag.overview\n public style: SceneStyle = SceneStyle.real\n private option: factory3dOption\n wall: WallManage\n line: LineManage\n cylinder: CylinderManage\n poi: PoiManage\n circle: CircleManage\n areaBoundingBox: AreaBoundingBoxManage\n inspection: Inspection\n\n usePath = usePath\n\n private pipeline: Group\n private realModl: Group\n private techModel: Group\n private realGroundModel: Group\n private realTreeModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\n\n interactionManager: InteractionManager\n\n constructor(option: factory3dOption) {\n this.option = option\n this.globalEventsAgent()\n factoryGlobalObject.setFactory(this)\n }\n\n /**\n * render factory 3d scene\n */\n renderScene(scene: SceneControl) {\n return new Promise((resolve) => {\n this.scene = scene\n\n this.cameraUtil = new Camera(scene.camera!, scene.controls!, scene)\n this.control = scene.controls!\n scene.camera.layers.set(0)\n\n load.loadGLTF(`${this.usePath}landScap3.glb`, false, true, './draco/', (gltf) => {\n this.realTreeModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n scene.add(this.realTreeModel)\n\n return gltf\n })\n\n const interactionManager = new InteractionManager(\n this.scene.renderer,\n this.scene.camera,\n this.scene.renderer.domElement, // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,\n )\n\n this.interactionManager = interactionManager\n\n utils.storeManagement.set('interactionManager', interactionManager)\n\n use.useframe(() => {\n interactionManager.update()\n })\n\n this.loadModel()\n\n loadingManager.onLoad = () => {\n resolve('success')\n }\n\n scene.renderer.toneMappingExposure = 0.4\n })\n }\n\n private loadModel() {\n // real model\n load.loadGLTF(`${this.usePath}222.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.real === this.style\n\n this.realModl = gltf.scene as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n handleUnit.call(this)\n\n return gltf\n })\n\n // tech model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n group.traverse((child) => {\n // @ts-ignore\n if (child.type === 'Mesh') {\n if (child.name === '柱体') {\n child.visible = false\n }\n\n else {\n // @ts-ignore\n child.material = finirMaterialV1\n }\n }\n })\n\n load.loadGLTF(`${this.usePath}plane.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.scale.set(0.5, 0.5, 0.5)\n\n const text = new TextureLoader().load(`${this.usePath}roll.png`)\n\n text.wrapS = RepeatWrapping\n text.wrapT = RepeatWrapping\n\n text.repeat.set(1, 1)\n\n gltf.scene.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material.transparent = true\n // @ts-ignore\n child.material.opacity = 1\n child.renderOrder = -1\n // @ts-ignore\n child.material.depthTest = false\n\n // @ts-ignore\n child.material.map = text\n }\n })\n\n use.useframe(() => {\n text.offset.x += 0.01\n })\n\n group.add(gltf.scene)\n\n return gltf\n })\n\n createRiseLayer()\n\n this.scene.add(group)\n\n group.visible = SceneStyle.tech === this.style\n this.techModel = group as Group\n\n return gltf\n })\n\n // thermaLimaging model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n group.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = new ShaderMaterial({\n vertexShader: vert,\n fragmentShader: frag,\n uniforms: {\n texture1: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test01.jpg`) },\n texture2: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test02.jpg`) },\n uvScale: { value: new Vector2(1, 1) },\n },\n depthTest: false,\n depthWrite: false,\n })\n\n child.layers.set(2)\n }\n })\n\n this.scene.add(group)\n\n this.thermaLimaging = group as Group\n\n return gltf\n })\n\n load.loadGLTF(`${this.usePath}guandao.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n this.pipeline = gltf.scene as Group\n return gltf\n })\n\n // ground\n load.loadGLTF(`${this.usePath}landScap.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n this.realGroundModel = gltf.scene as Group\n return gltf\n })\n rgbeLoader.setPath(`${this.usePath}`).load('demo.hdr', (texture) => {\n texture.mapping = EquirectangularReflectionMapping\n\n texture.colorSpace = SRGBColorSpace\n this.boxSkeyTexture = texture\n this.scene.scene.environment = texture\n this.scene.scene.background = new Color('#ccc')\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n\n this.style = params\n\n if (this.style === SceneStyle.tech) {\n this.pipeline.visible = false\n this.techModel.visible = true\n this.realModl.visible = false\n this.realTreeModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.6\n }\n\n if (params === SceneStyle.real) {\n this.pipeline.visible = true\n this.techModel.visible = false\n this.realModl.visible = true\n this.realGroundModel && (this.realGroundModel.visible = true)\n this.realTreeModel && (this.realTreeModel.visible = true)\n this.scene.scene.background = new Color('#ccc')\n this.scene.scene.environment = this.boxSkeyTexture\n\n this.scene.renderer.toneMappingExposure = 0.4\n }\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.tag === tag)\n return\n toggleTag[tag].apply(this, [this])\n }\n\n private globalEventsAgent() {\n globalEvents.forEach((eventKey) => {\n emitter.on(eventKey, (args) => {\n this.eventHandleFn.get(eventKey)?.forEach((fn) => {\n fn(args)\n })\n })\n })\n }\n\n /**\n * toggle view\n */\n toggleView() {\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n this.scene.cutoutCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n // initPostEffects(this.scene.scene, this.scene.renderer, cutoutCamera, {\n // type: 'main',\n // })\n }\n else {\n const mainCamera = this.scene.cutoutCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n // initPostEffects(this.scene.scene, this.scene.renderer, cutoutCamera, {\n // type: 'sub',\n // })\n }\n }\n\n addEventListener(eventName: string, handleFn: (args?: any) => void) {\n if (this.eventHandleFn.get(eventName))\n this.eventHandleFn.get(eventName).push(handleFn)\n\n else\n this.eventHandleFn.set(eventName, [handleFn])\n }\n}\n\nexport default Factory3D"],"mappings":"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"}
|
|
@@ -58,24 +58,28 @@ var showCameraPoiInspection = function showCameraPoiInspection() {
|
|
|
58
58
|
(_this$cameraPoi2 = this.cameraPoi) === null || _this$cameraPoi2 === void 0 ? void 0 : _this$cameraPoi2.generateObject();
|
|
59
59
|
};
|
|
60
60
|
var toggleOverview = function toggleOverview() {
|
|
61
|
+
this.scene.camera.layers.disable(28);
|
|
61
62
|
showOverview.apply(this);
|
|
62
63
|
closePeopleManagemen.apply(this);
|
|
63
64
|
closeSmartInspection.apply(this);
|
|
64
65
|
closeCameraPoiInspection.apply(this);
|
|
65
66
|
};
|
|
66
67
|
var togglePeopleManagemen = function togglePeopleManagemen() {
|
|
68
|
+
this.scene.camera.layers.enable(28);
|
|
67
69
|
showPeopleManagemen.apply(this);
|
|
68
70
|
closeOverview.apply(this);
|
|
69
71
|
closeSmartInspection.apply(this);
|
|
70
72
|
closeCameraPoiInspection.apply(this);
|
|
71
73
|
};
|
|
72
74
|
var toggleSmartInspection = function toggleSmartInspection() {
|
|
75
|
+
this.scene.camera.layers.disable(28);
|
|
73
76
|
showSmartInspection.apply(this);
|
|
74
77
|
closeOverview.apply(this);
|
|
75
78
|
closePeopleManagemen.apply(this);
|
|
76
79
|
closeCameraPoiInspection.apply(this);
|
|
77
80
|
};
|
|
78
81
|
var toggleSecurityOperation = function toggleSecurityOperation() {
|
|
82
|
+
this.scene.camera.layers.disable(28);
|
|
79
83
|
showCameraPoiInspection.apply(this);
|
|
80
84
|
closeOverview.apply(this);
|
|
81
85
|
closePeopleManagemen.apply(this);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["utils","SceneStyle","SceneTag","MessageType","sendToMessage","EMessageStatus","WallManage","CylinderManage","PoiManage","CircleManage","AreaBoundingBoxManage","Inspection","CameraPoi","DistrictLineManage","emitter","showOverview","poi","generatePoi","closeOverview","wall","wallMesh","forEach","mesh","visible","remove","showPeopleManagemen","cylinder","cylinderMesh","districtLine","generateLine","closePeopleManagemen","circle","showSmartInspection","inspection","show","closeSmartInspection","hide","closeCameraPoiInspection","cameraPoi","showCameraPoiInspection","generateObject","toggleOverview","apply","togglePeopleManagemen","toggleSmartInspection","toggleSecurityOperation","toggleTag","overview","tag","toggleSceneStyle","real","tech","handleUnit","generateWall","generateCylinder","on","data","Event","Success","undefined","type","generateCircle","belongTo","areaBoundingBox","generateBoundingBox","addEventListener","args","item"],"sources":["../../../src/factory/unit/index.ts"],"sourcesContent":["import { utils } from '@anov/3d-core'\nimport { SceneStyle, SceneTag } from '../utils/constant'\n\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport WallManage from './wall'\nimport CylinderManage from './cylinder'\nimport PoiManage from './poi'\nimport CircleManage from './circle'\nimport AreaBoundingBoxManage from './areaBoundingBox'\nimport Inspection from './inspection'\nimport CameraPoi from './CameraPoi'\nimport DistrictLineManage from './districtLine'\n\nconst { emitter } = utils\n\n// 临时优化\n\nconst showOverview = function () {\n this.poi.generatePoi()\n}\n\nconst closeOverview = function () {\n this.wall.wallMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n this.poi.remove()\n}\n\nconst showPeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = true\n })\n this.districtLine.generateLine()\n}\n\nconst closePeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = false\n })\n this.districtLine.remove()\n this.circle.remove()\n}\n\nconst showSmartInspection = function () {\n this.inspection.show()\n}\n\nconst closeSmartInspection = function () {\n this.inspection.hide()\n}\n\nconst closeCameraPoiInspection = function () {\n this.cameraPoi?.remove()\n}\nconst showCameraPoiInspection = function () {\n this.cameraPoi?.generateObject()\n}\n\nconst toggleOverview = function () {\n showOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n}\n\nconst togglePeopleManagemen = function () {\n showPeopleManagemen.apply(this)\n closeOverview.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n}\n\nconst toggleSmartInspection = function () {\n showSmartInspection.apply(this)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeCameraPoiInspection.apply(this)\n}\n\nconst toggleSecurityOperation = function () {\n showCameraPoiInspection.apply(this)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n}\n\nexport const toggleTag = {\n [SceneTag.overview]() {\n this.tag = SceneTag.overview\n this.toggleSceneStyle(SceneStyle.real)\n\n toggleOverview.apply(this)\n },\n [SceneTag['people-management']]() {\n this.tag = SceneTag['people-management']\n this.toggleSceneStyle(SceneStyle.tech)\n\n togglePeopleManagemen.apply(this)\n },\n [SceneTag['smart-inspection']]() {\n this.tag = SceneTag['smart-inspection']\n this.toggleSceneStyle(SceneStyle.real)\n\n toggleSmartInspection.apply(this)\n },\n [SceneTag['security-operation']]() {\n this.tag = SceneTag['security-operation']\n this.toggleSceneStyle(SceneStyle.real)\n\n toggleSecurityOperation.apply(this)\n },\n}\n\nconst handleUnit = function () {\n // 围栏\n const wall = new WallManage(this, { visible: false })\n wall.generateWall()\n this.wall = wall\n\n // 圆柱\n const cylinder = new CylinderManage(this, {\n visible: false,\n })\n cylinder.generateCylinder()\n\n this.cylinder = cylinder\n\n // POI\n const poi = new PoiManage(this)\n poi.generatePoi()\n this.poi = poi\n\n // people\n const circle = new CircleManage(this)\n this.circle = circle\n\n const districtLine = new DistrictLineManage(this)\n this.districtLine = districtLine\n\n emitter.on('peoplemanagement-camera-enter', (data: any) => {\n sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, {\n type: 'Bar',\n ...data,\n })\n this.circle.generateCircle(data?.belongTo)\n })\n\n emitter.on('peoplemanagement-person-click', (data: any) => {\n sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, {\n type: 'POI',\n ...data,\n })\n })\n\n // boundingBox\n const areaBoundingBox = new AreaBoundingBoxManage()\n areaBoundingBox.generateBoundingBox()\n this.areaBoundingBox = areaBoundingBox\n\n const inspection = new Inspection(this)\n this.inspection = inspection\n\n const cameraPoi = new CameraPoi(this)\n this.cameraPoi = cameraPoi\n\n // some global events handle\n this.addEventListener('peoplemanagement-camera-out', (args) => {\n if (this.tag !== SceneTag['people-management'])\n return\n cylinder.cylinderMesh.forEach((item) => {\n item.visible = true\n })\n this.circle.remove()\n })\n\n emitter.on('peoplemanagement-control-maxDistance', () => {\n sendToMessage(MessageType.Event, 'onCancel', EMessageStatus.Success, undefined, { })\n })\n}\n\nexport default handleUnit\n"],"mappings":";;;;;;;AAAA,SAASA,KAAK,QAAQ,eAAe;AACrC,SAASC,UAAU,EAAEC,QAAQ;AAE7B,SAASC,WAAW,EAAEC,aAAa;AACnC,SAASC,cAAc;AACvB,OAAOC,UAAU;AACjB,OAAOC,cAAc;AACrB,OAAOC,SAAS;AAChB,OAAOC,YAAY;AACnB,OAAOC,qBAAqB;AAC5B,OAAOC,UAAU;AACjB,OAAOC,SAAS;AAChB,OAAOC,kBAAkB;AAEzB,IAAQC,OAAO,GAAKd,KAAK,CAAjBc,OAAO;;AAEf;;AAEA,IAAMC,YAAY,GAAG,SAAfA,YAAY,GAAe;EAC/B,IAAI,CAACC,GAAG,CAACC,WAAW,EAAE;AACxB,CAAC;AAED,IAAMC,aAAa,GAAG,SAAhBA,aAAa,GAAe;EAChC,IAAI,CAACC,IAAI,CAACC,QAAQ,CAACC,OAAO,CAAC,UAACC,IAAI,EAAK;IACnCA,IAAI,CAACC,OAAO,GAAG,KAAK;EACtB,CAAC,CAAC;EAEF,IAAI,CAACP,GAAG,CAACQ,MAAM,EAAE;AACnB,CAAC;AAED,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmB,GAAe;EACtC,IAAI,CAACC,QAAQ,CAACC,YAAY,CAACN,OAAO,CAAC,UAACC,IAAI,EAAK;IAC3CA,IAAI,CAACC,OAAO,GAAG,IAAI;EACrB,CAAC,CAAC;EACF,IAAI,CAACK,YAAY,CAACC,YAAY,EAAE;AAClC,CAAC;AAED,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoB,GAAe;EACvC,IAAI,CAACJ,QAAQ,CAACC,YAAY,CAACN,OAAO,CAAC,UAACC,IAAI,EAAK;IAC3CA,IAAI,CAACC,OAAO,GAAG,KAAK;EACtB,CAAC,CAAC;EACF,IAAI,CAACK,YAAY,CAACJ,MAAM,EAAE;EAC1B,IAAI,CAACO,MAAM,CAACP,MAAM,EAAE;AACtB,CAAC;AAED,IAAMQ,mBAAmB,GAAG,SAAtBA,mBAAmB,GAAe;EACtC,IAAI,CAACC,UAAU,CAACC,IAAI,EAAE;AACxB,CAAC;AAED,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoB,GAAe;EACvC,IAAI,CAACF,UAAU,CAACG,IAAI,EAAE;AACxB,CAAC;AAED,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwB,GAAe;EAAA;EAC3C,uBAAI,CAACC,SAAS,oDAAd,gBAAgBd,MAAM,EAAE;AAC1B,CAAC;AACD,IAAMe,uBAAuB,GAAG,SAA1BA,uBAAuB,GAAe;EAAA;EAC1C,wBAAI,CAACD,SAAS,qDAAd,iBAAgBE,cAAc,EAAE;AAClC,CAAC;AAED,IAAMC,cAAc,GAAG,SAAjBA,cAAc,GAAe;EACjC1B,YAAY,CAAC2B,KAAK,CAAC,IAAI,CAAC;EACxBZ,oBAAoB,CAACY,KAAK,CAAC,IAAI,CAAC;EAChCP,oBAAoB,CAACO,KAAK,CAAC,IAAI,CAAC;EAChCL,wBAAwB,CAACK,KAAK,CAAC,IAAI,CAAC;AACtC,CAAC;AAED,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqB,GAAe;EACxClB,mBAAmB,CAACiB,KAAK,CAAC,IAAI,CAAC;EAC/BxB,aAAa,CAACwB,KAAK,CAAC,IAAI,CAAC;EACzBP,oBAAoB,CAACO,KAAK,CAAC,IAAI,CAAC;EAChCL,wBAAwB,CAACK,KAAK,CAAC,IAAI,CAAC;AACtC,CAAC;AAED,IAAME,qBAAqB,GAAG,SAAxBA,qBAAqB,GAAe;EACxCZ,mBAAmB,CAACU,KAAK,CAAC,IAAI,CAAC;EAC/BxB,aAAa,CAACwB,KAAK,CAAC,IAAI,CAAC;EACzBZ,oBAAoB,CAACY,KAAK,CAAC,IAAI,CAAC;EAChCL,wBAAwB,CAACK,KAAK,CAAC,IAAI,CAAC;AACtC,CAAC;AAED,IAAMG,uBAAuB,GAAG,SAA1BA,uBAAuB,GAAe;EAC1CN,uBAAuB,CAACG,KAAK,CAAC,IAAI,CAAC;EACnCxB,aAAa,CAACwB,KAAK,CAAC,IAAI,CAAC;EACzBZ,oBAAoB,CAACY,KAAK,CAAC,IAAI,CAAC;EAChCP,oBAAoB,CAACO,KAAK,CAAC,IAAI,CAAC;AAClC,CAAC;AAED,OAAO,IAAMI,SAAS,iDACnB5C,QAAQ,CAAC6C,QAAQ,cAAI;EACpB,IAAI,CAACC,GAAG,GAAG9C,QAAQ,CAAC6C,QAAQ;EAC5B,IAAI,CAACE,gBAAgB,CAAChD,UAAU,CAACiD,IAAI,CAAC;EAEtCT,cAAc,CAACC,KAAK,CAAC,IAAI,CAAC;AAC5B,CAAC,+BACAxC,QAAQ,CAAC,mBAAmB,CAAC,cAAI;EAChC,IAAI,CAAC8C,GAAG,GAAG9C,QAAQ,CAAC,mBAAmB,CAAC;EACxC,IAAI,CAAC+C,gBAAgB,CAAChD,UAAU,CAACkD,IAAI,CAAC;EAEtCR,qBAAqB,CAACD,KAAK,CAAC,IAAI,CAAC;AACnC,CAAC,+BACAxC,QAAQ,CAAC,kBAAkB,CAAC,cAAI;EAC/B,IAAI,CAAC8C,GAAG,GAAG9C,QAAQ,CAAC,kBAAkB,CAAC;EACvC,IAAI,CAAC+C,gBAAgB,CAAChD,UAAU,CAACiD,IAAI,CAAC;EAEtCN,qBAAqB,CAACF,KAAK,CAAC,IAAI,CAAC;AACnC,CAAC,+BACAxC,QAAQ,CAAC,oBAAoB,CAAC,cAAI;EACjC,IAAI,CAAC8C,GAAG,GAAG9C,QAAQ,CAAC,oBAAoB,CAAC;EACzC,IAAI,CAAC+C,gBAAgB,CAAChD,UAAU,CAACiD,IAAI,CAAC;EAEtCL,uBAAuB,CAACH,KAAK,CAAC,IAAI,CAAC;AACrC,CAAC,cACF;AAED,IAAMU,UAAU,GAAG,SAAbA,UAAU,GAAe;EAAA;EAC7B;EACA,IAAMjC,IAAI,GAAG,IAAIb,UAAU,CAAC,IAAI,EAAE;IAAEiB,OAAO,EAAE;EAAM,CAAC,CAAC;EACrDJ,IAAI,CAACkC,YAAY,EAAE;EACnB,IAAI,CAAClC,IAAI,GAAGA,IAAI;;EAEhB;EACA,IAAMO,QAAQ,GAAG,IAAInB,cAAc,CAAC,IAAI,EAAE;IACxCgB,OAAO,EAAE;EACX,CAAC,CAAC;EACFG,QAAQ,CAAC4B,gBAAgB,EAAE;EAE3B,IAAI,CAAC5B,QAAQ,GAAGA,QAAQ;;EAExB;EACA,IAAMV,GAAG,GAAG,IAAIR,SAAS,CAAC,IAAI,CAAC;EAC/BQ,GAAG,CAACC,WAAW,EAAE;EACjB,IAAI,CAACD,GAAG,GAAGA,GAAG;;EAEd;EACA,IAAMe,MAAM,GAAG,IAAItB,YAAY,CAAC,IAAI,CAAC;EACrC,IAAI,CAACsB,MAAM,GAAGA,MAAM;EAEpB,IAAMH,YAAY,GAAG,IAAIf,kBAAkB,CAAC,IAAI,CAAC;EACjD,IAAI,CAACe,YAAY,GAAGA,YAAY;EAEhCd,OAAO,CAACyC,EAAE,CAAC,+BAA+B,EAAE,UAACC,IAAS,EAAK;IACzDpD,aAAa,CAACD,WAAW,CAACsD,KAAK,EAAE,SAAS,EAAEpD,cAAc,CAACqD,OAAO,EAAEC,SAAS;MAC3EC,IAAI,EAAE;IAAK,GACRJ,IAAI,EACP;IACF,KAAI,CAACzB,MAAM,CAAC8B,cAAc,CAACL,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEM,QAAQ,CAAC;EAC5C,CAAC,CAAC;EAEFhD,OAAO,CAACyC,EAAE,CAAC,+BAA+B,EAAE,UAACC,IAAS,EAAK;IACzDpD,aAAa,CAACD,WAAW,CAACsD,KAAK,EAAE,SAAS,EAAEpD,cAAc,CAACqD,OAAO,EAAEC,SAAS;MAC3EC,IAAI,EAAE;IAAK,GACRJ,IAAI,EACP;EACJ,CAAC,CAAC;;EAEF;EACA,IAAMO,eAAe,GAAG,IAAIrD,qBAAqB,EAAE;EACnDqD,eAAe,CAACC,mBAAmB,EAAE;EACrC,IAAI,CAACD,eAAe,GAAGA,eAAe;EAEtC,IAAM9B,UAAU,GAAG,IAAItB,UAAU,CAAC,IAAI,CAAC;EACvC,IAAI,CAACsB,UAAU,GAAGA,UAAU;EAE5B,IAAMK,SAAS,GAAG,IAAI1B,SAAS,CAAC,IAAI,CAAC;EACrC,IAAI,CAAC0B,SAAS,GAAGA,SAAS;;EAE1B;EACA,IAAI,CAAC2B,gBAAgB,CAAC,6BAA6B,EAAE,UAACC,IAAI,EAAK;IAC7D,IAAI,KAAI,CAAClB,GAAG,KAAK9C,QAAQ,CAAC,mBAAmB,CAAC,EAC5C;IACFwB,QAAQ,CAACC,YAAY,CAACN,OAAO,CAAC,UAAC8C,IAAI,EAAK;MACtCA,IAAI,CAAC5C,OAAO,GAAG,IAAI;IACrB,CAAC,CAAC;IACF,KAAI,CAACQ,MAAM,CAACP,MAAM,EAAE;EACtB,CAAC,CAAC;EAEFV,OAAO,CAACyC,EAAE,CAAC,sCAAsC,EAAE,YAAM;IACvDnD,aAAa,CAACD,WAAW,CAACsD,KAAK,EAAE,UAAU,EAAEpD,cAAc,CAACqD,OAAO,EAAEC,SAAS,EAAE,CAAE,CAAC,CAAC;EACtF,CAAC,CAAC;AACJ,CAAC;AAED,eAAeP,UAAU"}
|
|
1
|
+
{"version":3,"names":["utils","SceneStyle","SceneTag","MessageType","sendToMessage","EMessageStatus","WallManage","CylinderManage","PoiManage","CircleManage","AreaBoundingBoxManage","Inspection","CameraPoi","DistrictLineManage","emitter","showOverview","poi","generatePoi","closeOverview","wall","wallMesh","forEach","mesh","visible","remove","showPeopleManagemen","cylinder","cylinderMesh","districtLine","generateLine","closePeopleManagemen","circle","showSmartInspection","inspection","show","closeSmartInspection","hide","closeCameraPoiInspection","cameraPoi","showCameraPoiInspection","generateObject","toggleOverview","scene","camera","layers","disable","apply","togglePeopleManagemen","enable","toggleSmartInspection","toggleSecurityOperation","toggleTag","overview","tag","toggleSceneStyle","real","tech","handleUnit","generateWall","generateCylinder","on","data","Event","Success","undefined","type","generateCircle","belongTo","areaBoundingBox","generateBoundingBox","addEventListener","args","item"],"sources":["../../../src/factory/unit/index.ts"],"sourcesContent":["import { Layers, utils } from '@anov/3d-core'\nimport { SceneStyle, SceneTag } from '../utils/constant'\n\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport WallManage from './wall'\nimport CylinderManage from './cylinder'\nimport PoiManage from './poi'\nimport CircleManage from './circle'\nimport AreaBoundingBoxManage from './areaBoundingBox'\nimport Inspection from './inspection'\nimport CameraPoi from './CameraPoi'\nimport DistrictLineManage from './districtLine'\n\nconst { emitter } = utils\n\n// 临时优化\n\nconst showOverview = function () {\n this.poi.generatePoi()\n}\n\nconst closeOverview = function () {\n this.wall.wallMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n this.poi.remove()\n}\n\nconst showPeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = true\n })\n this.districtLine.generateLine()\n}\n\nconst closePeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = false\n })\n this.districtLine.remove()\n this.circle.remove()\n}\n\nconst showSmartInspection = function () {\n this.inspection.show()\n}\n\nconst closeSmartInspection = function () {\n this.inspection.hide()\n}\n\nconst closeCameraPoiInspection = function () {\n this.cameraPoi?.remove()\n}\nconst showCameraPoiInspection = function () {\n this.cameraPoi?.generateObject()\n}\n\nconst toggleOverview = function () {\n this.scene.camera.layers.disable(28)\n showOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n}\n\nconst togglePeopleManagemen = function () {\n this.scene.camera.layers.enable(28)\n showPeopleManagemen.apply(this)\n closeOverview.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n}\n\nconst toggleSmartInspection = function () {\n this.scene.camera.layers.disable(28)\n showSmartInspection.apply(this)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeCameraPoiInspection.apply(this)\n}\n\nconst toggleSecurityOperation = function () {\n this.scene.camera.layers.disable(28)\n showCameraPoiInspection.apply(this)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n}\n\nexport const toggleTag = {\n [SceneTag.overview]() {\n this.tag = SceneTag.overview\n this.toggleSceneStyle(SceneStyle.real)\n\n toggleOverview.apply(this)\n },\n [SceneTag['people-management']]() {\n this.tag = SceneTag['people-management']\n this.toggleSceneStyle(SceneStyle.tech)\n\n togglePeopleManagemen.apply(this)\n },\n [SceneTag['smart-inspection']]() {\n this.tag = SceneTag['smart-inspection']\n this.toggleSceneStyle(SceneStyle.real)\n\n toggleSmartInspection.apply(this)\n },\n [SceneTag['security-operation']]() {\n this.tag = SceneTag['security-operation']\n this.toggleSceneStyle(SceneStyle.real)\n\n toggleSecurityOperation.apply(this)\n },\n}\n\nconst handleUnit = function () {\n // 围栏\n const wall = new WallManage(this, { visible: false })\n wall.generateWall()\n this.wall = wall\n\n // 圆柱\n const cylinder = new CylinderManage(this, {\n visible: false,\n })\n cylinder.generateCylinder()\n\n this.cylinder = cylinder\n\n // POI\n const poi = new PoiManage(this)\n poi.generatePoi()\n this.poi = poi\n\n // people\n const circle = new CircleManage(this)\n this.circle = circle\n\n const districtLine = new DistrictLineManage(this)\n this.districtLine = districtLine\n\n emitter.on('peoplemanagement-camera-enter', (data: any) => {\n sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, {\n type: 'Bar',\n ...data,\n })\n this.circle.generateCircle(data?.belongTo)\n })\n\n emitter.on('peoplemanagement-person-click', (data: any) => {\n sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, {\n type: 'POI',\n ...data,\n })\n })\n\n // boundingBox\n const areaBoundingBox = new AreaBoundingBoxManage()\n areaBoundingBox.generateBoundingBox()\n this.areaBoundingBox = areaBoundingBox\n\n const inspection = new Inspection(this)\n this.inspection = inspection\n\n const cameraPoi = new CameraPoi(this)\n this.cameraPoi = cameraPoi\n\n // some global events handle\n this.addEventListener('peoplemanagement-camera-out', (args) => {\n if (this.tag !== SceneTag['people-management'])\n return\n cylinder.cylinderMesh.forEach((item) => {\n item.visible = true\n })\n this.circle.remove()\n })\n\n emitter.on('peoplemanagement-control-maxDistance', () => {\n sendToMessage(MessageType.Event, 'onCancel', EMessageStatus.Success, undefined, { })\n })\n}\n\nexport default handleUnit\n"],"mappings":"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"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { ShaderMaterial, Sprite, TextureLoader, Vector3, Vector4, use } from '@anov/3d-core';
|
|
2
|
+
var riseSpriteMaterial = new ShaderMaterial({
|
|
3
|
+
uniforms: {
|
|
4
|
+
_TintColor: {
|
|
5
|
+
value: new Vector4(1, 1, 1, 1)
|
|
6
|
+
},
|
|
7
|
+
_MainTex: {
|
|
8
|
+
value: new TextureLoader().load('./test03.png')
|
|
9
|
+
},
|
|
10
|
+
_InvFade: {
|
|
11
|
+
value: 0.5
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
depthTest: false,
|
|
15
|
+
transparent: true,
|
|
16
|
+
vertexShader: /* glsl */"\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n ",
|
|
17
|
+
fragmentShader: /* glsl */"\nuniform vec3 _TintColor;\nuniform sampler2D _MainTex;\nuniform float _InvFade;\n\nvarying vec2 vUv;\n\nvoid main() {\n #ifdef USE_SOFTPARTICLES\n float sceneZ = texture2DProj(_CameraDepthTexture, vec4(vUv, 0.0, 1.0)).r;\n float partZ = gl_FragCoord.z / gl_FragCoord.w;\n float fade = clamp(_InvFade * (sceneZ - partZ), 0.0, 1.0);\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0 * fade, texture2D(_MainTex, vUv).a);\n #else\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0, texture2D(_MainTex, vUv).a);\n #endif\n\n \n}\n "
|
|
18
|
+
});
|
|
19
|
+
var lookAtOnYAxis = function lookAtOnYAxis(mesh, targetPosition) {
|
|
20
|
+
var direction = new Vector3().subVectors(targetPosition, mesh.position);
|
|
21
|
+
direction.y = 0;
|
|
22
|
+
direction.normalize();
|
|
23
|
+
var rotationY = Math.atan2(-direction.z, direction.x);
|
|
24
|
+
rotationY -= Math.PI / 2;
|
|
25
|
+
mesh.rotation.y = rotationY + Math.PI;
|
|
26
|
+
};
|
|
27
|
+
var position = [{
|
|
28
|
+
x: -498.20348353985537,
|
|
29
|
+
y: 1.724138326633124,
|
|
30
|
+
z: -281.23472454616785
|
|
31
|
+
}, {
|
|
32
|
+
x: -563.1644534597008,
|
|
33
|
+
y: -7.638570902979723,
|
|
34
|
+
z: -149.5955833695798
|
|
35
|
+
}, {
|
|
36
|
+
x: -539.9109368199106,
|
|
37
|
+
y: -0.7796363631222221,
|
|
38
|
+
z: 4.303779590985869
|
|
39
|
+
}, {
|
|
40
|
+
x: -534.3300967431978,
|
|
41
|
+
y: -1.9484837019957695,
|
|
42
|
+
z: 207.03842215576515
|
|
43
|
+
}, {
|
|
44
|
+
x: -442.78992295689204,
|
|
45
|
+
y: -0.9124291814532626,
|
|
46
|
+
z: 284.6781114942187
|
|
47
|
+
}, {
|
|
48
|
+
x: -283.09754160435295,
|
|
49
|
+
y: -0.8067932128907387,
|
|
50
|
+
z: 284.7632588661927
|
|
51
|
+
}, {
|
|
52
|
+
x: -17.793886943446523,
|
|
53
|
+
y: -0.8170822284307633,
|
|
54
|
+
z: 278.6614163511422
|
|
55
|
+
}, {
|
|
56
|
+
x: 179.67836454455573,
|
|
57
|
+
y: -0.7142971925655957,
|
|
58
|
+
z: 277.5182969378766
|
|
59
|
+
}, {
|
|
60
|
+
x: 508.9391424549631,
|
|
61
|
+
y: -0.06078556583531736,
|
|
62
|
+
z: 270.6384956562051
|
|
63
|
+
}, {
|
|
64
|
+
x: 533.1529366899049,
|
|
65
|
+
y: -0.3130418997158131,
|
|
66
|
+
z: 175.59337885556306
|
|
67
|
+
}, {
|
|
68
|
+
x: 533.9192918796916,
|
|
69
|
+
y: -0.595400047193607,
|
|
70
|
+
z: 70.85117576185621
|
|
71
|
+
}, {
|
|
72
|
+
x: 558.8072691291136,
|
|
73
|
+
y: 5.982457089229797,
|
|
74
|
+
z: -47.46377685009156
|
|
75
|
+
}, {
|
|
76
|
+
x: 536.4516296924203,
|
|
77
|
+
y: 1.629037413908577,
|
|
78
|
+
z: -152.78540121590413
|
|
79
|
+
}, {
|
|
80
|
+
x: 555.1397274226065,
|
|
81
|
+
y: 0.23968594510984076,
|
|
82
|
+
z: -307.35056881373566
|
|
83
|
+
}, {
|
|
84
|
+
x: 476.2494806852892,
|
|
85
|
+
y: -0.8084288516456581,
|
|
86
|
+
z: -345.36949523013845
|
|
87
|
+
}, {
|
|
88
|
+
x: 216.87888929400197,
|
|
89
|
+
y: -0.5794669817644262,
|
|
90
|
+
z: -332.7211786339103
|
|
91
|
+
}, {
|
|
92
|
+
x: 175.22031507466454,
|
|
93
|
+
y: -0.5724182128905113,
|
|
94
|
+
z: -341.87163811528535
|
|
95
|
+
}, {
|
|
96
|
+
x: -35.18223117258549,
|
|
97
|
+
y: -0.6265496863107956,
|
|
98
|
+
z: -379.64710400924196
|
|
99
|
+
}, {
|
|
100
|
+
x: -356.44488560882746,
|
|
101
|
+
y: -0.8819180034963665,
|
|
102
|
+
z: -351.6907599590395
|
|
103
|
+
}, {
|
|
104
|
+
x: -237.58163560440826,
|
|
105
|
+
y: 1.1368683772161603e-13,
|
|
106
|
+
z: -128.96463232189376
|
|
107
|
+
}, {
|
|
108
|
+
x: 196.42648060764338,
|
|
109
|
+
y: 1.1368683772161603e-13,
|
|
110
|
+
z: 55.58793681693976
|
|
111
|
+
}, {
|
|
112
|
+
x: -235.24785890696023,
|
|
113
|
+
y: 0,
|
|
114
|
+
z: 187.57190736438497
|
|
115
|
+
}];
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* todo: other page remove animation
|
|
119
|
+
* @param riseLayer
|
|
120
|
+
*/
|
|
121
|
+
var createRiseLayer = function createRiseLayer(riseLayer) {
|
|
122
|
+
var _use$useScene = use.useScene(),
|
|
123
|
+
scene = _use$useScene.scene,
|
|
124
|
+
camera = _use$useScene.camera;
|
|
125
|
+
var RiseLayer = riseLayer !== null && riseLayer !== void 0 ? riseLayer : 28;
|
|
126
|
+
position.forEach(function (item) {
|
|
127
|
+
var sprite = new Sprite(riseSpriteMaterial);
|
|
128
|
+
sprite.scale.set(30, 30, 1);
|
|
129
|
+
sprite.rotateZ(-Math.PI / 2);
|
|
130
|
+
sprite.position.set(item.x, item.y + Math.random() * 300, item.z);
|
|
131
|
+
sprite.layers.set(RiseLayer);
|
|
132
|
+
use.useframe(function () {
|
|
133
|
+
lookAtOnYAxis(sprite, camera.position);
|
|
134
|
+
if (sprite.position.y > 300) sprite.position.y = 0;
|
|
135
|
+
sprite.position.y += 1.5;
|
|
136
|
+
});
|
|
137
|
+
scene.add(sprite);
|
|
138
|
+
});
|
|
139
|
+
};
|
|
140
|
+
export default createRiseLayer;
|
|
141
|
+
//# sourceMappingURL=rise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ShaderMaterial","Sprite","TextureLoader","Vector3","Vector4","use","riseSpriteMaterial","uniforms","_TintColor","value","_MainTex","load","_InvFade","depthTest","transparent","vertexShader","fragmentShader","lookAtOnYAxis","mesh","targetPosition","direction","subVectors","position","y","normalize","rotationY","Math","atan2","z","x","PI","rotation","createRiseLayer","riseLayer","useScene","scene","camera","RiseLayer","forEach","item","sprite","scale","set","rotateZ","random","layers","useframe","add"],"sources":["../../../../src/factory/unit/layer/rise.ts"],"sourcesContent":["import { ShaderMaterial, Sprite, TextureLoader, Vector3, Vector4, lib, use } from '@anov/3d-core'\n\nconst riseSpriteMaterial = new ShaderMaterial(\n {\n uniforms: {\n _TintColor: {\n value: new Vector4(1, 1, 1, 1),\n },\n _MainTex: {\n value: new TextureLoader().load('./test03.png'),\n },\n _InvFade: {\n value: 0.5,\n },\n },\n depthTest: false,\n transparent: true,\n vertexShader: /* glsl */`\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n `,\n fragmentShader: /* glsl */`\nuniform vec3 _TintColor;\nuniform sampler2D _MainTex;\nuniform float _InvFade;\n\nvarying vec2 vUv;\n\nvoid main() {\n #ifdef USE_SOFTPARTICLES\n float sceneZ = texture2DProj(_CameraDepthTexture, vec4(vUv, 0.0, 1.0)).r;\n float partZ = gl_FragCoord.z / gl_FragCoord.w;\n float fade = clamp(_InvFade * (sceneZ - partZ), 0.0, 1.0);\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0 * fade, texture2D(_MainTex, vUv).a);\n #else\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0, texture2D(_MainTex, vUv).a);\n #endif\n\n \n}\n `,\n\n },\n)\n\nconst 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}\n\nconst position = [{ x: -498.20348353985537, y: 1.724138326633124, z: -281.23472454616785 },\n { x: -563.1644534597008, y: -7.638570902979723, z: -149.5955833695798 },\n { x: -539.9109368199106, y: -0.7796363631222221, z: 4.303779590985869 },\n { x: -534.3300967431978, y: -1.9484837019957695, z: 207.03842215576515 },\n { x: -442.78992295689204, y: -0.9124291814532626, z: 284.6781114942187 },\n { x: -283.09754160435295, y: -0.8067932128907387, z: 284.7632588661927 },\n { x: -17.793886943446523, y: -0.8170822284307633, z: 278.6614163511422 },\n { x: 179.67836454455573, y: -0.7142971925655957, z: 277.5182969378766 },\n { x: 508.9391424549631, y: -0.06078556583531736, z: 270.6384956562051 },\n { x: 533.1529366899049, y: -0.3130418997158131, z: 175.59337885556306 },\n { x: 533.9192918796916, y: -0.595400047193607, z: 70.85117576185621 },\n { x: 558.8072691291136, y: 5.982457089229797, z: -47.46377685009156 },\n { x: 536.4516296924203, y: 1.629037413908577, z: -152.78540121590413 },\n { x: 555.1397274226065, y: 0.23968594510984076, z: -307.35056881373566 },\n { x: 476.2494806852892, y: -0.8084288516456581, z: -345.36949523013845 },\n { x: 216.87888929400197, y: -0.5794669817644262, z: -332.7211786339103 },\n { x: 175.22031507466454, y: -0.5724182128905113, z: -341.87163811528535 },\n { x: -35.18223117258549, y: -0.6265496863107956, z: -379.64710400924196 },\n { x: -356.44488560882746, y: -0.8819180034963665, z: -351.6907599590395 },\n { x: -237.58163560440826, y: 1.1368683772161603e-13, z: -128.96463232189376 },\n { x: 196.42648060764338, y: 1.1368683772161603e-13, z: 55.58793681693976 },\n { x: -235.24785890696023, y: 0, z: 187.57190736438497 },\n\n]\n\n/**\n * todo: other page remove animation\n * @param riseLayer\n */\nconst createRiseLayer = (riseLayer?: number) => {\n const { scene, camera } = use.useScene()\n const RiseLayer = riseLayer ?? 28\n\n position.forEach((item) => {\n const sprite = new Sprite(\n riseSpriteMaterial as any,\n )\n\n sprite.scale.set(30, 30, 1)\n sprite.rotateZ(-Math.PI / 2)\n\n sprite.position.set(item.x, item.y + Math.random() * 300, item.z)\n sprite.layers.set(RiseLayer)\n\n use.useframe(() => {\n lookAtOnYAxis(sprite, camera.position)\n\n if (sprite.position.y > 300)\n sprite.position.y = 0\n\n sprite.position.y += 1.5\n })\n\n scene.add(sprite)\n })\n}\n\nexport default createRiseLayer"],"mappings":"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"}
|