@anov/3d 0.0.13 → 0.0.15
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.d.ts +23 -14
- package/dist/factory/3d.js +143 -55
- package/dist/factory/3d.js.map +1 -1
- package/dist/factory/regionData.d.ts +8 -0
- package/dist/factory/regionData.js +59 -6
- package/dist/factory/regionData.js.map +1 -1
- package/dist/factory/unit/CameraPoi.d.ts +52 -4
- package/dist/factory/unit/CameraPoi.js +701 -55
- package/dist/factory/unit/CameraPoi.js.map +1 -1
- package/dist/factory/unit/glsl/heat/frag.d.ts +2 -0
- package/dist/factory/unit/glsl/heat/frag.glsl +37 -0
- package/dist/factory/unit/glsl/heat/frag.js +3 -0
- package/dist/factory/unit/glsl/heat/frag.js.map +1 -0
- package/dist/factory/unit/glsl/heat/ver.d.ts +2 -0
- package/dist/factory/unit/glsl/heat/ver.glsl +15 -0
- package/dist/factory/unit/glsl/heat/ver.js +3 -0
- package/dist/factory/unit/glsl/heat/ver.js.map +1 -0
- package/dist/factory/unit/handle.d.ts +4 -0
- package/dist/factory/unit/handle.js +20 -14
- package/dist/factory/unit/handle.js.map +1 -1
- package/dist/factory/unit/index.js +23 -13
- package/dist/factory/unit/index.js.map +1 -1
- package/dist/factory/unit/inspection/InspectionObject.d.ts +26 -0
- package/dist/factory/unit/{inspection.js → inspection/InspectionObject.js} +275 -133
- package/dist/factory/unit/inspection/InspectionObject.js.map +1 -0
- package/dist/factory/unit/{inspection.d.ts → inspection/index.d.ts} +8 -9
- package/dist/factory/unit/inspection/index.js +160 -0
- package/dist/factory/unit/inspection/index.js.map +1 -0
- package/dist/factory/unit/inspection/lineData.d.ts +21 -0
- package/dist/factory/unit/inspection/lineData.js +32 -0
- package/dist/factory/unit/inspection/lineData.js.map +1 -0
- package/dist/factory/unit/poi.d.ts +1 -0
- package/dist/factory/unit/poi.js +28 -14
- package/dist/factory/unit/poi.js.map +1 -1
- package/dist/factory/utils/constant.d.ts +0 -1
- package/dist/factory/utils/constant.js +0 -1
- package/dist/factory/utils/constant.js.map +1 -1
- package/dist/factory/utils/finirMaterial.d.ts +1 -0
- package/dist/factory/utils/finirMaterial.js +19 -1
- package/dist/factory/utils/finirMaterial.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/module/environment/time/index.d.ts +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/package.json +4 -3
- package/dist/factory/unit/inspection.js.map +0 -1
- package/dist/factory/unit/poi copy.d.ts +0 -15
- package/dist/factory/unit/poi copy.js +0 -144
- package/dist/factory/unit/poi copy.js.map +0 -1
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
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
|
+
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(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
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 { Group, Mesh, MeshBasicMaterial, MirroredRepeatWrapping, PerspectiveCamera, RepeatWrapping, TextureLoader, TubeGeometry, use } from '@anov/3d-core';
|
|
9
|
+
import { RoundLineGeometry, initPostEffects } from '@anov/3d-ability';
|
|
10
|
+
import { usePath } from "../../3d";
|
|
11
|
+
import { flyLinePoints, groundLinePoints } from "./lineData";
|
|
12
|
+
import InspectionObject from "./InspectionObject";
|
|
13
|
+
var Inspection = /*#__PURE__*/function () {
|
|
14
|
+
function Inspection(gobal) {
|
|
15
|
+
var _this = this;
|
|
16
|
+
_classCallCheck(this, Inspection);
|
|
17
|
+
_defineProperty(this, "gobal", void 0);
|
|
18
|
+
_defineProperty(this, "inspectionObject", void 0);
|
|
19
|
+
_defineProperty(this, "curve", void 0);
|
|
20
|
+
_defineProperty(this, "line", void 0);
|
|
21
|
+
_defineProperty(this, "viewElement", void 0);
|
|
22
|
+
_defineProperty(this, "minCamera", void 0);
|
|
23
|
+
_defineProperty(this, "InspectionPathObject", void 0);
|
|
24
|
+
this.gobal = gobal;
|
|
25
|
+
this.generateInspectionPath();
|
|
26
|
+
this.makeGroundRoad();
|
|
27
|
+
this.setInspectionCamera();
|
|
28
|
+
this.inspectionObject = new InspectionObject(this);
|
|
29
|
+
this.startInspection(this.curve);
|
|
30
|
+
this.hide();
|
|
31
|
+
var viewElement = document.createElement('div');
|
|
32
|
+
viewElement.style.position = 'absolute';
|
|
33
|
+
viewElement.style.width = '200px';
|
|
34
|
+
viewElement.style.height = '200px';
|
|
35
|
+
viewElement.style.top = '100px';
|
|
36
|
+
viewElement.style.cursor = 'pointer';
|
|
37
|
+
viewElement.addEventListener('click', function () {
|
|
38
|
+
_this.gobal.toggleView();
|
|
39
|
+
});
|
|
40
|
+
this.viewElement = viewElement;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* generate inspection path
|
|
45
|
+
* @param linePosition
|
|
46
|
+
*/
|
|
47
|
+
_createClass(Inspection, [{
|
|
48
|
+
key: "generateInspectionPath",
|
|
49
|
+
value: function generateInspectionPath() {
|
|
50
|
+
var flyLine = new RoundLineGeometry(flyLinePoints, {
|
|
51
|
+
radius: 20,
|
|
52
|
+
close: true
|
|
53
|
+
});
|
|
54
|
+
this.curve = flyLine.curve;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* make ground road
|
|
59
|
+
*/
|
|
60
|
+
}, {
|
|
61
|
+
key: "makeGroundRoad",
|
|
62
|
+
value: function makeGroundRoad() {
|
|
63
|
+
var groundLine = new RoundLineGeometry(groundLinePoints, {
|
|
64
|
+
radius: 20,
|
|
65
|
+
close: true
|
|
66
|
+
});
|
|
67
|
+
var texture = new TextureLoader().load("".concat(usePath, "roll.png"));
|
|
68
|
+
texture.rotation = Math.PI;
|
|
69
|
+
texture.wrapS = RepeatWrapping;
|
|
70
|
+
texture.wrapT = MirroredRepeatWrapping;
|
|
71
|
+
texture.repeat.set(1, 2);
|
|
72
|
+
var tube = new TubeGeometry(groundLine.curve, 10000, 6, 2, false);
|
|
73
|
+
var mesh = new Mesh(tube, new MeshBasicMaterial({
|
|
74
|
+
side: 2,
|
|
75
|
+
map: texture,
|
|
76
|
+
transparent: true
|
|
77
|
+
}));
|
|
78
|
+
var mesh2 = new Mesh(tube, new MeshBasicMaterial({
|
|
79
|
+
side: 2
|
|
80
|
+
}));
|
|
81
|
+
var groundGroup = new Group();
|
|
82
|
+
groundGroup.add(mesh2);
|
|
83
|
+
groundGroup.add(mesh);
|
|
84
|
+
groundGroup.position.y = 3;
|
|
85
|
+
this.line = groundGroup;
|
|
86
|
+
this.gobal.scene.add(groundGroup);
|
|
87
|
+
use.useframe(function () {
|
|
88
|
+
texture.offset.x -= -0.009;
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}, {
|
|
92
|
+
key: "setInspectionCamera",
|
|
93
|
+
value: function setInspectionCamera() {
|
|
94
|
+
var minCamera;
|
|
95
|
+
if (this.minCamera) {
|
|
96
|
+
minCamera = this.minCamera;
|
|
97
|
+
} else {
|
|
98
|
+
minCamera = new PerspectiveCamera(90, window.innerWidth / window.innerHeight, 0.1, 1000);
|
|
99
|
+
}
|
|
100
|
+
this.gobal.scene.cutoutCamera = minCamera;
|
|
101
|
+
this.gobal.scene.cutoutArea = {
|
|
102
|
+
x: 0,
|
|
103
|
+
y: 0,
|
|
104
|
+
width: 200,
|
|
105
|
+
height: 200
|
|
106
|
+
};
|
|
107
|
+
this.gobal.scene.add(minCamera);
|
|
108
|
+
this.minCamera = minCamera;
|
|
109
|
+
this.minCamera.layers.set(0);
|
|
110
|
+
initPostEffects(this.gobal.scene.scene, this.gobal.scene.renderer, this.gobal.scene.cutoutCamera, {
|
|
111
|
+
type: 'sub'
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}, {
|
|
115
|
+
key: "getPathLength",
|
|
116
|
+
get: function get() {
|
|
117
|
+
return this.curve.getLength();
|
|
118
|
+
}
|
|
119
|
+
}, {
|
|
120
|
+
key: "startInspection",
|
|
121
|
+
value: function startInspection(line) {
|
|
122
|
+
this.setInspectionCamera();
|
|
123
|
+
this.inspectionObject.startMove(line);
|
|
124
|
+
}
|
|
125
|
+
}, {
|
|
126
|
+
key: "goToInspectionTarget",
|
|
127
|
+
value: function goToInspectionTarget(targetProgress) {
|
|
128
|
+
var targetPosition = this.curve.getPointAt(targetProgress);
|
|
129
|
+
this.inspectionObject.gotoTarget(targetPosition, targetProgress);
|
|
130
|
+
}
|
|
131
|
+
}, {
|
|
132
|
+
key: "show",
|
|
133
|
+
value: function show() {
|
|
134
|
+
document.body.appendChild(this.viewElement);
|
|
135
|
+
this.gobal.scene.cutout = true;
|
|
136
|
+
this.line.visible = true;
|
|
137
|
+
this.inspectionObject.model && (this.inspectionObject.model.visible = true);
|
|
138
|
+
}
|
|
139
|
+
}, {
|
|
140
|
+
key: "hide",
|
|
141
|
+
value: function hide() {
|
|
142
|
+
var _this2 = this;
|
|
143
|
+
if (this.viewElement && document.body.contains(this.viewElement)) document.body.removeChild(this.viewElement);
|
|
144
|
+
this.gobal.scene.cutout = false;
|
|
145
|
+
this.gobal.scene.cutMain(this.gobal.scene.renderer);
|
|
146
|
+
this.line.visible = false;
|
|
147
|
+
|
|
148
|
+
// this.addeHighSelected([])
|
|
149
|
+
var check = use.useframe(function () {
|
|
150
|
+
if (_this2.inspectionObject.model) {
|
|
151
|
+
_this2.inspectionObject.model.visible = false;
|
|
152
|
+
check();
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}]);
|
|
157
|
+
return Inspection;
|
|
158
|
+
}();
|
|
159
|
+
export default Inspection;
|
|
160
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Group","Mesh","MeshBasicMaterial","MirroredRepeatWrapping","PerspectiveCamera","RepeatWrapping","TextureLoader","TubeGeometry","use","RoundLineGeometry","initPostEffects","usePath","flyLinePoints","groundLinePoints","InspectionObject","Inspection","gobal","generateInspectionPath","makeGroundRoad","setInspectionCamera","inspectionObject","startInspection","curve","hide","viewElement","document","createElement","style","position","width","height","top","cursor","addEventListener","toggleView","flyLine","radius","close","groundLine","texture","load","rotation","Math","PI","wrapS","wrapT","repeat","set","tube","mesh","side","map","transparent","mesh2","groundGroup","add","y","line","scene","useframe","offset","x","minCamera","window","innerWidth","innerHeight","cutoutCamera","cutoutArea","layers","renderer","type","getLength","startMove","targetProgress","targetPosition","getPointAt","gotoTarget","body","appendChild","cutout","visible","model","contains","removeChild","cutMain","check"],"sources":["../../../../src/factory/unit/inspection/index.ts"],"sourcesContent":["import type { Object3D, Vector3 } from '@anov/3d-core'\nimport { Color, Group, Mesh, MeshBasicMaterial, MirroredRepeatWrapping, PerspectiveCamera, RepeatWrapping, TextureLoader, TubeGeometry, use } from '@anov/3d-core'\nimport { RoundLineGeometry, addColorifyPass, createHighSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport type Factory3D from '../../3d'\nimport { usePath } from '../../3d'\nimport { flyLinePoints, groundLinePoints } from './lineData'\nimport InspectionObject from './InspectionObject'\n\nclass Inspection {\n private gobal: Factory3D\n private inspectionObject\n private curve\n private line: Group\n\n private viewElement: HTMLDivElement\n\n minCamera: PerspectiveCamera\n InspectionPathObject: Object3D\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.generateInspectionPath()\n this.makeGroundRoad()\n this.setInspectionCamera()\n\n this.inspectionObject = new InspectionObject(this)\n\n this.startInspection(this.curve)\n this.hide()\n\n const viewElement = document.createElement('div')\n\n viewElement.style.position = 'absolute'\n viewElement.style.width = '200px'\n viewElement.style.height = '200px'\n viewElement.style.top = '100px'\n viewElement.style.cursor = 'pointer'\n\n viewElement.addEventListener('click', () => {\n this.gobal.toggleView()\n })\n\n this.viewElement = viewElement\n }\n\n /**\n * generate inspection path\n * @param linePosition\n */\n private generateInspectionPath() {\n const flyLine = new RoundLineGeometry(flyLinePoints, {\n radius: 20,\n close: true,\n })\n\n this.curve = flyLine.curve\n }\n\n /**\n * make ground road\n */\n private makeGroundRoad() {\n const groundLine = new RoundLineGeometry(groundLinePoints, {\n radius: 20,\n close: true,\n })\n\n const texture = new TextureLoader().load(`${usePath}roll.png`)\n texture.rotation = Math.PI\n texture.wrapS = RepeatWrapping\n texture.wrapT = MirroredRepeatWrapping\n texture.repeat.set(1, 2)\n\n const tube = new TubeGeometry(groundLine.curve, 10000, 6, 2, false)\n const mesh = new Mesh(tube, new MeshBasicMaterial({ side: 2, map: texture, transparent: true }))\n const mesh2 = new Mesh(tube, new MeshBasicMaterial({ side: 2 }))\n\n const groundGroup = new Group()\n\n groundGroup.add(mesh2)\n groundGroup.add(mesh)\n groundGroup.position.y = 3\n\n this.line = groundGroup\n this.gobal.scene.add(groundGroup)\n\n use.useframe(() => {\n texture.offset.x -= -0.009\n })\n }\n\n private setInspectionCamera() {\n let minCamera\n\n if (this.minCamera) {\n minCamera = this.minCamera\n }\n else {\n minCamera = new PerspectiveCamera(90,\n window.innerWidth / window.innerHeight\n , 0.1, 1000)\n }\n\n this.gobal.scene.cutoutCamera = minCamera\n this.gobal.scene.cutoutArea = { x: 0, y: 0, width: 200, height: 200 }\n this.gobal.scene.add(minCamera)\n\n this.minCamera = minCamera\n\n this.minCamera.layers.set(0)\n\n initPostEffects(this.gobal.scene.scene, this.gobal.scene.renderer, this.gobal.scene.cutoutCamera, {\n type: 'sub',\n })\n }\n\n get getPathLength() {\n return this.curve.getLength()\n }\n\n startInspection(line) {\n this.setInspectionCamera()\n this.inspectionObject.startMove(line)\n }\n\n goToInspectionTarget(targetProgress: number) {\n const targetPosition = this.curve.getPointAt(targetProgress)\n this.inspectionObject.gotoTarget(targetPosition, targetProgress)\n }\n\n show() {\n document.body.appendChild(this.viewElement)\n this.gobal.scene.cutout = true\n this.line.visible = true\n this.inspectionObject.model && (this.inspectionObject.model.visible = true)\n }\n\n hide() {\n if (this.viewElement && document.body.contains(this.viewElement))\n document.body.removeChild(this.viewElement)\n\n this.gobal.scene.cutout = false\n this.gobal.scene.cutMain(this.gobal.scene.renderer)\n this.line.visible = false\n\n // this.addeHighSelected([])\n const check = use.useframe(() => {\n if (this.inspectionObject.model) {\n this.inspectionObject.model.visible = false\n check()\n }\n })\n }\n}\n\nexport default Inspection"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Vector3 } from '@anov/3d-core';
|
|
2
|
+
export declare const flyLinePoints: Vector3[];
|
|
3
|
+
export declare const groundLinePoints: Vector3[];
|
|
4
|
+
export declare const targetProgresspoints: {
|
|
5
|
+
0.04: {
|
|
6
|
+
lookAt: string;
|
|
7
|
+
};
|
|
8
|
+
0.15: {
|
|
9
|
+
lookAt: string;
|
|
10
|
+
};
|
|
11
|
+
0.24: {
|
|
12
|
+
lookAt: string;
|
|
13
|
+
};
|
|
14
|
+
0.4: {
|
|
15
|
+
lookAt: string;
|
|
16
|
+
};
|
|
17
|
+
0.68: {
|
|
18
|
+
lookAt: string;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export declare const isCheck: (currentProgress: any) => boolean;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Vector3 } from '@anov/3d-core';
|
|
2
|
+
export var flyLinePoints = [[-491.52, -1.22, -52.05], [-143.69, -3.00, -52.05], [-143.69, -0.00, 121.29], [-319.85, 0.00, 121.29], [-319.85, -0.00, 224.78], [125.73, -0.84, 224.78], [125.73, 0.00, 39.61], [323.44, -0.00, 39.61], [323.44, 0.00, -48.50], [27.52, 3.00, -48.50], [22.62, -0.00, -220.87], [-491.52, -0.53, -220.87]].map(function (v) {
|
|
3
|
+
return new Vector3(v[0], 15, v[2]);
|
|
4
|
+
});
|
|
5
|
+
export var groundLinePoints = [[-491.52, -1.22, -52.05], [-143.69, -3.00, -52.05], [-143.69, -0.00, 121.29], [-319.85, 0.00, 121.29], [-319.85, -0.00, 224.78], [125.73, -0.84, 224.78], [125.73, 0.00, 39.61], [323.44, -0.00, 39.61], [323.44, 0.00, -48.50], [27.52, 3.00, -48.50], [22.62, -0.00, -220.87], [-491.52, -0.53, -220.87]].map(function (v) {
|
|
6
|
+
return new Vector3(v[0], v[1], v[2]);
|
|
7
|
+
});
|
|
8
|
+
export var targetProgresspoints = {
|
|
9
|
+
0.04: {
|
|
10
|
+
lookAt: 'GY_ccg_chucunguan_02'
|
|
11
|
+
},
|
|
12
|
+
0.15: {
|
|
13
|
+
lookAt: 'GY_jx_daxingshebei_7'
|
|
14
|
+
},
|
|
15
|
+
0.24: {
|
|
16
|
+
lookAt: 'GY_GD_guandaofamen_5'
|
|
17
|
+
},
|
|
18
|
+
0.40: {
|
|
19
|
+
lookAt: 'GY_jx_daxingshebei_3'
|
|
20
|
+
},
|
|
21
|
+
0.68: {
|
|
22
|
+
lookAt: 'GY_jx_daxingshebei_8'
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
export var isCheck = function isCheck(currentProgress) {
|
|
26
|
+
var progress = Object.keys(targetProgresspoints);
|
|
27
|
+
return progress.some(function (p) {
|
|
28
|
+
var num = parseFloat(p);
|
|
29
|
+
return currentProgress >= num && currentProgress < num + 0.001;
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=lineData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Vector3","flyLinePoints","map","v","groundLinePoints","targetProgresspoints","lookAt","isCheck","currentProgress","progress","Object","keys","some","p","num","parseFloat"],"sources":["../../../../src/factory/unit/inspection/lineData.ts"],"sourcesContent":["import { Vector3 } from '@anov/3d-core'\n\nexport const flyLinePoints = [\n [-491.52, -1.22, -52.05],\n [-143.69, -3.00, -52.05],\n [-143.69, -0.00, 121.29],\n [-319.85, 0.00, 121.29],\n [-319.85, -0.00, 224.78],\n [125.73, -0.84, 224.78],\n [125.73, 0.00, 39.61],\n [323.44, -0.00, 39.61],\n [323.44, 0.00, -48.50],\n [27.52, 3.00, -48.50],\n [22.62, -0.00, -220.87],\n [-491.52, -0.53, -220.87],\n].map(v => new Vector3(v[0], 15, v[2]))\n\nexport const groundLinePoints = [\n [-491.52, -1.22, -52.05],\n [-143.69, -3.00, -52.05],\n [-143.69, -0.00, 121.29],\n [-319.85, 0.00, 121.29],\n [-319.85, -0.00, 224.78],\n [125.73, -0.84, 224.78],\n [125.73, 0.00, 39.61],\n [323.44, -0.00, 39.61],\n [323.44, 0.00, -48.50],\n [27.52, 3.00, -48.50],\n [22.62, -0.00, -220.87],\n [-491.52, -0.53, -220.87],\n].map(v => new Vector3(v[0], v[1], v[2]))\n\nexport const targetProgresspoints = {\n 0.04: {\n lookAt: 'GY_ccg_chucunguan_02',\n },\n 0.15: {\n lookAt: 'GY_jx_daxingshebei_7',\n },\n 0.24: {\n lookAt: 'GY_GD_guandaofamen_5',\n },\n 0.40: {\n lookAt: 'GY_jx_daxingshebei_3',\n },\n 0.68: {\n lookAt: 'GY_jx_daxingshebei_8',\n },\n}\n\nexport const isCheck = (currentProgress) => {\n const progress = Object.keys(targetProgresspoints)\n\n return progress.some((p) => {\n const num = parseFloat(p)\n return currentProgress >= num && currentProgress < num + 0.001\n })\n}"],"mappings":"AAAA,SAASA,OAAO,QAAQ,eAAe;AAEvC,OAAO,IAAMC,aAAa,GAAG,CAC3B,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EACxB,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EACxB,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EACxB,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EACvB,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EACxB,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EACvB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EACrB,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EACtB,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EACtB,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EACrB,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EACvB,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAC1B,CAACC,GAAG,CAAC,UAAAC,CAAC;EAAA,OAAI,IAAIH,OAAO,CAACG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC;AAAA,EAAC;AAEvC,OAAO,IAAMC,gBAAgB,GAAG,CAC9B,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EACxB,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EACxB,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EACxB,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EACvB,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EACxB,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EACvB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EACrB,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EACtB,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EACtB,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EACrB,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EACvB,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAC1B,CAACF,GAAG,CAAC,UAAAC,CAAC;EAAA,OAAI,IAAIH,OAAO,CAACG,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC;AAAA,EAAC;AAEzC,OAAO,IAAME,oBAAoB,GAAG;EAClC,IAAI,EAAE;IACJC,MAAM,EAAE;EACV,CAAC;EACD,IAAI,EAAE;IACJA,MAAM,EAAE;EACV,CAAC;EACD,IAAI,EAAE;IACJA,MAAM,EAAE;EACV,CAAC;EACD,IAAI,EAAE;IACJA,MAAM,EAAE;EACV,CAAC;EACD,IAAI,EAAE;IACJA,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,IAAMC,OAAO,GAAG,SAAVA,OAAO,CAAIC,eAAe,EAAK;EAC1C,IAAMC,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACN,oBAAoB,CAAC;EAElD,OAAOI,QAAQ,CAACG,IAAI,CAAC,UAACC,CAAC,EAAK;IAC1B,IAAMC,GAAG,GAAGC,UAAU,CAACF,CAAC,CAAC;IACzB,OAAOL,eAAe,IAAIM,GAAG,IAAIN,eAAe,GAAGM,GAAG,GAAG,KAAK;EAChE,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/factory/unit/poi.js
CHANGED
|
@@ -11,7 +11,6 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
11
11
|
import { Vector3, utils } from '@anov/3d-core';
|
|
12
12
|
import { Css2DPoi, EAnimationType, SpritePoi } from '@anov/3d-ability';
|
|
13
13
|
import { regionMap } from "../regionData";
|
|
14
|
-
var createDomTexture = utils.createDomTexture;
|
|
15
14
|
var PoiManage = /*#__PURE__*/function () {
|
|
16
15
|
function PoiManage(gobal) {
|
|
17
16
|
_classCallCheck(this, PoiManage);
|
|
@@ -37,22 +36,13 @@ var PoiManage = /*#__PURE__*/function () {
|
|
|
37
36
|
case 0:
|
|
38
37
|
Object.keys(regionMap).forEach( /*#__PURE__*/function () {
|
|
39
38
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(key) {
|
|
40
|
-
var region,
|
|
39
|
+
var region, option, sprite, changeWallState, unClick;
|
|
41
40
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
42
41
|
while (1) switch (_context.prev = _context.next) {
|
|
43
42
|
case 0:
|
|
44
43
|
region = regionMap[key];
|
|
45
|
-
isBig = region.id === '4' || region.id === '5';
|
|
46
44
|
option = {
|
|
47
|
-
scale: 80,
|
|
48
|
-
width: isBig ? 262 : 203,
|
|
49
|
-
height: 262,
|
|
50
|
-
style: {
|
|
51
|
-
alignItems: 'flex-start',
|
|
52
|
-
paddingTop: '12px',
|
|
53
|
-
fontSize: '18px',
|
|
54
|
-
backgroundImage: isBig ? 'url(./poi_big.png)' : 'url(./poi.png)'
|
|
55
|
-
},
|
|
45
|
+
scale: [80, 80, 1],
|
|
56
46
|
animation: [{
|
|
57
47
|
type: EAnimationType.grow,
|
|
58
48
|
duration: 1
|
|
@@ -61,7 +51,7 @@ var PoiManage = /*#__PURE__*/function () {
|
|
|
61
51
|
duration: 0.2
|
|
62
52
|
}]
|
|
63
53
|
};
|
|
64
|
-
sprite = new SpritePoi(region
|
|
54
|
+
sprite = new SpritePoi(_this.getDom(region), option);
|
|
65
55
|
sprite.position.copy(new Vector3().fromArray(region.poi.position));
|
|
66
56
|
_this.scene.add(sprite);
|
|
67
57
|
_this.poiMesh.set(region.poi.id, sprite);
|
|
@@ -94,7 +84,7 @@ var PoiManage = /*#__PURE__*/function () {
|
|
|
94
84
|
_this.addDialogPanel(region, event.point);
|
|
95
85
|
});
|
|
96
86
|
_this.poiEventListener.add(unClick);
|
|
97
|
-
case
|
|
87
|
+
case 12:
|
|
98
88
|
case "end":
|
|
99
89
|
return _context.stop();
|
|
100
90
|
}
|
|
@@ -115,6 +105,30 @@ var PoiManage = /*#__PURE__*/function () {
|
|
|
115
105
|
}
|
|
116
106
|
return generatePoi;
|
|
117
107
|
}()
|
|
108
|
+
}, {
|
|
109
|
+
key: "getDom",
|
|
110
|
+
value: function getDom(data) {
|
|
111
|
+
var dom = document.createElement('div');
|
|
112
|
+
Object.assign(dom.style, {
|
|
113
|
+
fontSize: '18px',
|
|
114
|
+
backgroundImage: 'url(./poi2.png)',
|
|
115
|
+
backgroundSize: '100% 100%',
|
|
116
|
+
backgroundRepeat: 'no-repeat',
|
|
117
|
+
display: 'flex',
|
|
118
|
+
justifyContent: 'center',
|
|
119
|
+
alignItems: 'flex-start',
|
|
120
|
+
textAlign: 'center',
|
|
121
|
+
color: '#fff',
|
|
122
|
+
pointerEvents: 'auto',
|
|
123
|
+
cursor: 'pointer',
|
|
124
|
+
height: '262px',
|
|
125
|
+
width: "".concat(data.title.length * 36, "px"),
|
|
126
|
+
padding: '12px 0 0 25px',
|
|
127
|
+
fontWeight: 'bold'
|
|
128
|
+
});
|
|
129
|
+
dom.innerText = data.title;
|
|
130
|
+
return dom;
|
|
131
|
+
}
|
|
118
132
|
}, {
|
|
119
133
|
key: "remove",
|
|
120
134
|
value: function remove() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Vector3","utils","Css2DPoi","EAnimationType","SpritePoi","regionMap","createDomTexture","PoiManage","gobal","Map","Set","scene","wallManage","wall","interactionManager","storeManagement","get","Object","keys","forEach","key","region","isBig","id","option","scale","width","height","style","alignItems","paddingTop","fontSize","backgroundImage","animation","type","grow","duration","fadeIn","sprite","title","position","copy","fromArray","poi","add","poiMesh","set","changeWallState","show","dialogPoi","visible","wallMesh","addEventListener","unClick","event","reset","addDialogPanel","point","poiEventListener","remove","removeFromParent","f","clear","data","content","print","clone"],"sources":["../../../src/factory/unit/poi.ts"],"sourcesContent":["import type { InteractionManager, Object3D, Scene } from '@anov/3d-core'\nimport { Sprite, SpriteMaterial, Vector3, utils } from '@anov/3d-core'\nimport { Css2DPoi, EAnimationType, SpritePoi } from '@anov/3d-ability'\nimport type Factory3D from '../3d'\nimport { regionMap } from '../regionData'\nimport type WallManage from './wall'\n\nconst { createDomTexture } = utils\n\nclass PoiManage {\n private gobal: Factory3D\n private scene: Scene\n private dialogPoi!: Object3D\n readonly poiMesh: Map<string, Object3D> = new Map()\n readonly poiEventListener: Set<Function> = new Set()\n private wallManage: WallManage\n private interactionManager\n\n constructor(gobal) {\n this.gobal = gobal\n this.scene = gobal.scene.scene\n this.wallManage = gobal.wall\n this.interactionManager = utils.storeManagement.get<InteractionManager>('interactionManager')\n }\n\n async generatePoi() {\n Object.keys(regionMap).forEach(async (key: string) => {\n const region = regionMap[key]\n const isBig = (region.id === '4' || region.id === '5')\n const option = {\n scale: 80,\n width: isBig ? 262 : 203,\n height: 262,\n style: {\n alignItems: 'flex-start',\n paddingTop: '12px',\n fontSize: '18px',\n backgroundImage: isBig ? 'url(./poi_big.png)' : 'url(./poi.png)',\n },\n animation: [{\n type: EAnimationType.grow,\n duration: 1,\n }, {\n type: EAnimationType.fadeIn,\n duration: 0.2,\n }],\n }\n\n const sprite = new SpritePoi(region.title, option)\n sprite.position.copy(new Vector3().fromArray(region.poi.position))\n\n this.scene.add(sprite)\n this.poiMesh.set(region.poi.id, sprite)\n\n // 绑定事件\n this.interactionManager.add(sprite)\n const changeWallState = (show) => {\n if (this.dialogPoi?.visible)\n return\n // 光墙\n const wall = this.wallManage.wallMesh.get(region.id)\n wall.visible = show\n }\n\n sprite.addEventListener('mouseover', () => {\n if (!sprite.visible)\n return\n changeWallState(true)\n })\n sprite.addEventListener('mouseout', () => {\n changeWallState(false)\n })\n const unClick = sprite.addEventListener('click', (event) => {\n if (!sprite.visible)\n return\n this.reset()\n\n // 光墙\n const wall = this.wallManage.wallMesh.get(region.id)\n wall.visible = true\n // 隐藏当前POI点\n sprite.visible = false\n this.addDialogPanel(region, event.point)\n }) as Function\n this.poiEventListener.add(unClick)\n })\n }\n\n remove() {\n // 控制POI点的隐藏、显示\n this.poiMesh.forEach((poi) => {\n this.interactionManager.remove(poi)\n poi.removeFromParent()\n poi.remove()\n })\n // 取消事件监听\n this.poiEventListener.forEach((f) => {\n f()\n })\n // 移除面板\n if (this.dialogPoi)\n this.dialogPoi.removeFromParent()\n this.poiMesh.clear()\n this.poiEventListener.clear()\n }\n\n reset() {\n // 控制POI点的隐藏、显示\n // 控制POI点的隐藏、显示\n this.poiMesh.forEach((poi) => {\n poi.visible = true\n })\n // 移除面板\n if (this.dialogPoi)\n this.dialogPoi.removeFromParent()\n // 控制光墙的隐藏、显示\n this.wallManage?.wallMesh.forEach((wall) => {\n wall.visible = false\n })\n }\n\n private addDialogPanel(data, position) {\n // 添加面板\n this.dialogPoi = new Css2DPoi({ title: data.title, content: data.poi.content }, {\n animation: [{\n type: EAnimationType.grow,\n duration: 1,\n }, {\n type: EAnimationType.fadeIn,\n duration: 0.3,\n }, {\n type: EAnimationType.print,\n duration: 0.02,\n }],\n })\n this.dialogPoi.position.copy(position.clone().add(new Vector3(-30, 30, 0)))\n this.scene.add(this.dialogPoi)\n\n this.interactionManager.add(this.dialogPoi)\n this.dialogPoi.addEventListener('click', () => {\n this.dialogPoi.remove()\n this.dialogPoi.removeFromParent()\n this.dialogPoi = null\n this.reset()\n })\n }\n}\n\nexport default PoiManage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Vector3","utils","Css2DPoi","EAnimationType","SpritePoi","regionMap","PoiManage","gobal","Map","Set","scene","wallManage","wall","interactionManager","storeManagement","get","Object","keys","forEach","key","region","option","scale","animation","type","grow","duration","fadeIn","sprite","getDom","position","copy","fromArray","poi","add","poiMesh","set","id","changeWallState","show","dialogPoi","visible","wallMesh","addEventListener","unClick","event","reset","addDialogPanel","point","poiEventListener","data","dom","document","createElement","assign","style","fontSize","backgroundImage","backgroundSize","backgroundRepeat","display","justifyContent","alignItems","textAlign","color","pointerEvents","cursor","height","width","title","length","padding","fontWeight","innerText","remove","removeFromParent","f","clear","content","print","clone"],"sources":["../../../src/factory/unit/poi.ts"],"sourcesContent":["import type { InteractionManager, Object3D, Scene } from '@anov/3d-core'\nimport { Vector3, utils } from '@anov/3d-core'\nimport { Css2DPoi, EAnimationType, SpritePoi } from '@anov/3d-ability'\nimport type Factory3D from '../3d'\nimport { regionMap } from '../regionData'\nimport type WallManage from './wall'\n\nclass PoiManage {\n private gobal: Factory3D\n private scene: Scene\n private dialogPoi: Object3D\n readonly poiMesh: Map<string, Object3D> = new Map()\n readonly poiEventListener: Set<Function> = new Set()\n private wallManage: WallManage\n private interactionManager\n\n constructor(gobal) {\n this.gobal = gobal\n this.scene = gobal.scene.scene\n this.wallManage = gobal.wall\n this.interactionManager = utils.storeManagement.get<InteractionManager>('interactionManager')\n }\n\n async generatePoi() {\n Object.keys(regionMap).forEach(async (key: string) => {\n const region = regionMap[key]\n const option = {\n scale: [80, 80, 1],\n animation: [{\n type: EAnimationType.grow,\n duration: 1,\n }, {\n type: EAnimationType.fadeIn,\n duration: 0.2,\n }],\n }\n const sprite = new SpritePoi(this.getDom(region), option)\n sprite.position.copy(new Vector3().fromArray(region.poi.position))\n\n this.scene.add(sprite)\n this.poiMesh.set(region.poi.id, sprite)\n\n // 绑定事件\n this.interactionManager.add(sprite)\n const changeWallState = (show) => {\n if (this.dialogPoi?.visible)\n return\n // 光墙\n const wall = this.wallManage.wallMesh.get(region.id)\n wall.visible = show\n }\n\n sprite.addEventListener('mouseover', () => {\n if (!sprite.visible)\n return\n changeWallState(true)\n })\n sprite.addEventListener('mouseout', () => {\n changeWallState(false)\n })\n const unClick = sprite.addEventListener('click', (event) => {\n if (!sprite.visible)\n return\n this.reset()\n\n // 光墙\n const wall = this.wallManage.wallMesh.get(region.id)\n wall.visible = true\n // 隐藏当前POI点\n sprite.visible = false\n this.addDialogPanel(region, event.point)\n }) as Function\n this.poiEventListener.add(unClick)\n })\n }\n\n getDom(data) {\n const dom = document.createElement('div')\n Object.assign(dom.style, {\n fontSize: '18px',\n backgroundImage: 'url(./poi2.png)',\n backgroundSize: '100% 100%',\n backgroundRepeat: 'no-repeat',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'flex-start',\n textAlign: 'center',\n color: '#fff',\n pointerEvents: 'auto',\n cursor: 'pointer',\n height: '262px',\n width: `${data.title.length * 36}px`,\n padding: '12px 0 0 25px',\n fontWeight: 'bold',\n })\n dom.innerText = data.title\n return dom\n }\n\n remove() {\n // 控制POI点的隐藏、显示\n this.poiMesh.forEach((poi) => {\n this.interactionManager.remove(poi)\n poi.removeFromParent()\n poi.remove()\n })\n // 取消事件监听\n this.poiEventListener.forEach((f) => {\n f()\n })\n // 移除面板\n if (this.dialogPoi)\n this.dialogPoi.removeFromParent()\n this.poiMesh.clear()\n this.poiEventListener.clear()\n }\n\n reset() {\n // 控制POI点的隐藏、显示\n // 控制POI点的隐藏、显示\n this.poiMesh.forEach((poi) => {\n poi.visible = true\n })\n // 移除面板\n if (this.dialogPoi)\n this.dialogPoi.removeFromParent()\n // 控制光墙的隐藏、显示\n this.wallManage?.wallMesh.forEach((wall) => {\n wall.visible = false\n })\n }\n\n private addDialogPanel(data, position) {\n // 添加面板\n this.dialogPoi = new Css2DPoi({ title: data.title, content: data.poi.content }, {\n animation: [{\n type: EAnimationType.grow,\n duration: 1,\n }, {\n type: EAnimationType.fadeIn,\n duration: 0.3,\n }, {\n type: EAnimationType.print,\n duration: 0.02,\n }],\n })\n this.dialogPoi.position.copy(position.clone().add(new Vector3(-30, 30, 0)))\n this.scene.add(this.dialogPoi)\n\n this.interactionManager.add(this.dialogPoi)\n this.dialogPoi.addEventListener('click', () => {\n this.dialogPoi.remove()\n this.dialogPoi.removeFromParent()\n this.dialogPoi = null\n this.reset()\n })\n }\n}\n\nexport default PoiManage"],"mappings":"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"}
|
|
@@ -8,4 +8,3 @@ export declare enum SceneTag {
|
|
|
8
8
|
'smart-inspection' = "smart-inspection",
|
|
9
9
|
'security-operation' = "security-operation"
|
|
10
10
|
}
|
|
11
|
-
export declare const POI_IMG = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQYAAAEGCAYAAACHNTs8AAAZA0lEQVR4nO3dW4wkV3kH8O87VdXX6e7pmV57F2y8i9f3XRsMsWNjm1wMgRgSSKLIPMADUS4PkYhElDxEChDl0RYogoQnHnjJg8HYQSEoJsGWweYiDLZ3bbzr9a4ve5+Z7pmevtc5X3Sq65yp6Z41tsPD9sz/J7Wmp6emu7rq1L++OnW6mk89dC+9nvsfOHpjpRh+fK4Q3JTPBYuKOXqdyQFgGwgv9Bbuf+DogUY1/7eNav6Knx1ZOfvMsdWzr5zrnOgPjZmaGAC2ja985ubbtwyGrzz00p9dtlj45A8OrZz+1g9fe8pokcZ8PnfzNYvzb18slIr5IAwD5vHUyv8fMzOxu58+LvYX92gyTfKAn358b/OP5HEm/+fMlJS8hJtQjR9m3vL/hIkVMQmznUseP7b189p7itz/8fhlJuaTM68zfl7/WGYGs9MrckskO50avwb7JafG863Stzd+XpXOM48XohpPzzw9T9l5VbxpkSTTMUvmvp1zky6qdG2458ysHpZkQZJS2dcT/0Lu8ezruXlSyV3ZWC3jp5pYFsLpvPvZTdcesRJ2rSJ5GrWx6pPlJ+N5UW7mRTbmk0y6NNg3Fc68t/EsiF9dgdpoeRurUDhw8yaZ50ieZDxvyv1NJfOYvgHKLM90OjIb7TN9zyptmwFJunmk69G+b0mbRDKRkNt6ktlk8fPq2s5GUyb28+GehDPLMX0zburAb5p2Mxr/YieZ//C/f40mK4b7HzgaVorhPxRy6q77Hjh66OT5bt8Gwm9ev7g4VwjDoyfb7Ud/cf7cSns40tqkrW0jGJTaWNObG00mPBT7jSj7941tnNPp7YpXftqNv29sbCr9PxcUrHxzIOVeI20xrMaPuN/VptcbtziVvm5y3/+fa9bjjSFZse5vbFd0kP5kCthPx7asCpVvdfb5kpWn0tdyKypIn5Q5fT9p4/c/x7Putzo3uWuxSXtK5ydgSV7HZcV43tNFx5t/ujXl34oa58d4edoNTaXvx4znfbwxpAuVkr8x+9WSLr+NjW88/7KxMSv3joUDlYTeeB3IeCO19yV5avHrxj5t6AIoeUzGG16QhkHa8MfTsN/w2M9HsgiSNu/ep90YNzVHZR9zb0zSBTqeJztDKhOESSjYm3DSvlxIsjLk1kqwsQGyyyqlxgEQsNubiAtC147SkEq3Y07XLUm6Axo/XxJWyTOJa7rj9edzf2PDT5a9JFuRDct025R075iGnd8CjF0oXIo4555gUzBUS+EXBkN5z5cfOvLsWmcUH7xyvvquK+frz728uvrUkVZLRKhajsJrLq/MLVRyuWJeBYFvWez2SbRJ0tgzpcTGxH6jdI9uCpHMHohpY01n345vdRO7bJU+x2QFwz7T/Wv7/x0vcsls9EyTTz3xO/tQ8cVKZhdJLnDcXkRl9yhTf6dNYbC5YFKsNuZz02Ikv9Gmf8tWAOkDyW4tbRQqbdwuOMW/F7eH3Hgv5EM224gDRZsXgnJtzO3axQVwct8uTkn/njyWBkGQRkqyyShJNkC3o3BB5hrFOC992Kd7TCFR441P+aUiFLi1vbGcWPk3YFwgZ0MxfaPi12WyN01S0s6a+BzfePVxtvjVQnbnYHw1YueO1XiTpI2qJS0qDNHGmkjWj6tUk9TgjaDgcV6nr+HKAV+J+Y3BvpYYu5bTii4J5CANET/nybIxbMbz58KIhAwHNBrpmCj0z+yD4V8fPvYXYaBu+ZcHjxzu9HV8+8FdC5c3CqVvP3HyVGt9NLKBcN0V1UopHwavne/2Dh1vra314tgeZhAAzKwP3bLn0u/+5PTZT//+vn2bguH+B47uv2yx8In7Hjh6eL0Xx++/6ZLGfCXKPfzDk6dsZ+Pe3XPF/ZeVKy+f6XZ+cnKlI8gCgG0tCYZGNf/3//OL86dsn8JN++vVXfO5wsNPnDwVx2Su31urNGr53BOHlpa7fa3RHAC2P2VPSxLR/u/8+PSZ+bkoOrCvWv/ez86eHY3EHNhXq1bLYfTkc+ebCAWAnUNViuEf23EKtq/gtgONxUPH15q2T2HfnnKpVo6in/6y2bQhgTYBsHPYYHjX08dWm/a0ZK0URc8ca62VCkGwb0+5/NTRlZY/LQkAOycYcpFaePVcp3f15dU5O07BdizafoXjpzsdHD4A7Ex23ENkzzzYEY2vnO117WnJSjEKT5zpdtEmAHYmPwbMDnO2Ixov21Uq2nEKOCUJsHP5YLCffbD9CfbU5PlWf4g2AbBzqcl3no84sCMa0SYAdq6pYLCffcAwZ4CdbSoYAAAQDAAwBcEAAFMQDAAwBcEAAFMQDAAwBcEAAFMQDAAwBcEAAFMQDAAwBcEAAFMQDAAwBcEAAFMQDAAwBcEAAFMQDAAwBcEAAFMQDAAwBcEAAFMQDAAwBcEAAFOmgsGIUL2Si6amBIBtJ4p4KgNoq2B4+lir9e6r5uftV+JPTQ0A24YNhVuvbdSPn+l0LhgMRkQuXSjkz670B8+93F67+er6vP0eSzQDgO3HhcL51cHghVfW1kv5IMi+SR8Mj/586ezd77n00l3zhdyZ5d7g+Vfa7fdeU6/PFUOEA8A2slUo3HPb2/Y8e3y15d6lMiLxtVdU506cWe/95PmV5bvfc8nuxnw+d3qp13/h1fX2LdctIBwAtokLhcKJs53OT59fabr+xeDg/ktO33Ww8YcnznTXjr7W7gxHJr7rpl2XnFzqdc81+0OtSQ68c756rtUfjGJ8dR3ArHojofA3f3LVDeu9+NvBA/9014uP/mKpeceBxkdeOt1ZffHkencYi77zYCMJh7PN/kBE5OA769Vzzf5ghO+1BJg5bzQUjJHv/uVH33lf8Nl7D9Ct1y288NjTS+27bmzcc+S1TuvYyXbXCJn3HWg0Xjvf7Z1tDgZELNfvrVXPtxAOALPkzYaCfWtJMFi3Xrfw/GNPL3XvuHHXh4+8ut568WS7I0Riw+GVc11bOQyVIrr+ilr1bLPXjxEOABe9txIKlAbD54joMfvLLdctPPf4M0vxHTc2Pvj8K+3msZPrXVZMt9/QaLx8ptM91xwMwoDpuitqlbPN3gDhAHDxequhQESfs8HwaPqLC4dnH39mWe482PjA4ZfXVl46ud6NQsW3peFg+xzykVJXXVatnG72BsYQwgHgIvP/CQUi+jyfeuhet2F/noi+4P765W+99OflQnDvl7559PD5Vn9489X12pVvm6v855OnTncHWl/zjurcvt3lMhoEwMXJjmh8K6Fg72SDgSbD4SsPvfRXpXzwp1/85pFDS63B8L3XLszvvbQ0950fnU7CAe0B4OL2VkKBtggGmgyHf3v4+F/nIv74F79x5NDK2nD0G9ct1A/uq82jPQDMBjui8c2EAl0gGGgyHL76Hy99Ngj4w1/6xtHDzfZwNDU1AFzU3kwovF4wbBUOf3dpvfCxqakAYCaca/UffCOh4IJh6kHYefYc+MAH7Js+feiRR7D6AR+OAmfqM/mwc7FgjBIc+5pdBO9Ll8MP6cpP7/hFstNNXcEJAACHEuAwlgQ4qBgAYAqCARxUDOAhGABgCoIBslA1QAKdj+AgFMBDxQAOggE8BANkIRwggUMJcBAK4KFigCyEAyQQDOAgFMBDMEAWwgESCAZw0BbAQ2OALFQMkMBZCXAQCuAhGMBBMICHQwkAmIJgAIApOJQAB4cS4KFiAIApqBjAwU4CPDQGcHAoAR6CAbIQDpDAoQQ4CAXwEAzgIBjAw6EEAExBMICjUDWAg0MJcBjBAA4qBgCYgmCALFQMkEAwgINQAA99DOAgGMBDMICDYAAPwQAOggE8BAM4CAbwEAzgIBjAQzCAg2AAD8EADoIBPAQDOAgG8DDACQCmoGIABxUDeAgGcBAM4CEYwEEwgIdgAAfBAB6CARwEA3gIBnBwBSfwEAzg4NQ1eGgMADAFwQAOrhINHoIBshAMkEAfAzgIBfAQDOAgGMBDMICDYAAPwQAOggE8BAM4CAbwEAzgIBjAQzCAgyHR4GEcAzgIBfBQMYCDYAAPwQAOggE8BAM4CAbwEAzgoPMRPHQ+goNQAA8VAzioGMBDMICD6hE8BAM4qBbAQzCAg2AAD+UjAExBxQAOdhLgIRjAwaEEeAgGcBAM4CEYwEEwgIfjSnDwvRLgIRggC+0BEjiUAAehAB4aAwBMQcUADj5EBR4qBnAQDOAhGMBBMICHQwlwsJMAD8EADqoF8LCXAAcDnMBDxQAO+hjAQ8UAAFNQMYCDigE8VAzgoC2Ah4oBHFQM4CEYwEEogIdgAAfBAB6CARz0MYCHYAAHFQN4CAZwEAzgoXwEgCmoGMBBxQAeggEcVI/gIRjAQcUAHoIBHAQDeAgGcHAoAR6CARxUDOAhGMBBMICH8hEcBAN4CAbIQjhAAocS4GAnAR6CARxUC+AhGMBBxQAeGgM4qBjAQ8UADq75CB6CARyEAng4lACAKagYwMFOAjwEAzg4lAAPwQAOOh/BQ/kIDkIBPFQM4CAYwEMwgINgAA/BAA4OK8FDYwCAKagYwMGhBHgIBnAQDOAhGMDBOAbwEAzgoL8JPDQGcBQqBnBQMYCDQwnwUDFAFoIBEggGcBAK4CEYIAvhAAn0MYCDzkfwUDGAg1AADxUDOAgG8BAM4OB0JXgIBnBwWAkeggEcVAvgIRjAQTCAh2AAB8EAHo4rwUEwgIdggCyEAyRwKAEOTleCh2AAB9UjeGgMADAFFQM42EmAh8YAWehjgAQqBnCwkwAPwQAOqgXwsJcAgCkIBshC1QAJBAM4GOAEHvoYwMFOAjwEAzioFsBDMICDYAAPwQAOggE8BAM4CAbwEAzgIBjAQzCAg2AAD6eoAGAKKgZwUDGAh4oBshAOkEAwgIMh0eAhGMBBWwAPjQGy0B4ggYYADg4lwEMwgINgAA/BAA5CATyMYwAHwQAeggEcBAN4OJQAgCkIBgCYgkMJcHBWAjwEwyz68ad+vTPd+C3aFAq/7ue3bv361ENw8UIwgINqATwEAzgIBvDQ+bj9ub4DNXEL/G3p0cAvhfH97G3y/9AXsQOgYtieshvvG/3pdhKuTcgWPyV9vuzP7LSwTSAYZszphz9xwRneszuaDITXu9FEgLhgiNKf8gZuPhxOnxldMBz27I6mHoOLG4Jhm8iEwlY3NXE4wTSUnDESGJGQhFQoooiJ465eYGatFGkOeEQhj9KN30z8dI8l0teX1wsImB0Ihm3gAqGw0S+gJRz1TUkbKmqhoojkiDngzPQhJQFBg5j2EEmy4YuIISbNRH2lpJcLVC8oqm4aCC4UsiHBOKzYHhAM28N0KBgJhj2ZG8SmIkJlZgqYWNmfSrEKmEkpMYpZshtzIWItImyElRYTiHAkQpHWVOrGxsjAjALF64UcrwUF1c+ERBIKNqRQNcw+BMOMS6sFh0lLsN4xVa1pnohyiilUTCoKlA5DGgYhaQqUEPszE+lhBicbdlBUo42NXWkyIhRTEMcmGGoKtZGcNlJr92iOe7qbi6RZnAu7E2cqEAwzDsGwfXBnTReHI9lFbAOBgyAgKURqPczzkBSrtGMxStd7SEYKNJJqbKiYHEoQke6bvYHiDkW8RkwjUjyiHMVhLhiERCMaGe4PKT8cmbwRLvUGlO8P4/VqUS2loQLbAIJh9iWHD83leEGL1GwghIpMOc9r6YbqwiBHWkq9nt4/jGmvMbRbhCpsKwYmrpu4YJfEWsd8RMZ7fK2ULAeKTxUjfjEsBa8mrxWpYSGidsFwq9fVxcFQSka43OzoKOrLUq0edHA4MfsQDDPO9A0vt/UlRFRSzJyLuD1XUV3bueiqA9M3jXZPbo2N7GeivD2ESPocxp0OPWYZEXPSTxAE1DXCORHJi+FLR4Yaw1hu4F68GoX0dGUu+DkFLKTYFOfCdnFk2q11qRot0TA2l6wsy9LCYri209fLrEMwzLilNd1gphITSbmozhfKKk4DIaDYFFttfWes6UYmjmwYhAEt5yJ1thBxiyLuEaejHDn4pF0S1fnwSVstkBGWoZS7I1kcjcweLVwbjuj25aY+kM/x43PV4HDSDxGp0XydllabNDeMTTnWsri0NLIh097p62aWIRhmW02ES8xiqqVgKVdWOg0FFXd1vdU1HyOiXUy2kqBjlZI6RlESHIXk0IKomLaBgMiotNOwlASD4hEXuF0u0BJR8HTc0wvrPXN1bGihP5APjlZkd70e/rft7rSVRq0erLaapIcjU9GGFonInrFAn8OMQjDMrohZ5u1hfzHHNhRG6frkuGeqzY75IyaqK8XNhTn1JOXVMA2CYhoMLhwiMlJMz1DYaKjY4U/pRh2405BhMViaLwavdtv6iu7AvDvWcsPySiyLi+F/uX6O+XqwtrwkKtY2XMSGw5mdvpJmFYJhdlWTPgElnbla1M9sxKrV0R+yf1eKlxbmg+9TkPQ32Eog70JBBmZvq2N+2/YfGEMLe+pxcrrxzNnRfUFArxVy/FSlEjxKilvp6UtbGcSlSnAsF/KZVkffbYxcv9rUJ2r14Fl3urI+p5rn13SexL9Wf6evqFmEYJhNdiMs2zkv5tVqdnDTWivea4QuU0SjhZp6JOliHAeCPzux2tQf7w7MRzZ9upbHwxCEKIw17V3vyd5uf/Q7C5Xgq1EpeMaGQlpFDMOiapZi+UGnb94/jM1tpNVzFLD9O6uCMqqt22YcXGUEw2zCx65nUy4NglG5GsTpO0i27GEs19qfuYifpjA5fMh+hDpsr8Z3dwfmD9y6t4MdatUq6ZUXkpu9bx+zjPD8clt/hkamMflR7FIlOK6YmyJUW2vry7MDnMKAe+ndwk5fUbMKwTCbki2Xpzv3WIQW7TDGYsQnt/rcRHcgv5v9h/lalfL5HJHo5Gbv28ccES6ursudW12TIVByyk4W66Sz0auV/ECngGAmIRh2GM58IvINY3nz/wMzDcEwm2xHoO0PmLzQgTDTsh252BvJ2yc++Zjcinn+fvYfWqtrNBgM7Ucpk5u9bx9zmKVXKwVPZJ/DfRZCG34bJYcOtJx9ztWucfOld/qKmlXofJxNw3TjjDprOixXA/8JyVzIv+yP5MBwJDdRLMcoZJ1uoMlZhUot/J4xut4dmHvsjkFrTatrWw9UVCwt2/lIOT6feQ57M9223mtE6sy0Uq0kw6X9EOhYJ6c/CR2PswsVw2yyG2HHznlvYGrZKy1V58MTiuk1W02srOoPkhaVOaOQnFWo1YMHd9eDfy7k+HGlaGViCcRhQCfmCvzgpY3oH6NS8FwaRG5sg9Y9M98dmDvs6+VC9SMKkvBJXt8O0TZ2LMRYZ6evqFmFimF22d38nDZcXl+Ne3O10F9pab4cfLe5rj9hjDRWWvr3MgOc/MesOa+O1/PqpB/gFNMcsWgKVZuYBmkIDNK9/sAFQ7+tr+gM5L32Ui5K8eFaPQkOf3jRXDd1EjtuQnqoGGYXgmF2jUS4xUwLvaE0ch3jhkRLWFRrdZFvrnblo0Zk93Lb3JPrmxPpkOhBelbBpJVESIr7lKNV28uYGcw0SsPATj+Ie7rhhkSTkA4DfqpeD/83EwrSauqqNlImJkOyud8BZguCYbatMifH8+W1rt41R9RMP0RlwlLQXMzLN1pr8V2xlhuHI96/smauCQOzsuWHqDbGIZjMh6gqvZHsHY7Mbi1cJGE7PHKtkOfHytXgedffYENhtamro9jMJRd7UbRszNSpVJghCIYZ16gG55fb2u7qS52e2aW1rJcrqkfMmgLuz9ejR03fHE4/dn2VHXMQa3NJbzAOA6Woo+wGzumZDqFIhHNGxA5r1kL2xva6j+0oop+nH7vupdWGppFRrXVpxDo5E2HCgJcXFsP102eQC7MMwTDjVEHJroI611yOF+2FWgYjqupVXSnn1Xp6oZZYFdRSrUCPUCxPdntm/0jLO9yFWoymouHMZeSFjIwvBjuwF2oJFZ8uhPxSVApeTj9cNUxCwYj0urqSXqjFVg3DXKiSC7Xs9HWyHSAYZl/S6VdfDFc6a7pvL+2mDeXW+1IPRlqKEfeDPNtLtA0p5HapEhwiol9OXtqNksvH2w9oU7zp0m6bz2i4S7tVhiOTs0cbRkgzU6deCvyl3XD1ptmHYNg+pFwNemUtJ+3FYGNNda0p6hpTsVd8TC8GG6cXgx2k13McUp7Xw81fPJMdEJW9GGwpvRisrSe0keTwolvMk7sYLEZHbiMIhhln986ZK0WLHVMwVw1Wych6r6vnYk01I1QcahOMNBd4aD9vqScvH28rBTvwkdPvk3CXj2cRToJARLQkhxmUXD6+vPny8ZPfWgUzDsGwPUxujIYUk70mYzLIaOILZ4yRnLHXfLRfJ0Oy1ZfU2lHVxuaD+8KZIKCtvnBmMhRwGLFNIBi2gbRqmHwjG18pF7CJysEoGl+HccuvqJPxFRnS6uFNfUVdtkpAKGwTCIZtYiIchDZ/M5VkBjWNH8vxyPY2qulqIfscv+rmp0OlsL2wCNbnzPnxp37VHL+Vr8GfdKGvwZ98jN5QpXDr16cegosXKobtKbsRXygALhQIkyY3ehw2bHdE9H+Vg3vGSrFooAAAAABJRU5ErkJggg==";
|
|
@@ -10,5 +10,4 @@ export var SceneTag;
|
|
|
10
10
|
SceneTag["smart-inspection"] = "smart-inspection";
|
|
11
11
|
SceneTag["security-operation"] = "security-operation";
|
|
12
12
|
})(SceneTag || (SceneTag = {}));
|
|
13
|
-
export var POI_IMG = 'data:image/png;base64,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';
|
|
14
13
|
//# sourceMappingURL=constant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SceneStyle","SceneTag"
|
|
1
|
+
{"version":3,"names":["SceneStyle","SceneTag"],"sources":["../../../src/factory/utils/constant.ts"],"sourcesContent":["export enum SceneStyle {\n 'real',\n 'tech',\n}\n\nexport enum SceneTag {\n 'overview' = 'Overview',\n 'people-management' = 'Person',\n 'smart-inspection' = 'smart-inspection',\n 'security-operation' = 'security-operation',\n}"],"mappings":"AAAA,WAAYA,UAAU;AAGrB,WAHWA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;AAAA,GAAVA,UAAU,KAAVA,UAAU;AAKtB,WAAYC,QAAQ;AAKnB,WALWA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;AAAA,GAARA,QAAQ,KAARA,QAAQ"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { MeshStandardMaterial, ShaderMaterial } from '@anov/3d-core';
|
|
2
2
|
export declare const finirMaterialV2: ShaderMaterial;
|
|
3
3
|
export declare const finirMaterialV1: MeshStandardMaterial;
|
|
4
|
+
export declare const createFinirMaterial: (rimColor: string, rimPower: number) => MeshStandardMaterial;
|
|
@@ -7,7 +7,7 @@ export var finirMaterialV2 = new ShaderMaterial({
|
|
|
7
7
|
},
|
|
8
8
|
// 边缘颜色
|
|
9
9
|
edgeThickness: {
|
|
10
|
-
value: 0.
|
|
10
|
+
value: 0.05
|
|
11
11
|
},
|
|
12
12
|
// 边缘厚度0.05
|
|
13
13
|
reflectionStrength: {
|
|
@@ -36,4 +36,22 @@ finirMaterialV1.onBeforeCompile = function (shader) {
|
|
|
36
36
|
shader.fragmentShader = shader.fragmentShader.replace('void main() {', ['uniform vec3 rimColor;', ' uniform float rimPower;', 'void main() {'].join('\n'));
|
|
37
37
|
shader.fragmentShader = shader.fragmentShader.replace('#include <dithering_fragment>', "#include <dithering_fragment>\n float dotNV = 1.0-saturate( dot( normal, geometry.viewDir ) );\n gl_FragColor.rgb += rimPower*dotNV*rimColor;\n vec3 fresnelall =rimPower*dotNV*rimColor;\n gl_FragColor.a +=(fresnelall.r+fresnelall.g+fresnelall.b)/3.;");
|
|
38
38
|
};
|
|
39
|
+
export var createFinirMaterial = function createFinirMaterial(rimColor, rimPower) {
|
|
40
|
+
var material = new MeshStandardMaterial({
|
|
41
|
+
opacity: 0.0,
|
|
42
|
+
transparent: true,
|
|
43
|
+
depthWrite: false
|
|
44
|
+
});
|
|
45
|
+
material.onBeforeCompile = function (shader) {
|
|
46
|
+
shader.uniforms.rimColor = {
|
|
47
|
+
value: new Color(rimColor)
|
|
48
|
+
};
|
|
49
|
+
shader.uniforms.rimPower = {
|
|
50
|
+
value: rimPower
|
|
51
|
+
};
|
|
52
|
+
shader.fragmentShader = shader.fragmentShader.replace('void main() {', ['uniform vec3 rimColor;', 'uniform float rimPower;', 'void main() {'].join('\n'));
|
|
53
|
+
shader.fragmentShader = shader.fragmentShader.replace('#include <dithering_fragment>', "#include <dithering_fragment>\n float dotNV = 1.0-saturate( dot( normal, geometry.viewDir ) );\n gl_FragColor.rgb += rimPower*dotNV*rimColor;\n vec3 fresnelall =rimPower*dotNV*rimColor;\n gl_FragColor.a +=(fresnelall.r+fresnelall.g+fresnelall.b)/3.;");
|
|
54
|
+
};
|
|
55
|
+
return material;
|
|
56
|
+
};
|
|
39
57
|
//# sourceMappingURL=finirMaterial.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Color","MeshStandardMaterial","ShaderMaterial","Vector3","finirMaterialV2","uniforms","edgeColor","value","edgeThickness","reflectionStrength","vertexShader","fragmentShader","transparent","depthWrite","finirMaterialV1","opacity","onBeforeCompile","shader","rimColor","rimPower","replace","join"],"sources":["../../../src/factory/utils/finirMaterial.ts"],"sourcesContent":["import { Color, MeshStandardMaterial, ShaderMaterial, Vector3 } from '@anov/3d-core'\n\nexport const finirMaterialV2 = new ShaderMaterial({\n uniforms: {\n // 在这里定义uniform变量,用于控制透明度、边缘和反光效果\n edgeColor: { value: new Vector3(1.0, 0.0, 0.0) }, // 边缘颜色\n edgeThickness: { value: 0.
|
|
1
|
+
{"version":3,"names":["Color","MeshStandardMaterial","ShaderMaterial","Vector3","finirMaterialV2","uniforms","edgeColor","value","edgeThickness","reflectionStrength","vertexShader","fragmentShader","transparent","depthWrite","finirMaterialV1","opacity","onBeforeCompile","shader","rimColor","rimPower","replace","join","createFinirMaterial","material"],"sources":["../../../src/factory/utils/finirMaterial.ts"],"sourcesContent":["import { Color, MeshStandardMaterial, ShaderMaterial, Vector3 } from '@anov/3d-core'\n\nexport const finirMaterialV2 = new ShaderMaterial({\n uniforms: {\n // 在这里定义uniform变量,用于控制透明度、边缘和反光效果\n edgeColor: { value: new Vector3(1.0, 0.0, 0.0) }, // 边缘颜色\n edgeThickness: { value: 0.05 }, // 边缘厚度0.05\n reflectionStrength: { value: 100 }, // 反光强度0.9\n },\n vertexShader: `\n varying vec3 vNormal;\n\n void main() {\n vNormal = normal;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n `,\n fragmentShader: `\n varying vec3 vNormal;\n uniform vec3 edgeColor;\n uniform float edgeThickness;\n uniform float reflectionStrength;\n\n void main() {\n // 计算透明度\n float alpha = 0.9; // 透明度的基础值\n\n // 计算边缘效果\n float edge = fwidth(length(vNormal));\n alpha *= smoothstep(0.0, edgeThickness, edge);\n\n // 计算反光效果\n vec3 reflection = reflect(normalize(-vNormal), vec3(0.455, 0.749, 0.890));\n float reflectionIntensity = max(dot(reflection, normalize(-vNormal)), 0.0);\n vec3 reflectionColor = reflectionStrength * reflectionIntensity * edgeColor;\n\n // 最终颜色设置为\"#74bfe3\"\n vec3 finalColor = vec3(0.8, 0.25, 0.145); // \"#74bfe3\"的RGB值\n finalColor += reflectionColor; // 添加反光效果\n\n // 设置透明度\n gl_FragColor = vec4(finalColor, alpha);\n }\n `,\n transparent: true,\n depthWrite: false,\n})\n\nexport const finirMaterialV1 = new MeshStandardMaterial({ /// /这个没有沟边粗细\n opacity: 0.0,\n transparent: true,\n depthWrite: false,\n})\n\nfinirMaterialV1.onBeforeCompile = (shader) => {\n shader.uniforms.rimColor = { value: new Color('#99C9E3') }\n shader.uniforms.rimPower = { value: 0.9 }\n shader.fragmentShader = shader.fragmentShader.replace(\n 'void main() {',\n [\n 'uniform vec3 rimColor;',\n ' uniform float rimPower;',\n 'void main() {',\n ].join('\\n'),\n )\n shader.fragmentShader = shader.fragmentShader.replace(\n '#include <dithering_fragment>',\n `#include <dithering_fragment>\n float dotNV = 1.0-saturate( dot( normal, geometry.viewDir ) );\n gl_FragColor.rgb += rimPower*dotNV*rimColor;\n vec3 fresnelall =rimPower*dotNV*rimColor;\n gl_FragColor.a +=(fresnelall.r+fresnelall.g+fresnelall.b)/3.;`,\n\n )\n}\n\nexport const createFinirMaterial = (rimColor: string, rimPower: number) => {\n const material = new MeshStandardMaterial({ opacity: 0.0, transparent: true, depthWrite: false })\n material.onBeforeCompile = (shader) => {\n shader.uniforms.rimColor = { value: new Color(rimColor) }\n shader.uniforms.rimPower = { value: rimPower }\n shader.fragmentShader = shader.fragmentShader.replace(\n 'void main() {',\n [\n 'uniform vec3 rimColor;',\n 'uniform float rimPower;',\n 'void main() {',\n ].join('\\n'),\n )\n shader.fragmentShader = shader.fragmentShader.replace(\n '#include <dithering_fragment>',\n `#include <dithering_fragment>\n float dotNV = 1.0-saturate( dot( normal, geometry.viewDir ) );\n gl_FragColor.rgb += rimPower*dotNV*rimColor;\n vec3 fresnelall =rimPower*dotNV*rimColor;\n gl_FragColor.a +=(fresnelall.r+fresnelall.g+fresnelall.b)/3.;`,\n )\n }\n return material\n}"],"mappings":"AAAA,SAASA,KAAK,EAAEC,oBAAoB,EAAEC,cAAc,EAAEC,OAAO,QAAQ,eAAe;AAEpF,OAAO,IAAMC,eAAe,GAAG,IAAIF,cAAc,CAAC;EAChDG,QAAQ,EAAE;IACR;IACAC,SAAS,EAAE;MAAEC,KAAK,EAAE,IAAIJ,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;IAAE,CAAC;IAAE;IAClDK,aAAa,EAAE;MAAED,KAAK,EAAE;IAAK,CAAC;IAAE;IAChCE,kBAAkB,EAAE;MAAEF,KAAK,EAAE;IAAI,CAAC,CAAE;EACtC,CAAC;;EACDG,YAAY,qRAOK;EACjBC,cAAc,g6CA0BG;EACjBC,WAAW,EAAE,IAAI;EACjBC,UAAU,EAAE;AACd,CAAC,CAAC;AAEF,OAAO,IAAMC,eAAe,GAAG,IAAIb,oBAAoB,CAAC;EAAE;EACxDc,OAAO,EAAE,GAAG;EACZH,WAAW,EAAE,IAAI;EACjBC,UAAU,EAAE;AACd,CAAC,CAAC;AAEFC,eAAe,CAACE,eAAe,GAAG,UAACC,MAAM,EAAK;EAC5CA,MAAM,CAACZ,QAAQ,CAACa,QAAQ,GAAG;IAAEX,KAAK,EAAE,IAAIP,KAAK,CAAC,SAAS;EAAE,CAAC;EAC1DiB,MAAM,CAACZ,QAAQ,CAACc,QAAQ,GAAG;IAAEZ,KAAK,EAAE;EAAI,CAAC;EACzCU,MAAM,CAACN,cAAc,GAAGM,MAAM,CAACN,cAAc,CAACS,OAAO,CACnD,eAAe,EACf,CACE,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,CAChB,CAACC,IAAI,CAAC,IAAI,CAAC,CACb;EACDJ,MAAM,CAACN,cAAc,GAAGM,MAAM,CAACN,cAAc,CAACS,OAAO,CACnD,+BAA+B,0RAOhC;AACH,CAAC;AAED,OAAO,IAAME,mBAAmB,GAAG,SAAtBA,mBAAmB,CAAIJ,QAAgB,EAAEC,QAAgB,EAAK;EACzE,IAAMI,QAAQ,GAAG,IAAItB,oBAAoB,CAAC;IAAEc,OAAO,EAAE,GAAG;IAAEH,WAAW,EAAE,IAAI;IAAEC,UAAU,EAAE;EAAM,CAAC,CAAC;EACjGU,QAAQ,CAACP,eAAe,GAAG,UAACC,MAAM,EAAK;IACrCA,MAAM,CAACZ,QAAQ,CAACa,QAAQ,GAAG;MAAEX,KAAK,EAAE,IAAIP,KAAK,CAACkB,QAAQ;IAAE,CAAC;IACzDD,MAAM,CAACZ,QAAQ,CAACc,QAAQ,GAAG;MAAEZ,KAAK,EAAEY;IAAS,CAAC;IAC9CF,MAAM,CAACN,cAAc,GAAGM,MAAM,CAACN,cAAc,CAACS,OAAO,CACnD,eAAe,EACf,CACE,wBAAwB,EACxB,yBAAyB,EACzB,eAAe,CAChB,CAACC,IAAI,CAAC,IAAI,CAAC,CACb;IACDJ,MAAM,CAACN,cAAc,GAAGM,MAAM,CAACN,cAAc,CAACS,OAAO,CACnD,+BAA+B,kRAMhC;EACH,CAAC;EACD,OAAOG,QAAQ;AACjB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["packageJSON","registerHooks","Anov3D","defaultCameraParams","fov","near","far","position","x","y","z","lookAt","console","log","version","createInstance"],"sources":["../src/index.ts"],"sourcesContent":["import packageJSON from '../package.json'\nimport registerHooks from './hooksManager'\nimport Anov3D from './sdkEntry'\n\nexport const defaultCameraParams = {\n fov: 45,\n near: 0.1,\n far: 1000000,\n position: { x: 0, y: 100, z: 200 },\n lookAt: { x: 0, y: 0, z: 0 },\n}\n\nregisterHooks()\n\nconsole.log('Anov3D', packageJSON.version)\n\nexport { createInstance } from './applicationApi'\nexport default Anov3D\n"],"mappings":"AAAA,OAAOA,WAAW;AAClB,OAAOC,aAAa;AACpB,OAAOC,MAAM;AAEb,OAAO,IAAMC,mBAAmB,GAAG;EACjCC,GAAG,EAAE,EAAE;EACPC,IAAI,EAAE,GAAG;EACTC,GAAG,EAAE,OAAO;EACZC,QAAQ,EAAE;IAAEC,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE,GAAG;IAAEC,CAAC,EAAE;EAAI,CAAC;EAClCC,MAAM,EAAE;IAAEH,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE;AAC7B,CAAC;AAEDT,aAAa,EAAE;AAEfW,OAAO,CAACC,GAAG,CAAC,QAAQ,EAAEb,WAAW,CAACc,OAAO,CAAC;AAE1C,SAASC,cAAc;AACvB,eAAeb,MAAM"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @param sunRadius
|
|
7
7
|
* @returns
|
|
8
8
|
*/
|
|
9
|
-
declare const createTimeSkySystem: (date: Date, latitude?: number, longitude?: number, sunRadius?: number) => [(currentDate?: Date
|
|
9
|
+
declare const createTimeSkySystem: (date: Date, latitude?: number, longitude?: number, sunRadius?: number) => [(currentDate?: Date) => import("@anov/3d-core").Vector3, import("@anov/3d-core/dist/core/group").default & {
|
|
10
10
|
sunPosition: import("@anov/3d-core").Vector3;
|
|
11
11
|
}, any];
|
|
12
12
|
export default createTimeSkySystem;
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ interface ObjectType {
|
|
|
10
10
|
* @param obj
|
|
11
11
|
* @param key
|
|
12
12
|
*/
|
|
13
|
-
export declare const getValueByKey: <T extends ObjectType>(obj: T, key: string) => T
|
|
13
|
+
export declare const getValueByKey: <T extends ObjectType>(obj: T, key: string) => T;
|
|
14
14
|
/**
|
|
15
15
|
* getFnByFnkey
|
|
16
16
|
* @param iEngine
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anov/3d",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.15",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "MIT",
|
|
@@ -18,10 +18,11 @@
|
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@tweenjs/tween.js": "^21.0.0",
|
|
21
|
+
"anov-heat-map": "^0.0.1",
|
|
21
22
|
"localforage": "^1.10.0",
|
|
22
23
|
"uuid": "^9.0.1",
|
|
23
|
-
"@anov/3d-ability": "^0.0.
|
|
24
|
-
"@anov/3d-core": "^0.0.
|
|
24
|
+
"@anov/3d-ability": "^0.0.7",
|
|
25
|
+
"@anov/3d-core": "^0.0.7"
|
|
25
26
|
},
|
|
26
27
|
"devDependencies": {
|
|
27
28
|
"@types/uuid": "^9.0.7"
|