@anov/3d-ability 0.0.67 → 0.0.68
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/business/MaterialSwitch/MaterialSwitchSystem.d.ts +33 -0
- package/dist/business/MaterialSwitch/MaterialSwitchSystem.js +216 -0
- package/dist/business/MaterialSwitch/MaterialSwitchSystem.js.map +1 -0
- package/dist/business/MaterialSwitch/fade.d.ts +11 -0
- package/dist/business/MaterialSwitch/fade.js +13 -0
- package/dist/business/MaterialSwitch/fade.js.map +1 -0
- package/dist/business/MaterialSwitch/finalFade.d.ts +7 -0
- package/dist/business/MaterialSwitch/finalFade.js +12 -0
- package/dist/business/MaterialSwitch/finalFade.js.map +1 -0
- package/dist/business/MaterialSwitch/index.d.ts +24 -0
- package/dist/business/MaterialSwitch/index.js +2 -0
- package/dist/business/MaterialSwitch/index.js.map +1 -0
- package/dist/business/index.d.ts +1 -0
- package/dist/business/index.js +1 -0
- package/dist/business/index.js.map +1 -1
- package/dist/core/PostEffects/index.d.ts +1 -1
- package/dist/core/PostEffects/index.js +1 -0
- package/dist/core/PostEffects/index.js.map +1 -1
- package/dist/core/PostEffects/outlinePass.d.ts +15 -0
- package/dist/core/PostEffects/outlinePass.js +37 -1
- package/dist/core/PostEffects/outlinePass.js.map +1 -1
- package/dist/core/WeatherSystem/WeatherSystem.js +1 -0
- package/dist/core/WeatherSystem/WeatherSystem.js.map +1 -1
- package/dist/core/WeatherSystem/weather/index.d.ts +2 -2
- package/dist/core/WeatherSystem/weather/index.js +33 -39
- package/dist/core/WeatherSystem/weather/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Object3D } from '@anov/3d-core';
|
|
2
|
+
import type { MaterialSwitchSystemInterface } from '.';
|
|
3
|
+
type MaterialSwitchType = 'Real' | 'Fresnel';
|
|
4
|
+
export declare class MaterialSwitchSystem extends Object3D implements MaterialSwitchSystemInterface {
|
|
5
|
+
type: MaterialSwitchType;
|
|
6
|
+
objects: Object3D[];
|
|
7
|
+
private materialsSet;
|
|
8
|
+
private newMaterialsSet;
|
|
9
|
+
private materialMap;
|
|
10
|
+
private group;
|
|
11
|
+
private frame;
|
|
12
|
+
customUniforms: {
|
|
13
|
+
progress: {
|
|
14
|
+
value: number;
|
|
15
|
+
};
|
|
16
|
+
isFinalFadeIn: {
|
|
17
|
+
value: boolean;
|
|
18
|
+
};
|
|
19
|
+
isRealFadeIn: {
|
|
20
|
+
value: boolean;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
constructor(objects: Object3D[]);
|
|
24
|
+
switchType(type: MaterialSwitchType): void;
|
|
25
|
+
private realToFinal;
|
|
26
|
+
private finalToReal;
|
|
27
|
+
private generateFinalObject;
|
|
28
|
+
private generateRealObject;
|
|
29
|
+
generate(): void;
|
|
30
|
+
addObject(object: Object3D): void;
|
|
31
|
+
removeObject(object: Object3D): void;
|
|
32
|
+
}
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
5
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
6
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
7
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
8
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
9
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
10
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
11
|
+
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); } }
|
|
12
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
13
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
14
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
15
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
16
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
17
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
18
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
19
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
20
|
+
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; }
|
|
21
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
22
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
23
|
+
import { AdditiveBlending, Box3, Group, Object3D, Vector3, use } from '@anov/3d-core';
|
|
24
|
+
import { frag, frag_pre, ver, ver_pre } from "./fade";
|
|
25
|
+
import FreshnelPlanBaseS from "./finalFade";
|
|
26
|
+
export var MaterialSwitchSystem = /*#__PURE__*/function (_Object3D) {
|
|
27
|
+
_inherits(MaterialSwitchSystem, _Object3D);
|
|
28
|
+
var _super = _createSuper(MaterialSwitchSystem);
|
|
29
|
+
function MaterialSwitchSystem(objects) {
|
|
30
|
+
var _this$group;
|
|
31
|
+
var _this;
|
|
32
|
+
_classCallCheck(this, MaterialSwitchSystem);
|
|
33
|
+
_this = _super.call(this);
|
|
34
|
+
_defineProperty(_assertThisInitialized(_this), "type", 'Real');
|
|
35
|
+
_defineProperty(_assertThisInitialized(_this), "objects", []);
|
|
36
|
+
_defineProperty(_assertThisInitialized(_this), "materialsSet", new Set());
|
|
37
|
+
_defineProperty(_assertThisInitialized(_this), "newMaterialsSet", new Set());
|
|
38
|
+
_defineProperty(_assertThisInitialized(_this), "materialMap", new Map());
|
|
39
|
+
_defineProperty(_assertThisInitialized(_this), "group", new Group());
|
|
40
|
+
_defineProperty(_assertThisInitialized(_this), "frame", void 0);
|
|
41
|
+
_defineProperty(_assertThisInitialized(_this), "customUniforms", {
|
|
42
|
+
progress: {
|
|
43
|
+
value: 0.0
|
|
44
|
+
},
|
|
45
|
+
isFinalFadeIn: {
|
|
46
|
+
value: false
|
|
47
|
+
},
|
|
48
|
+
isRealFadeIn: {
|
|
49
|
+
value: false
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
_this.objects = objects;
|
|
53
|
+
_this.group = new Group();
|
|
54
|
+
(_this$group = _this.group).add.apply(_this$group, _toConsumableArray(objects));
|
|
55
|
+
return _this;
|
|
56
|
+
}
|
|
57
|
+
_createClass(MaterialSwitchSystem, [{
|
|
58
|
+
key: "switchType",
|
|
59
|
+
value: function switchType(type) {
|
|
60
|
+
var _this$frame,
|
|
61
|
+
_this2 = this;
|
|
62
|
+
if (this.customUniforms.progress.value < 1.0) return;
|
|
63
|
+
(_this$frame = this.frame) === null || _this$frame === void 0 || _this$frame.call(this);
|
|
64
|
+
if (this.type === type) return;
|
|
65
|
+
if (type === 'Fresnel') this.realToFinal();else this.finalToReal();
|
|
66
|
+
this.customUniforms.progress.value = 0.0;
|
|
67
|
+
this.frame = use.useframe(function () {
|
|
68
|
+
_this2.customUniforms.progress.value += 0.010;
|
|
69
|
+
});
|
|
70
|
+
this.type = type;
|
|
71
|
+
}
|
|
72
|
+
}, {
|
|
73
|
+
key: "realToFinal",
|
|
74
|
+
value: function realToFinal() {
|
|
75
|
+
this.customUniforms.isFinalFadeIn.value = true;
|
|
76
|
+
this.customUniforms.isRealFadeIn.value = false;
|
|
77
|
+
}
|
|
78
|
+
}, {
|
|
79
|
+
key: "finalToReal",
|
|
80
|
+
value: function finalToReal() {
|
|
81
|
+
this.customUniforms.isFinalFadeIn.value = false;
|
|
82
|
+
this.customUniforms.isRealFadeIn.value = true;
|
|
83
|
+
}
|
|
84
|
+
}, {
|
|
85
|
+
key: "generateFinalObject",
|
|
86
|
+
value: function generateFinalObject(object) {
|
|
87
|
+
var _this3 = this;
|
|
88
|
+
var box = new Box3().setFromObject(object);
|
|
89
|
+
var size = box.getSize(new Vector3());
|
|
90
|
+
var halfDiagonal = size.length() * 0.5;
|
|
91
|
+
var maxSize = halfDiagonal;
|
|
92
|
+
object.traverse(function (child) {
|
|
93
|
+
if (child.isMesh) {
|
|
94
|
+
child.material.side = 2;
|
|
95
|
+
child.material.transparent = true;
|
|
96
|
+
child.material.depthTest = false;
|
|
97
|
+
child.material.depthWrite = true;
|
|
98
|
+
child.material.blending = AdditiveBlending;
|
|
99
|
+
child.material.polygonOffset = true;
|
|
100
|
+
child.material.polygonOffsetFactor = 0;
|
|
101
|
+
child.material.polygonOffsetUnits = 0;
|
|
102
|
+
child.material.customUniforms = {
|
|
103
|
+
progress: _this3.customUniforms.progress,
|
|
104
|
+
addOpacity: {
|
|
105
|
+
value: 0.7
|
|
106
|
+
},
|
|
107
|
+
objSize: {
|
|
108
|
+
value: maxSize
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
child.material.onBeforeCompile = function (shader) {
|
|
112
|
+
shader.uniforms = _objectSpread(_objectSpread({}, shader.uniforms), {}, {
|
|
113
|
+
progress: child.material.customUniforms.progress,
|
|
114
|
+
addOpacity: child.material.customUniforms.addOpacity,
|
|
115
|
+
objSize: child.material.customUniforms.objSize,
|
|
116
|
+
isFadeIn: _this3.customUniforms.isFinalFadeIn
|
|
117
|
+
});
|
|
118
|
+
shader.vertexShader = FreshnelPlanBaseS.getVertexShader();
|
|
119
|
+
shader.fragmentShader = FreshnelPlanBaseS.getFragmentShader();
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}, {
|
|
125
|
+
key: "generateRealObject",
|
|
126
|
+
value: function generateRealObject(object) {
|
|
127
|
+
var _this4 = this;
|
|
128
|
+
if (this.materialsSet.size === 0) {
|
|
129
|
+
var box = new Box3().setFromObject(object);
|
|
130
|
+
var size = box.getSize(new Vector3());
|
|
131
|
+
var halfDiagonal = size.length() * 0.5;
|
|
132
|
+
var maxSize = halfDiagonal;
|
|
133
|
+
if (object.children && object.children.length > 0) {
|
|
134
|
+
object.traverse(function (child) {
|
|
135
|
+
if (child.isMesh) {
|
|
136
|
+
if (Array.isArray(child.material)) child.material.forEach(function (mat) {
|
|
137
|
+
return _this4.materialsSet.add(mat);
|
|
138
|
+
});else _this4.materialsSet.add(child.material);
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
var oldMaterialsArray = _toConsumableArray(this.materialsSet);
|
|
143
|
+
oldMaterialsArray.forEach(function (oldMaterial) {
|
|
144
|
+
var newMaterial = oldMaterial.clone();
|
|
145
|
+
newMaterial.transparent = true;
|
|
146
|
+
newMaterial.depthTest = true;
|
|
147
|
+
newMaterial.depthWrite = true;
|
|
148
|
+
newMaterial.polygonOffset = true;
|
|
149
|
+
newMaterial.polygonOffsetFactor = 1;
|
|
150
|
+
newMaterial.polygonOffsetUnits = 1;
|
|
151
|
+
newMaterial.customUniforms = {
|
|
152
|
+
progress: _this4.customUniforms.progress,
|
|
153
|
+
objSize: {
|
|
154
|
+
value: maxSize
|
|
155
|
+
},
|
|
156
|
+
isFadeIn: _this4.customUniforms.isRealFadeIn
|
|
157
|
+
};
|
|
158
|
+
newMaterial.onBeforeCompile = function (shader) {
|
|
159
|
+
shader.uniforms = _objectSpread(_objectSpread({}, shader.uniforms), newMaterial.customUniforms);
|
|
160
|
+
shader.vertexShader = ver_pre + shader.vertexShader;
|
|
161
|
+
shader.vertexShader = shader.vertexShader.replace('#include <begin_vertex>', ver);
|
|
162
|
+
shader.fragmentShader = frag_pre + shader.fragmentShader;
|
|
163
|
+
shader.fragmentShader = shader.fragmentShader.replace('#include <map_fragment>', frag);
|
|
164
|
+
};
|
|
165
|
+
newMaterial.needsUpdate = true;
|
|
166
|
+
newMaterial.customProgramCacheKey = function () {
|
|
167
|
+
return "".concat(ver, "-").concat(frag);
|
|
168
|
+
};
|
|
169
|
+
_this4.newMaterialsSet.add(newMaterial);
|
|
170
|
+
_this4.materialMap.set(oldMaterial, newMaterial);
|
|
171
|
+
});
|
|
172
|
+
if (object.children && object.children.length > 0) {
|
|
173
|
+
object.traverse(function (child) {
|
|
174
|
+
if (child.isMesh) {
|
|
175
|
+
if (Array.isArray(child.material)) {
|
|
176
|
+
child.material.forEach(function (mat, index) {
|
|
177
|
+
child.material[index] = _this4.materialMap.get(mat);
|
|
178
|
+
});
|
|
179
|
+
} else {
|
|
180
|
+
child.material = _this4.materialMap.get(child.material);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}, {
|
|
188
|
+
key: "generate",
|
|
189
|
+
value: function generate() {
|
|
190
|
+
var finalObject = this.group.clone();
|
|
191
|
+
this.generateRealObject(this.group);
|
|
192
|
+
this.generateFinalObject(finalObject);
|
|
193
|
+
this.customUniforms.progress.value = 1.0;
|
|
194
|
+
this.customUniforms.isFinalFadeIn.value = false;
|
|
195
|
+
this.customUniforms.isRealFadeIn.value = true;
|
|
196
|
+
this.add(finalObject);
|
|
197
|
+
this.add(this.group);
|
|
198
|
+
}
|
|
199
|
+
}, {
|
|
200
|
+
key: "addObject",
|
|
201
|
+
value: function addObject(object) {
|
|
202
|
+
this.objects.push(object);
|
|
203
|
+
this.group.add(object);
|
|
204
|
+
}
|
|
205
|
+
}, {
|
|
206
|
+
key: "removeObject",
|
|
207
|
+
value: function removeObject(object) {
|
|
208
|
+
this.objects = this.objects.filter(function (o) {
|
|
209
|
+
return o !== object;
|
|
210
|
+
});
|
|
211
|
+
this.group.remove(object);
|
|
212
|
+
}
|
|
213
|
+
}]);
|
|
214
|
+
return MaterialSwitchSystem;
|
|
215
|
+
}(Object3D);
|
|
216
|
+
//# sourceMappingURL=MaterialSwitchSystem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AdditiveBlending","Box3","Group","Object3D","Vector3","use","frag","frag_pre","ver","ver_pre","FreshnelPlanBaseS","MaterialSwitchSystem","_Object3D","_inherits","_super","_createSuper","objects","_this$group","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","Set","Map","progress","value","isFinalFadeIn","isRealFadeIn","group","add","apply","_toConsumableArray","_createClass","key","switchType","type","_this$frame","_this2","customUniforms","frame","realToFinal","finalToReal","useframe","generateFinalObject","object","_this3","box","setFromObject","size","getSize","halfDiagonal","length","maxSize","traverse","child","isMesh","material","side","transparent","depthTest","depthWrite","blending","polygonOffset","polygonOffsetFactor","polygonOffsetUnits","addOpacity","objSize","onBeforeCompile","shader","uniforms","_objectSpread","isFadeIn","vertexShader","getVertexShader","fragmentShader","getFragmentShader","generateRealObject","_this4","materialsSet","children","Array","isArray","forEach","mat","oldMaterialsArray","oldMaterial","newMaterial","clone","replace","needsUpdate","customProgramCacheKey","concat","newMaterialsSet","materialMap","set","index","get","generate","finalObject","addObject","push","removeObject","filter","o","remove"],"sources":["../../../src/business/MaterialSwitch/MaterialSwitchSystem.ts"],"sourcesContent":["import { AdditiveBlending, Box3, EventDispatcher, Group, Object3D, Vector3, use } from '@anov/3d-core'\nimport { frag, frag_pre, ver, ver_pre } from './fade'\nimport FreshnelPlanBaseS from './finalFade'\nimport type { MaterialSwitchSystemInterface } from '.'\n\ntype MaterialSwitchType = 'Real' | 'Fresnel'\n\nexport class MaterialSwitchSystem extends Object3D implements MaterialSwitchSystemInterface {\n public type: MaterialSwitchType = 'Real'\n public objects: Object3D[] = []\n\n private materialsSet = new Set()\n private newMaterialsSet = new Set()\n private materialMap = new Map()\n private group = new Group()\n private frame: any\n\n public customUniforms = {\n progress: { value: 0.0 },\n isFinalFadeIn: { value: false },\n isRealFadeIn: { value: false },\n }\n\n constructor(objects: Object3D[]) {\n super()\n\n this.objects = objects\n\n this.group = new Group()\n this.group.add(...objects)\n }\n\n public switchType(type: MaterialSwitchType) {\n if (this.customUniforms.progress.value < 1.0)\n return\n\n this.frame?.()\n\n if (this.type === type)\n return\n\n if (type === 'Fresnel')\n this.realToFinal()\n\n else\n this.finalToReal()\n\n this.customUniforms.progress.value = 0.0\n\n this.frame = use.useframe(() => {\n this.customUniforms.progress.value += 0.010\n })\n\n this.type = type\n }\n\n private realToFinal() {\n this.customUniforms.isFinalFadeIn.value = true\n this.customUniforms.isRealFadeIn.value = false\n }\n\n private finalToReal() {\n this.customUniforms.isFinalFadeIn.value = false\n this.customUniforms.isRealFadeIn.value = true\n }\n\n private generateFinalObject(object: Object3D) {\n const box = new Box3().setFromObject(object)\n const size = box.getSize(new Vector3())\n const halfDiagonal = size.length() * 0.5\n const maxSize = halfDiagonal\n\n object.traverse((child: any) => {\n if (child.isMesh) {\n child.material.side = 2\n child.material.transparent = true\n child.material.depthTest = false\n child.material.depthWrite = true\n child.material.blending = AdditiveBlending\n\n child.material.polygonOffset = true\n child.material.polygonOffsetFactor = 0\n child.material.polygonOffsetUnits = 0\n child.material.customUniforms = {\n progress: this.customUniforms.progress,\n addOpacity: { value: 0.7 },\n objSize: { value: maxSize },\n }\n child.material.onBeforeCompile = (shader) => {\n shader.uniforms = {\n ...shader.uniforms,\n progress: child.material.customUniforms.progress,\n addOpacity: child.material.customUniforms.addOpacity,\n objSize: child.material.customUniforms.objSize,\n isFadeIn: this.customUniforms.isFinalFadeIn,\n }\n shader.vertexShader = FreshnelPlanBaseS.getVertexShader()\n shader.fragmentShader = FreshnelPlanBaseS.getFragmentShader()\n }\n }\n })\n }\n\n private generateRealObject(object: Object3D) {\n if (this.materialsSet.size === 0) {\n const box = new Box3().setFromObject(object)\n const size = box.getSize(new Vector3())\n const halfDiagonal = size.length() * 0.5\n const maxSize = halfDiagonal\n\n if (object.children && object.children.length > 0) {\n object.traverse((child: any) => {\n if (child.isMesh) {\n if (Array.isArray(child.material))\n child.material.forEach(mat => this.materialsSet.add(mat))\n else\n this.materialsSet.add(child.material)\n }\n })\n }\n\n const oldMaterialsArray = [...this.materialsSet]\n\n oldMaterialsArray.forEach((oldMaterial: any) => {\n const newMaterial = oldMaterial.clone()\n\n newMaterial.transparent = true\n newMaterial.depthTest = true\n newMaterial.depthWrite = true\n newMaterial.polygonOffset = true\n newMaterial.polygonOffsetFactor = 1\n newMaterial.polygonOffsetUnits = 1\n\n newMaterial.customUniforms = {\n progress: this.customUniforms.progress,\n objSize: { value: maxSize },\n isFadeIn: this.customUniforms.isRealFadeIn,\n }\n\n newMaterial.onBeforeCompile = (shader) => {\n shader.uniforms = {\n ...shader.uniforms,\n ...newMaterial.customUniforms,\n }\n\n shader.vertexShader = ver_pre + shader.vertexShader\n shader.vertexShader = shader.vertexShader.replace(\n '#include <begin_vertex>', ver,\n )\n shader.fragmentShader = frag_pre + shader.fragmentShader\n shader.fragmentShader = shader.fragmentShader.replace(\n '#include <map_fragment>', frag,\n )\n }\n\n newMaterial.needsUpdate = true\n newMaterial.customProgramCacheKey = () => `${ver}-${frag}`\n this.newMaterialsSet.add(newMaterial)\n this.materialMap.set(oldMaterial, newMaterial)\n })\n\n if (object.children && object.children.length > 0) {\n object.traverse((child: any) => {\n if (child.isMesh) {\n if (Array.isArray(child.material)) {\n child.material.forEach((mat, index) => {\n child.material[index] = this.materialMap.get(mat)\n })\n }\n else {\n child.material = this.materialMap.get(child.material)\n }\n }\n })\n }\n }\n }\n\n public generate() {\n const finalObject = this.group.clone()\n this.generateRealObject(this.group)\n this.generateFinalObject(finalObject)\n\n this.customUniforms.progress.value = 1.0\n this.customUniforms.isFinalFadeIn.value = false\n this.customUniforms.isRealFadeIn.value = true\n\n this.add(finalObject)\n this.add(this.group)\n }\n\n public addObject(object: Object3D) {\n this.objects.push(object)\n this.group.add(object)\n }\n\n public removeObject(object: Object3D) {\n this.objects = this.objects.filter(o => o !== object)\n this.group.remove(object)\n }\n}"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const ver_pre = "\n\tvarying highp vec2 vUv;\n\tvarying vec3 vWorldPosition;\n\t";
|
|
2
|
+
export declare const ver = "\n\t#include <begin_vertex>\n\n\tvec4 worldPosition1 = modelMatrix * vec4(position, 1.0);\n\tvWorldPosition = worldPosition1.xyz;\n";
|
|
3
|
+
export declare const frag_pre = "\n\tvarying highp vec2 vUv;\n\tvarying vec3 vWorldPosition;\n\tuniform float progress;\n\tuniform float objSize;\n uniform bool isFadeIn;\n\t";
|
|
4
|
+
export declare const frag = "\n\t#include <map_fragment> \n vec3 myWorldPosition=vWorldPosition/objSize;\n\t\n if(isFadeIn){\n \n\tfloat circle1 =step(distance(vec3(0.),myWorldPosition),progress-0.02);\n\tfloat circle2 =step(distance(vec3(0.),myWorldPosition),progress);\n\n\tdiffuseColor.xyz+=vec3(circle2-circle1)*3.;\n\tdiffuseColor.w*=circle2;\n }else{\n\n\n\tfloat circle =step(distance(vec3(0.),myWorldPosition),progress);\n\tdiffuseColor.w*=step(circle,0.);\n }\n\n\t\n\t";
|
|
5
|
+
declare const FreshnelPlanObjS: {
|
|
6
|
+
ver_pre: string;
|
|
7
|
+
ver: string;
|
|
8
|
+
frag_pre: string;
|
|
9
|
+
frag: string;
|
|
10
|
+
};
|
|
11
|
+
export default FreshnelPlanObjS;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/* eslint-disable no-tabs */
|
|
2
|
+
export var ver_pre = "\n\tvarying highp vec2 vUv;\n\tvarying vec3 vWorldPosition;\n\t";
|
|
3
|
+
export var ver = "\n\t#include <begin_vertex>\n\n\tvec4 worldPosition1 = modelMatrix * vec4(position, 1.0);\n\tvWorldPosition = worldPosition1.xyz;\n";
|
|
4
|
+
export var frag_pre = "\n\tvarying highp vec2 vUv;\n\tvarying vec3 vWorldPosition;\n\tuniform float progress;\n\tuniform float objSize;\n uniform bool isFadeIn;\n\t";
|
|
5
|
+
export var frag = "\n\t#include <map_fragment> \n vec3 myWorldPosition=vWorldPosition/objSize;\n\t\n if(isFadeIn){\n \n\tfloat circle1 =step(distance(vec3(0.),myWorldPosition),progress-0.02);\n\tfloat circle2 =step(distance(vec3(0.),myWorldPosition),progress);\n\n\tdiffuseColor.xyz+=vec3(circle2-circle1)*3.;\n\tdiffuseColor.w*=circle2;\n }else{\n\n\n\tfloat circle =step(distance(vec3(0.),myWorldPosition),progress);\n\tdiffuseColor.w*=step(circle,0.);\n }\n\n\t\n\t";
|
|
6
|
+
var FreshnelPlanObjS = {
|
|
7
|
+
ver_pre: ver_pre,
|
|
8
|
+
ver: ver,
|
|
9
|
+
frag_pre: frag_pre,
|
|
10
|
+
frag: frag
|
|
11
|
+
};
|
|
12
|
+
export default FreshnelPlanObjS;
|
|
13
|
+
//# sourceMappingURL=fade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ver_pre","ver","frag_pre","frag","FreshnelPlanObjS"],"sources":["../../../src/business/MaterialSwitch/fade.ts"],"sourcesContent":["/* eslint-disable no-tabs */\nexport const ver_pre\n = `\n\tvarying highp vec2 vUv;\n\tvarying vec3 vWorldPosition;\n\t`\n\nexport const ver = `\n\t#include <begin_vertex>\n\n\tvec4 worldPosition1 = modelMatrix * vec4(position, 1.0);\n\tvWorldPosition = worldPosition1.xyz;\n`\n\nexport const frag_pre = `\n\tvarying highp vec2 vUv;\n\tvarying vec3 vWorldPosition;\n\tuniform float progress;\n\tuniform float objSize;\n uniform bool isFadeIn;\n\t`\n\nexport const frag = `\n\t#include <map_fragment> \n vec3 myWorldPosition=vWorldPosition/objSize;\n\t\n if(isFadeIn){\n \n\tfloat circle1 =step(distance(vec3(0.),myWorldPosition),progress-0.02);\n\tfloat circle2 =step(distance(vec3(0.),myWorldPosition),progress);\n\n\tdiffuseColor.xyz+=vec3(circle2-circle1)*3.;\n\tdiffuseColor.w*=circle2;\n }else{\n\n\n\tfloat circle =step(distance(vec3(0.),myWorldPosition),progress);\n\tdiffuseColor.w*=step(circle,0.);\n }\n\n\t\n\t`\n\nconst FreshnelPlanObjS = { ver_pre, ver, frag_pre, frag }\n\nexport default FreshnelPlanObjS"],"mappings":"AAAA;AACA,OAAO,IAAMA,OAAO,oEAIlB;AAEF,OAAO,IAAMC,GAAG,wIAKf;AAED,OAAO,IAAMC,QAAQ,qJAMnB;AAEF,OAAO,IAAMC,IAAI,qdAmBf;AAEF,IAAMC,gBAAgB,GAAG;EAAEJ,OAAO,EAAPA,OAAO;EAAEC,GAAG,EAAHA,GAAG;EAAEC,QAAQ,EAARA,QAAQ;EAAEC,IAAI,EAAJA;AAAK,CAAC;AAEzD,eAAeC,gBAAgB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export var getVertexShader = function getVertexShader() {
|
|
2
|
+
return "\nvarying highp vec2 vUv;\nvarying vec3 vWorldPosition;\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;\n\n#include <common>\n#include <logdepthbuf_pars_vertex>\n\nvoid main() {\n #include <begin_vertex>\n #include <project_vertex>\n #include <logdepthbuf_vertex>\n \n vUv = uv;\n vec4 worldPosition = modelMatrix * vec4(position, 1.0);\n vWorldPosition = worldPosition.xyz;\n gl_Position = projectionMatrix * viewMatrix * worldPosition;\n \n vNormal = normalize(mat3(transpose(inverse(modelMatrix))) * normal);\n vec3 cameraToVertex = normalize(cameraPosition - vWorldPosition);\n vViewPosition = cameraToVertex;\n}\n";
|
|
3
|
+
};
|
|
4
|
+
export var getFragmentShader = function getFragmentShader() {
|
|
5
|
+
return "\n#include <logdepthbuf_pars_fragment>\n\nuniform float progress;\nuniform float addOpacity;\nuniform float objSize;\nuniform bool isFadeIn;\n\nvarying vec2 vUv;\nvarying vec3 vWorldPosition;\nvarying vec3 vNormal;\nvarying vec3 vViewPosition;\n\nvoid main() {\n #include <logdepthbuf_fragment>\n\n if (isFadeIn) {\n vec3 myWorldPosition = vWorldPosition / objSize;\n vec3 viewDirection = normalize(vViewPosition);\n vec3 normal = normalize(vNormal);\n float lightIntensity = 1.0 - pow(dot(normal, viewDirection), 2.0);\n\n float circle1 = 0.5 - clamp(distance(vec3(0.0), myWorldPosition * 0.5), 0.0, 0.55);\n\n // \u9010\u6E10\u663E\u793A\u6548\u679C\u7684\u5B9E\u73B0\n float circleOut = step(distance(vec3(0.0), myWorldPosition), progress);\n float circleIn = step(distance(vec3(0.0), myWorldPosition), progress - 0.002);\n float circleW = circleOut - circleIn;\n\n vec4 color = mix(vec4(0.0, 0.2, 1.0, 0.1), vec4(0.2, 1.0, 1.0, 1.0), circle1);\n gl_FragColor = color * lightIntensity * 0.8 + vec4(circleW * 0.0, circleW * 5.0, circleW * 20.0, circleW * 2.0);\n\n // \u5C06\u900F\u660E\u5EA6\u4E0E\u8FDB\u5EA6\u76F8\u5173\u8054\uFF0C\u4F7F\u7269\u4F53\u9010\u6E10\u663E\u793A\n gl_FragColor.w *= circleOut * addOpacity;\n } else {\n vec3 myWorldPosition = vWorldPosition / objSize;\n vec3 viewDirection = normalize(vViewPosition);\n vec3 normal = normalize(vNormal);\n float lightIntensity = 1.0 - pow(dot(normal, viewDirection), 2.0);\n\n float circle1 = 0.5 - clamp(distance(vec3(0.0), myWorldPosition * 0.5), 0.0, 0.55);\n float circleOut = 1.0 - step(distance(vec3(0.0), myWorldPosition), progress);\n float circleIn = 1.0 - step(distance(vec3(0.0), myWorldPosition), progress - 0.002);\n float circleW = circleOut - circleIn;\n\n vec4 color = mix(vec4(0.0, 0.2, 1.0, 0.1), vec4(0.2, 1.0, 1.0, 1.0), circle1);\n gl_FragColor = color * lightIntensity * 0.8 + vec4(circleW * 0.0, circleW * 5.0, circleW * 20.0, circleW * 2.0);\n gl_FragColor.w *= circleIn * addOpacity;\n }\n}\n";
|
|
6
|
+
};
|
|
7
|
+
var FinalFadeShader = {
|
|
8
|
+
getVertexShader: getVertexShader,
|
|
9
|
+
getFragmentShader: getFragmentShader
|
|
10
|
+
};
|
|
11
|
+
export default FinalFadeShader;
|
|
12
|
+
//# sourceMappingURL=finalFade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getVertexShader","getFragmentShader","FinalFadeShader"],"sources":["../../../src/business/MaterialSwitch/finalFade.ts"],"sourcesContent":["export const getVertexShader = () => {\n return `\nvarying highp vec2 vUv;\nvarying vec3 vWorldPosition;\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;\n\n#include <common>\n#include <logdepthbuf_pars_vertex>\n\nvoid main() {\n #include <begin_vertex>\n #include <project_vertex>\n #include <logdepthbuf_vertex>\n \n vUv = uv;\n vec4 worldPosition = modelMatrix * vec4(position, 1.0);\n vWorldPosition = worldPosition.xyz;\n gl_Position = projectionMatrix * viewMatrix * worldPosition;\n \n vNormal = normalize(mat3(transpose(inverse(modelMatrix))) * normal);\n vec3 cameraToVertex = normalize(cameraPosition - vWorldPosition);\n vViewPosition = cameraToVertex;\n}\n`\n}\n\nexport const getFragmentShader = () => {\n return `\n#include <logdepthbuf_pars_fragment>\n\nuniform float progress;\nuniform float addOpacity;\nuniform float objSize;\nuniform bool isFadeIn;\n\nvarying vec2 vUv;\nvarying vec3 vWorldPosition;\nvarying vec3 vNormal;\nvarying vec3 vViewPosition;\n\nvoid main() {\n #include <logdepthbuf_fragment>\n\n if (isFadeIn) {\n vec3 myWorldPosition = vWorldPosition / objSize;\n vec3 viewDirection = normalize(vViewPosition);\n vec3 normal = normalize(vNormal);\n float lightIntensity = 1.0 - pow(dot(normal, viewDirection), 2.0);\n\n float circle1 = 0.5 - clamp(distance(vec3(0.0), myWorldPosition * 0.5), 0.0, 0.55);\n\n // 逐渐显示效果的实现\n float circleOut = step(distance(vec3(0.0), myWorldPosition), progress);\n float circleIn = step(distance(vec3(0.0), myWorldPosition), progress - 0.002);\n float circleW = circleOut - circleIn;\n\n vec4 color = mix(vec4(0.0, 0.2, 1.0, 0.1), vec4(0.2, 1.0, 1.0, 1.0), circle1);\n gl_FragColor = color * lightIntensity * 0.8 + vec4(circleW * 0.0, circleW * 5.0, circleW * 20.0, circleW * 2.0);\n\n // 将透明度与进度相关联,使物体逐渐显示\n gl_FragColor.w *= circleOut * addOpacity;\n } else {\n vec3 myWorldPosition = vWorldPosition / objSize;\n vec3 viewDirection = normalize(vViewPosition);\n vec3 normal = normalize(vNormal);\n float lightIntensity = 1.0 - pow(dot(normal, viewDirection), 2.0);\n\n float circle1 = 0.5 - clamp(distance(vec3(0.0), myWorldPosition * 0.5), 0.0, 0.55);\n float circleOut = 1.0 - step(distance(vec3(0.0), myWorldPosition), progress);\n float circleIn = 1.0 - step(distance(vec3(0.0), myWorldPosition), progress - 0.002);\n float circleW = circleOut - circleIn;\n\n vec4 color = mix(vec4(0.0, 0.2, 1.0, 0.1), vec4(0.2, 1.0, 1.0, 1.0), circle1);\n gl_FragColor = color * lightIntensity * 0.8 + vec4(circleW * 0.0, circleW * 5.0, circleW * 20.0, circleW * 2.0);\n gl_FragColor.w *= circleIn * addOpacity;\n }\n}\n`\n}\n\nconst FinalFadeShader = { getVertexShader, getFragmentShader }\nexport default FinalFadeShader"],"mappings":"AAAA,OAAO,IAAMA,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAAS;EACnC;AAwBF,CAAC;AAED,OAAO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAA,EAAS;EACrC;AAmDF,CAAC;AAED,IAAMC,eAAe,GAAG;EAAEF,eAAe,EAAfA,eAAe;EAAEC,iBAAiB,EAAjBA;AAAkB,CAAC;AAC9D,eAAeC,eAAe"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Object3D } from '@anov/3d-core';
|
|
2
|
+
export { MaterialSwitchSystem } from './MaterialSwitchSystem';
|
|
3
|
+
export interface MaterialSwitchSystemInterface {
|
|
4
|
+
/**
|
|
5
|
+
* 当前类型
|
|
6
|
+
*/
|
|
7
|
+
type: string;
|
|
8
|
+
/**
|
|
9
|
+
* 对象列表
|
|
10
|
+
*/
|
|
11
|
+
objects: Object3D[];
|
|
12
|
+
/**
|
|
13
|
+
* 切换类型
|
|
14
|
+
*/
|
|
15
|
+
switchType(type: string): void;
|
|
16
|
+
/**
|
|
17
|
+
* 添加对象
|
|
18
|
+
*/
|
|
19
|
+
addObject(object: Object3D): void;
|
|
20
|
+
/**
|
|
21
|
+
* 移除对象
|
|
22
|
+
*/
|
|
23
|
+
removeObject(object: Object3D): void;
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MaterialSwitchSystem"],"sources":["../../../src/business/MaterialSwitch/index.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\n\nexport { MaterialSwitchSystem } from './MaterialSwitchSystem'\n\nexport interface MaterialSwitchSystemInterface {\n /**\n * 当前类型\n */\n type: string\n\n /**\n * 对象列表\n */\n objects: Object3D[]\n\n /**\n * 切换类型\n */\n switchType(type: string): void\n\n /**\n * 添加对象\n */\n addObject(object: Object3D): void\n\n /**\n * 移除对象\n */\n removeObject(object: Object3D): void\n}\n"],"mappings":"AAEA,SAASA,oBAAoB"}
|
package/dist/business/index.d.ts
CHANGED
package/dist/business/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../src/business/index.ts"],"sourcesContent":["export * from './Poi'\nexport * from './Spline'\nexport * from './Area'\nexport * from './TrafficComponents'\nexport * from './Batch'\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA"}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../src/business/index.ts"],"sourcesContent":["export * from './Poi'\nexport * from './Spline'\nexport * from './Area'\nexport * from './TrafficComponents'\nexport * from './Batch'\nexport * from './MaterialSwitch'\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["lib","use","utils","EffectComposer","RenderPass","storeManagement","useSubComposerFrame","useComposerFrame","clean","initPostEffects","scene","renderer","camera","options","_ref","type","beforehooks","afterhooks","_ref$renderToScreen","renderToScreen","composer","renderPass","func","set","addPass","isNeedRender","cleanEffectsframe","render","delete"],"sources":["../../../src/core/PostEffects/index.ts"],"sourcesContent":["import type { Camera, Scene, WebGLRenderer } from '@anov/3d-core'\nimport { lib, use, utils } from '@anov/3d-core'\n\nconst { EffectComposer, RenderPass } = lib\nconst { storeManagement } = utils\nconst { useSubComposerFrame, useComposerFrame } = use\n\ntype InitPostEffectsOptions = {\n type: 'main' | 'sub'\n beforehooks?: () => void\n afterhooks?: () => void\n renderToScreen?: boolean\n}\n\nlet clean: () => void\n\n/**\n * init post effects\n * @param scene\n * @param renderer\n * @param camera\n * @param beforehooks composer render before hook\n * @param afterhooks composer render after hook\n * @returns\n */\nexport const initPostEffects = (\n scene: Scene,\n renderer: WebGLRenderer,\n camera: Camera,\n options?: InitPostEffectsOptions,\n) => {\n const { type, beforehooks, afterhooks, renderToScreen = true } = options || { type: 'main' }\n const composer = new EffectComposer(renderer)\n const renderPass = new RenderPass(scene, camera)\n const func = type === 'main' ? useComposerFrame : useSubComposerFrame\n\n clean && clean()\n\n storeManagement.set('composer', composer)\n storeManagement.set('renderPass', renderPass)\n\n composer.addPass(renderPass)\n composer.renderToScreen = renderToScreen\n\n // @ts-ignore\n composer.isNeedRender = true\n\n const cleanEffectsframe = func (() => {\n beforehooks && beforehooks()\n // @ts-ignore\n composer.isNeedRender && composer.render()\n afterhooks && afterhooks()\n })\n\n clean = () => {\n storeManagement.delete('composer')\n storeManagement.delete('renderPass')\n\n cleanEffectsframe()\n }\n\n return {\n composer,\n clean,\n }\n}"],"mappings":"AACA,SAASA,GAAG,EAAEC,GAAG,EAAEC,KAAK,QAAQ,eAAe;AAE/C,IAAQC,cAAc,GAAiBH,GAAG,CAAlCG,cAAc;EAAEC,UAAU,GAAKJ,GAAG,CAAlBI,UAAU;AAClC,IAAQC,eAAe,GAAKH,KAAK,CAAzBG,eAAe;AACvB,IAAQC,mBAAmB,GAAuBL,GAAG,CAA7CK,mBAAmB;EAAEC,gBAAgB,GAAKN,GAAG,CAAxBM,gBAAgB;AAS7C,IAAIC,KAAiB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAC1BC,KAAY,EACZC,QAAuB,EACvBC,MAAc,EACdC,OAAgC,EAC7B;EACH,IAAAC,IAAA,GAAiED,OAAO,IAAI;MAAEE,IAAI,EAAE;IAAO,CAAC;IAApFA,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IAAEC,UAAU,GAAAH,IAAA,CAAVG,UAAU;IAAAC,mBAAA,GAAAJ,IAAA,CAAEK,cAAc;IAAdA,cAAc,GAAAD,mBAAA,cAAG,IAAI,GAAAA,mBAAA;EAC5D,IAAME,QAAQ,GAAG,IAAIjB,cAAc,CAACQ,QAAQ,CAAC;EAC7C,IAAMU,UAAU,GAAG,IAAIjB,UAAU,CAACM,KAAK,EAAEE,MAAM,CAAC;EAChD,IAAMU,IAAI,GAAGP,IAAI,KAAK,MAAM,GAAGR,gBAAgB,GAAGD,mBAAmB;EAErEE,KAAK,IAAIA,KAAK,CAAC,CAAC;EAEhBH,eAAe,CAACkB,GAAG,CAAC,UAAU,EAAEH,QAAQ,CAAC;EACzCf,eAAe,CAACkB,GAAG,CAAC,YAAY,EAAEF,UAAU,CAAC;EAE7CD,QAAQ,CAACI,OAAO,CAACH,UAAU,CAAC;EAC5BD,QAAQ,CAACD,cAAc,GAAGA,cAAc;;EAExC;EACAC,QAAQ,CAACK,YAAY,GAAG,IAAI;EAE5B,IAAMC,iBAAiB,GAAGJ,IAAI,CAAE,YAAM;IACpCN,WAAW,IAAIA,WAAW,CAAC,CAAC;IAC5B;IACAI,QAAQ,CAACK,YAAY,IAAIL,QAAQ,CAACO,MAAM,CAAC,CAAC;IAC1CV,UAAU,IAAIA,UAAU,CAAC,CAAC;EAC5B,CAAC,CAAC;EAEFT,KAAK,GAAG,SAAAA,MAAA,EAAM;IACZH,eAAe,CAACuB,MAAM,CAAC,UAAU,CAAC;IAClCvB,eAAe,CAACuB,MAAM,CAAC,YAAY,CAAC;IAEpCF,iBAAiB,CAAC,CAAC;EACrB,CAAC;EAED,OAAO;IACLN,QAAQ,EAARA,QAAQ;IACRZ,KAAK,EAALA;EACF,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"names":["lib","use","utils","EffectComposer","RenderPass","storeManagement","useSubComposerFrame","useComposerFrame","clean","initPostEffects","scene","renderer","camera","options","_ref","type","beforehooks","afterhooks","_ref$renderToScreen","renderToScreen","composer","renderPass","func","set","addPass","isNeedRender","cleanEffectsframe","render","delete"],"sources":["../../../src/core/PostEffects/index.ts"],"sourcesContent":["import type { Camera, Scene, WebGLRenderer } from '@anov/3d-core'\nimport { lib, use, utils } from '@anov/3d-core'\n\nconst { EffectComposer, RenderPass } = lib\nconst { storeManagement } = utils\nconst { useSubComposerFrame, useComposerFrame } = use\n\ntype InitPostEffectsOptions = {\n type: 'main' | 'sub'\n beforehooks?: () => void\n afterhooks?: () => void\n renderToScreen?: boolean\n}\n\nlet clean: () => void\n\n/**\n * init post effects\n * @param scene\n * @param renderer\n * @param camera\n * @param beforehooks composer render before hook\n * @param afterhooks composer render after hook\n * @returns\n */\nexport const initPostEffects = (\n scene: Scene,\n renderer: WebGLRenderer,\n camera: Camera,\n options?: InitPostEffectsOptions,\n) => {\n const { type, beforehooks, afterhooks, renderToScreen = true } = options || { type: 'main' }\n const composer = new EffectComposer(renderer)\n const renderPass = new RenderPass(scene, camera)\n const func = type === 'main' ? useComposerFrame : useSubComposerFrame\n\n clean && clean()\n\n storeManagement.set('composer', composer)\n storeManagement.set('renderPass', renderPass)\n\n composer.addPass(renderPass)\n composer.renderToScreen = renderToScreen\n\n // @ts-ignore\n composer.isNeedRender = true\n\n const cleanEffectsframe = func (() => {\n beforehooks && beforehooks()\n // @ts-ignore\n composer.isNeedRender && composer.render()\n afterhooks && afterhooks()\n })\n\n clean = () => {\n storeManagement.delete('composer')\n storeManagement.delete('renderPass')\n\n cleanEffectsframe()\n }\n\n return {\n composer,\n clean,\n }\n}\n\nexport * from './outlinePass'"],"mappings":"AACA,SAASA,GAAG,EAAEC,GAAG,EAAEC,KAAK,QAAQ,eAAe;AAE/C,IAAQC,cAAc,GAAiBH,GAAG,CAAlCG,cAAc;EAAEC,UAAU,GAAKJ,GAAG,CAAlBI,UAAU;AAClC,IAAQC,eAAe,GAAKH,KAAK,CAAzBG,eAAe;AACvB,IAAQC,mBAAmB,GAAuBL,GAAG,CAA7CK,mBAAmB;EAAEC,gBAAgB,GAAKN,GAAG,CAAxBM,gBAAgB;AAS7C,IAAIC,KAAiB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAC1BC,KAAY,EACZC,QAAuB,EACvBC,MAAc,EACdC,OAAgC,EAC7B;EACH,IAAAC,IAAA,GAAiED,OAAO,IAAI;MAAEE,IAAI,EAAE;IAAO,CAAC;IAApFA,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IAAEC,UAAU,GAAAH,IAAA,CAAVG,UAAU;IAAAC,mBAAA,GAAAJ,IAAA,CAAEK,cAAc;IAAdA,cAAc,GAAAD,mBAAA,cAAG,IAAI,GAAAA,mBAAA;EAC5D,IAAME,QAAQ,GAAG,IAAIjB,cAAc,CAACQ,QAAQ,CAAC;EAC7C,IAAMU,UAAU,GAAG,IAAIjB,UAAU,CAACM,KAAK,EAAEE,MAAM,CAAC;EAChD,IAAMU,IAAI,GAAGP,IAAI,KAAK,MAAM,GAAGR,gBAAgB,GAAGD,mBAAmB;EAErEE,KAAK,IAAIA,KAAK,CAAC,CAAC;EAEhBH,eAAe,CAACkB,GAAG,CAAC,UAAU,EAAEH,QAAQ,CAAC;EACzCf,eAAe,CAACkB,GAAG,CAAC,YAAY,EAAEF,UAAU,CAAC;EAE7CD,QAAQ,CAACI,OAAO,CAACH,UAAU,CAAC;EAC5BD,QAAQ,CAACD,cAAc,GAAGA,cAAc;;EAExC;EACAC,QAAQ,CAACK,YAAY,GAAG,IAAI;EAE5B,IAAMC,iBAAiB,GAAGJ,IAAI,CAAE,YAAM;IACpCN,WAAW,IAAIA,WAAW,CAAC,CAAC;IAC5B;IACAI,QAAQ,CAACK,YAAY,IAAIL,QAAQ,CAACO,MAAM,CAAC,CAAC;IAC1CV,UAAU,IAAIA,UAAU,CAAC,CAAC;EAC5B,CAAC,CAAC;EAEFT,KAAK,GAAG,SAAAA,MAAA,EAAM;IACZH,eAAe,CAACuB,MAAM,CAAC,UAAU,CAAC;IAClCvB,eAAe,CAACuB,MAAM,CAAC,YAAY,CAAC;IAEpCF,iBAAiB,CAAC,CAAC;EACrB,CAAC;EAED,OAAO;IACLN,QAAQ,EAARA,QAAQ;IACRZ,KAAK,EAALA;EACF,CAAC;AACH,CAAC;AAED"}
|
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
import type { Camera, Object3D, Scene } from '@anov/3d-core';
|
|
2
2
|
import { EffectPass } from 'postprocessing';
|
|
3
|
+
type HighParamsType = {
|
|
4
|
+
edgeStrength?: number;
|
|
5
|
+
edgeGlow?: number;
|
|
6
|
+
edgeThickness?: number;
|
|
7
|
+
pulsePeriod?: number;
|
|
8
|
+
visibleEdgeColor?: string;
|
|
9
|
+
hiddenEdgeColor?: string;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @param highParams
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
export declare const createHighSelectedTool: (highParams?: HighParamsType) => (object3dArray: Object3D[]) => void;
|
|
3
17
|
export declare class OutlinePass extends EffectPass {
|
|
4
18
|
private outlinePass;
|
|
5
19
|
constructor(scene: Scene, camera: Camera);
|
|
6
20
|
selectedObjects(object3dArray: Object3D[]): void;
|
|
7
21
|
}
|
|
22
|
+
export {};
|
|
@@ -9,11 +9,17 @@ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) ===
|
|
|
9
9
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
10
10
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
11
11
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
12
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
14
|
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; }
|
|
13
15
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
14
16
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
15
|
-
import { OutlinePassExtend, Vector2 } from '@anov/3d-core';
|
|
17
|
+
import { OutlinePassExtend, Vector2, lib, use, utils } from '@anov/3d-core';
|
|
16
18
|
import { EffectPass } from 'postprocessing';
|
|
19
|
+
var storeManagement = utils.storeManagement;
|
|
20
|
+
var ShaderPass = lib.ShaderPass,
|
|
21
|
+
GammaCorrectionShader = lib.GammaCorrectionShader;
|
|
22
|
+
var useScene = use.useScene;
|
|
17
23
|
var baseHighParams = {
|
|
18
24
|
edgeStrength: 10,
|
|
19
25
|
edgeGlow: 1,
|
|
@@ -21,6 +27,36 @@ var baseHighParams = {
|
|
|
21
27
|
visibleEdgeColor: 'red',
|
|
22
28
|
hiddenEdgeColor: 'red'
|
|
23
29
|
};
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
* @param highParams
|
|
34
|
+
* @returns
|
|
35
|
+
*/
|
|
36
|
+
export var createHighSelectedTool = function createHighSelectedTool(highParams) {
|
|
37
|
+
var lastHighParams = _objectSpread(_objectSpread({}, baseHighParams), highParams);
|
|
38
|
+
var _useScene = useScene(),
|
|
39
|
+
scene = _useScene.scene,
|
|
40
|
+
camera = _useScene.camera;
|
|
41
|
+
var composer = storeManagement.get('composer');
|
|
42
|
+
if (!scene || !camera) throw new Error('scene or camera is not defined,');
|
|
43
|
+
if (!composer) throw new Error('composer is not defined, please initPostEffects first');
|
|
44
|
+
var outlinePass = new OutlinePassExtend(new Vector2(window.innerWidth, window.innerHeight), scene, camera);
|
|
45
|
+
outlinePass.edgeStrength = lastHighParams.edgeStrength;
|
|
46
|
+
outlinePass.edgeGlow = lastHighParams.edgeGlow;
|
|
47
|
+
outlinePass.edgeThickness = lastHighParams.edgeThickness;
|
|
48
|
+
lastHighParams.pulsePeriod && (outlinePass.pulsePeriod = lastHighParams.pulsePeriod);
|
|
49
|
+
outlinePass.visibleEdgeColor.set(lastHighParams.visibleEdgeColor);
|
|
50
|
+
composer.addPass(outlinePass);
|
|
51
|
+
var gammaCorrectionShader = new ShaderPass(GammaCorrectionShader);
|
|
52
|
+
if (!storeManagement.get('__&&__gammaCorrectionShader')) {
|
|
53
|
+
composer.addPass(gammaCorrectionShader);
|
|
54
|
+
storeManagement.set('__&&__gammaCorrectionShader', true);
|
|
55
|
+
}
|
|
56
|
+
return function (object3dArray) {
|
|
57
|
+
outlinePass.selectedObjects = object3dArray;
|
|
58
|
+
};
|
|
59
|
+
};
|
|
24
60
|
export var OutlinePass = /*#__PURE__*/function (_EffectPass) {
|
|
25
61
|
_inherits(OutlinePass, _EffectPass);
|
|
26
62
|
var _super = _createSuper(OutlinePass);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OutlinePassExtend","Vector2","EffectPass","baseHighParams","edgeStrength","edgeGlow","edgeThickness","visibleEdgeColor","hiddenEdgeColor","
|
|
1
|
+
{"version":3,"names":["OutlinePassExtend","Vector2","lib","use","utils","EffectPass","storeManagement","ShaderPass","GammaCorrectionShader","useScene","baseHighParams","edgeStrength","edgeGlow","edgeThickness","visibleEdgeColor","hiddenEdgeColor","createHighSelectedTool","highParams","lastHighParams","_objectSpread","_useScene","scene","camera","composer","get","Error","outlinePass","window","innerWidth","innerHeight","pulsePeriod","set","addPass","gammaCorrectionShader","object3dArray","selectedObjects","OutlinePass","_EffectPass","_inherits","_super","_createSuper","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","_createClass","key","value"],"sources":["../../../src/core/PostEffects/outlinePass.ts"],"sourcesContent":["import type { Camera, Object3D, Scene } from '@anov/3d-core'\nimport { OutlinePassExtend, Vector2, lib, use, utils } from '@anov/3d-core'\nimport { EffectPass } from 'postprocessing'\n\ntype HighParamsType = {\n edgeStrength?: number // 边缘强度\n edgeGlow?: number // 缓缓接近\n edgeThickness?: number // 边缘厚度\n pulsePeriod?: number // 脉冲周期\n visibleEdgeColor?: string // 可见边缘颜色\n hiddenEdgeColor?: string // 隐藏边缘颜色\n}\n\nconst { storeManagement } = utils\nconst { ShaderPass, GammaCorrectionShader } = lib\nconst { useScene } = use\n\nconst baseHighParams: HighParamsType = {\n edgeStrength: 10,\n edgeGlow: 1,\n edgeThickness: 3,\n visibleEdgeColor: 'red',\n hiddenEdgeColor: 'red',\n}\n\n/**\n *\n * @param highParams\n * @returns\n */\nexport const createHighSelectedTool = (highParams?: HighParamsType) => {\n const lastHighParams = {\n ...baseHighParams,\n ...highParams,\n }\n\n const { scene, camera } = useScene()\n const composer = storeManagement.get('composer') as lib.EffectComposer | undefined\n\n if (!scene || !camera)\n throw new Error('scene or camera is not defined,')\n\n if (!composer)\n throw new Error('composer is not defined, please initPostEffects first')\n\n const outlinePass = new OutlinePassExtend(new Vector2(window.innerWidth, window.innerHeight), scene, camera)\n\n outlinePass.edgeStrength = lastHighParams.edgeStrength\n outlinePass.edgeGlow = lastHighParams.edgeGlow\n outlinePass.edgeThickness = lastHighParams.edgeThickness\n lastHighParams.pulsePeriod && (outlinePass.pulsePeriod = lastHighParams.pulsePeriod)\n outlinePass.visibleEdgeColor.set(lastHighParams.visibleEdgeColor)\n\n composer.addPass(outlinePass)\n\n const gammaCorrectionShader = new ShaderPass(GammaCorrectionShader)\n\n if (!storeManagement.get<boolean>('__&&__gammaCorrectionShader')) {\n composer.addPass(gammaCorrectionShader)\n storeManagement.set('__&&__gammaCorrectionShader', true)\n }\n\n return (object3dArray: Object3D[]) => {\n outlinePass.selectedObjects = object3dArray\n }\n}\n\nexport class OutlinePass extends EffectPass {\n private outlinePass: OutlinePassExtend\n\n constructor(scene: Scene, camera: Camera) {\n super()\n\n this.outlinePass = new OutlinePassExtend(new Vector2(window.innerWidth, window.innerHeight), scene, camera)\n\n this.outlinePass.edgeStrength = baseHighParams.edgeStrength\n this.outlinePass.edgeGlow = baseHighParams.edgeGlow\n this.outlinePass.edgeThickness = baseHighParams.edgeThickness\n this.outlinePass.visibleEdgeColor.set(baseHighParams.visibleEdgeColor)\n this.outlinePass.hiddenEdgeColor.set(baseHighParams.hiddenEdgeColor)\n }\n\n public selectedObjects(object3dArray: Object3D[]) {\n this.outlinePass.selectedObjects = object3dArray\n }\n}\n"],"mappings":"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"}
|
|
@@ -35,6 +35,7 @@ export var WeatherSystem = /*#__PURE__*/function (_Object3D) {
|
|
|
35
35
|
_this.skyLayer = new SkySystem();
|
|
36
36
|
_this.weatherLayer = new WeatherLayer();
|
|
37
37
|
_this.add(_this.skyLayer);
|
|
38
|
+
_this.add(_this.weatherLayer);
|
|
38
39
|
_this.skyLayer.setTime(handleTimeString(_this._time));
|
|
39
40
|
_this.weatherLayer.setWeather(EWeatherType.Sunny, _this._time.split(':').map(Number)[0]);
|
|
40
41
|
return _this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Object3D","EWeatherType","SkySystem","WeatherSystem","WeatherLayer","handleTimeString","_Object3D","_inherits","_super","_createSuper","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","skyLayer","weatherLayer","add","setTime","_time","setWeather","Sunny","split","map","Number","_createClass","key","get","set","time","_weather","weather","value"],"sources":["../../../src/core/WeatherSystem/WeatherSystem.ts"],"sourcesContent":["import { Object3D } from '@anov/3d-core'\nimport { EWeatherType } from './utils/type'\nimport { SkySystem } from './sky'\nimport { WeatherSystem as WeatherLayer } from './weather'\nimport { handleTimeString } from './utils/math'\nimport type { WeatherSystemInterface } from './index'\n\n/**\n * 天气时间系统\n * base version\n */\nexport class WeatherSystem extends Object3D implements WeatherSystemInterface {\n private _time = '08:00'\n private _weather: string\n\n public skyLayer: SkySystem\n public weatherLayer: WeatherLayer\n\n public get time() {\n return this._time\n }\n\n public set time(time: string) {\n this.setTime(time)\n }\n\n public get weather() {\n return this._weather\n }\n\n public set weather(weather: string) {\n this.setWeather(weather)\n }\n\n constructor() {\n super()\n\n this.skyLayer = new SkySystem()\n this.weatherLayer = new WeatherLayer()\n\n this.add(this.skyLayer)\n\n this.skyLayer.setTime(handleTimeString(this._time))\n this.weatherLayer.setWeather(EWeatherType.Sunny, this._time.split(':').map(Number)[0])\n }\n\n setTime(time: string) {\n this._time = time\n\n this.skyLayer.setTime(handleTimeString(time))\n this.weatherLayer.setTime(time.split(':').map(Number)[0])\n }\n\n setWeather(weather: string) {\n this._weather = weather\n this.weatherLayer.setWeather(weather, this._time.split(':').map(Number)[0])\n }\n}"],"mappings":";;;;;;;;;;;;;;AAAA,SAASA,QAAQ,QAAQ,eAAe;AACxC,SAASC,YAAY;AACrB,SAASC,SAAS;AAClB,SAASC,aAAa,IAAIC,YAAY;AACtC,SAASC,gBAAgB;AAGzB;AACA;AACA;AACA;AACA,WAAaF,aAAa,0BAAAG,SAAA;EAAAC,SAAA,CAAAJ,aAAA,EAAAG,SAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAN,aAAA;EAuBxB,SAAAA,cAAA,EAAc;IAAA,IAAAO,KAAA;IAAAC,eAAA,OAAAR,aAAA;IACZO,KAAA,GAAAF,MAAA,CAAAI,IAAA;IAAOC,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,YAvBO,OAAO;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAyBrBA,KAAA,CAAKK,QAAQ,GAAG,IAAIb,SAAS,CAAC,CAAC;IAC/BQ,KAAA,CAAKM,YAAY,GAAG,IAAIZ,YAAY,CAAC,CAAC;IAEtCM,KAAA,CAAKO,GAAG,CAACP,KAAA,CAAKK,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"names":["Object3D","EWeatherType","SkySystem","WeatherSystem","WeatherLayer","handleTimeString","_Object3D","_inherits","_super","_createSuper","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","skyLayer","weatherLayer","add","setTime","_time","setWeather","Sunny","split","map","Number","_createClass","key","get","set","time","_weather","weather","value"],"sources":["../../../src/core/WeatherSystem/WeatherSystem.ts"],"sourcesContent":["import { Object3D } from '@anov/3d-core'\nimport { EWeatherType } from './utils/type'\nimport { SkySystem } from './sky'\nimport { WeatherSystem as WeatherLayer } from './weather'\nimport { handleTimeString } from './utils/math'\nimport type { WeatherSystemInterface } from './index'\n\n/**\n * 天气时间系统\n * base version\n */\nexport class WeatherSystem extends Object3D implements WeatherSystemInterface {\n private _time = '08:00'\n private _weather: string\n\n public skyLayer: SkySystem\n public weatherLayer: WeatherLayer\n\n public get time() {\n return this._time\n }\n\n public set time(time: string) {\n this.setTime(time)\n }\n\n public get weather() {\n return this._weather\n }\n\n public set weather(weather: string) {\n this.setWeather(weather)\n }\n\n constructor() {\n super()\n\n this.skyLayer = new SkySystem()\n this.weatherLayer = new WeatherLayer()\n\n this.add(this.skyLayer)\n this.add(this.weatherLayer)\n\n this.skyLayer.setTime(handleTimeString(this._time))\n this.weatherLayer.setWeather(EWeatherType.Sunny, this._time.split(':').map(Number)[0])\n }\n\n setTime(time: string) {\n this._time = time\n\n this.skyLayer.setTime(handleTimeString(time))\n this.weatherLayer.setTime(time.split(':').map(Number)[0])\n }\n\n setWeather(weather: string) {\n this._weather = weather\n this.weatherLayer.setWeather(weather, this._time.split(':').map(Number)[0])\n }\n}"],"mappings":";;;;;;;;;;;;;;AAAA,SAASA,QAAQ,QAAQ,eAAe;AACxC,SAASC,YAAY;AACrB,SAASC,SAAS;AAClB,SAASC,aAAa,IAAIC,YAAY;AACtC,SAASC,gBAAgB;AAGzB;AACA;AACA;AACA;AACA,WAAaF,aAAa,0BAAAG,SAAA;EAAAC,SAAA,CAAAJ,aAAA,EAAAG,SAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAN,aAAA;EAuBxB,SAAAA,cAAA,EAAc;IAAA,IAAAO,KAAA;IAAAC,eAAA,OAAAR,aAAA;IACZO,KAAA,GAAAF,MAAA,CAAAI,IAAA;IAAOC,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,YAvBO,OAAO;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAyBrBA,KAAA,CAAKK,QAAQ,GAAG,IAAIb,SAAS,CAAC,CAAC;IAC/BQ,KAAA,CAAKM,YAAY,GAAG,IAAIZ,YAAY,CAAC,CAAC;IAEtCM,KAAA,CAAKO,GAAG,CAACP,KAAA,CAAKK,QAAQ,CAAC;IACvBL,KAAA,CAAKO,GAAG,CAACP,KAAA,CAAKM,YAAY,CAAC;IAE3BN,KAAA,CAAKK,QAAQ,CAACG,OAAO,CAACb,gBAAgB,CAACK,KAAA,CAAKS,KAAK,CAAC,CAAC;IACnDT,KAAA,CAAKM,YAAY,CAACI,UAAU,CAACnB,YAAY,CAACoB,KAAK,EAAEX,KAAA,CAAKS,KAAK,CAACG,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAAA,OAAAd,KAAA;EACxF;EAACe,YAAA,CAAAtB,aAAA;IAAAuB,GAAA;IAAAC,GAAA,EA3BD,SAAAA,IAAA,EAAkB;MAChB,OAAO,IAAI,CAACR,KAAK;IACnB,CAAC;IAAAS,GAAA,EAED,SAAAA,IAAgBC,IAAY,EAAE;MAC5B,IAAI,CAACX,OAAO,CAACW,IAAI,CAAC;IACpB;EAAC;IAAAH,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAqB;MACnB,OAAO,IAAI,CAACG,QAAQ;IACtB,CAAC;IAAAF,GAAA,EAED,SAAAA,IAAmBG,OAAe,EAAE;MAClC,IAAI,CAACX,UAAU,CAACW,OAAO,CAAC;IAC1B;EAAC;IAAAL,GAAA;IAAAM,KAAA,EAeD,SAAAd,QAAQW,IAAY,EAAE;MACpB,IAAI,CAACV,KAAK,GAAGU,IAAI;MAEjB,IAAI,CAACd,QAAQ,CAACG,OAAO,CAACb,gBAAgB,CAACwB,IAAI,CAAC,CAAC;MAC7C,IAAI,CAACb,YAAY,CAACE,OAAO,CAACW,IAAI,CAACP,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D;EAAC;IAAAE,GAAA;IAAAM,KAAA,EAED,SAAAZ,WAAWW,OAAe,EAAE;MAC1B,IAAI,CAACD,QAAQ,GAAGC,OAAO;MACvB,IAAI,CAACf,YAAY,CAACI,UAAU,CAACW,OAAO,EAAE,IAAI,CAACZ,KAAK,CAACG,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E;EAAC;EAAA,OAAArB,aAAA;AAAA,EA9CgCH,QAAQ"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { Object3D } from '@anov/3d-core';
|
|
1
2
|
import type { IWeatherOption } from '../utils/type';
|
|
2
3
|
import Sky from '../objects/sky';
|
|
3
4
|
import Fog from '../objects/fog';
|
|
4
5
|
import Rain from '../objects/rain';
|
|
5
|
-
export declare class WeatherSystem {
|
|
6
|
+
export declare class WeatherSystem extends Object3D {
|
|
6
7
|
private _time;
|
|
7
8
|
sky: Sky;
|
|
8
9
|
fog: Fog;
|
|
@@ -17,5 +18,4 @@ export declare class WeatherSystem {
|
|
|
17
18
|
setRain(type: any): void;
|
|
18
19
|
setTime(time: number): void;
|
|
19
20
|
stopEffect(key: any, effect: any): void;
|
|
20
|
-
remove(): void;
|
|
21
21
|
}
|
|
@@ -5,10 +5,17 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
|
|
|
5
5
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
6
6
|
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); } }
|
|
7
7
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
8
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
9
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
10
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
11
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
12
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
13
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
14
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
8
15
|
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; }
|
|
9
16
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
10
17
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
11
|
-
import { use } from '@anov/3d-core';
|
|
18
|
+
import { Object3D, use } from '@anov/3d-core';
|
|
12
19
|
import _ from 'lodash';
|
|
13
20
|
import { EWeatherType } from "../utils/type";
|
|
14
21
|
import Sky from "../objects/sky";
|
|
@@ -27,16 +34,21 @@ var _defaultOption = {
|
|
|
27
34
|
segment: 5 // 分段数,控制雨、雪的效果
|
|
28
35
|
}
|
|
29
36
|
};
|
|
30
|
-
export var WeatherSystem = /*#__PURE__*/function () {
|
|
37
|
+
export var WeatherSystem = /*#__PURE__*/function (_Object3D) {
|
|
38
|
+
_inherits(WeatherSystem, _Object3D);
|
|
39
|
+
var _super = _createSuper(WeatherSystem);
|
|
31
40
|
function WeatherSystem(option) {
|
|
41
|
+
var _this;
|
|
32
42
|
_classCallCheck(this, WeatherSystem);
|
|
33
|
-
|
|
34
|
-
_defineProperty(
|
|
35
|
-
_defineProperty(
|
|
36
|
-
_defineProperty(
|
|
37
|
-
_defineProperty(
|
|
38
|
-
_defineProperty(
|
|
39
|
-
|
|
43
|
+
_this = _super.call(this);
|
|
44
|
+
_defineProperty(_assertThisInitialized(_this), "_time", '08:00');
|
|
45
|
+
_defineProperty(_assertThisInitialized(_this), "sky", void 0);
|
|
46
|
+
_defineProperty(_assertThisInitialized(_this), "fog", void 0);
|
|
47
|
+
_defineProperty(_assertThisInitialized(_this), "rain", void 0);
|
|
48
|
+
_defineProperty(_assertThisInitialized(_this), "eventListeners", new Map());
|
|
49
|
+
_defineProperty(_assertThisInitialized(_this), "option", _.clone(_defaultOption));
|
|
50
|
+
_.mergeWith(_this.option, option, _this.customizer);
|
|
51
|
+
return _this;
|
|
40
52
|
}
|
|
41
53
|
_createClass(WeatherSystem, [{
|
|
42
54
|
key: "customizer",
|
|
@@ -86,15 +98,13 @@ export var WeatherSystem = /*#__PURE__*/function () {
|
|
|
86
98
|
}, {
|
|
87
99
|
key: "setSky",
|
|
88
100
|
value: function setSky(type, time) {
|
|
89
|
-
var
|
|
101
|
+
var _this2 = this;
|
|
90
102
|
if (!this.sky) {
|
|
91
103
|
this.sky = new Sky(this.option.sky);
|
|
92
|
-
|
|
93
|
-
scene = _use$useScene.scene;
|
|
94
|
-
scene === null || scene === void 0 || scene.add(this.sky);
|
|
104
|
+
this.add(this.sky);
|
|
95
105
|
var unSkyFrame = use.useframe(function () {
|
|
96
|
-
var
|
|
97
|
-
return (
|
|
106
|
+
var _this2$sky;
|
|
107
|
+
return (_this2$sky = _this2.sky) === null || _this2$sky === void 0 ? void 0 : _this2$sky.update();
|
|
98
108
|
});
|
|
99
109
|
this.eventListeners.set('sky', unSkyFrame);
|
|
100
110
|
}
|
|
@@ -103,16 +113,14 @@ export var WeatherSystem = /*#__PURE__*/function () {
|
|
|
103
113
|
}, {
|
|
104
114
|
key: "setFog",
|
|
105
115
|
value: function setFog(type) {
|
|
106
|
-
var
|
|
116
|
+
var _this3 = this;
|
|
107
117
|
if (!this.fog) {
|
|
108
118
|
this.fog = new Fog();
|
|
109
|
-
var _use$useScene2 = use.useScene(),
|
|
110
|
-
scene = _use$useScene2.scene;
|
|
111
119
|
var unFogFrame = use.useframe(function () {
|
|
112
|
-
return
|
|
120
|
+
return _this3.fog.update();
|
|
113
121
|
});
|
|
114
122
|
this.eventListeners.set('fog', unFogFrame);
|
|
115
|
-
|
|
123
|
+
this.add(this.fog);
|
|
116
124
|
}
|
|
117
125
|
var fogSettings = _defineProperty(_defineProperty({}, EWeatherType.Foggy, {
|
|
118
126
|
color: [0.9, 0.9, 0.9],
|
|
@@ -130,16 +138,14 @@ export var WeatherSystem = /*#__PURE__*/function () {
|
|
|
130
138
|
}, {
|
|
131
139
|
key: "setRain",
|
|
132
140
|
value: function setRain(type) {
|
|
133
|
-
var
|
|
141
|
+
var _this4 = this;
|
|
134
142
|
var particle = this.option.particle;
|
|
135
143
|
if (!this.rain) {
|
|
136
144
|
this.rain = new Rain(particle);
|
|
137
|
-
|
|
138
|
-
scene = _use$useScene3.scene;
|
|
139
|
-
scene === null || scene === void 0 || scene.add(this.rain);
|
|
145
|
+
this.add(this.rain);
|
|
140
146
|
var unRainFrame = use.useframe(function () {
|
|
141
|
-
var
|
|
142
|
-
return (
|
|
147
|
+
var _this4$rain;
|
|
148
|
+
return (_this4$rain = _this4.rain) === null || _this4$rain === void 0 ? void 0 : _this4$rain.update();
|
|
143
149
|
});
|
|
144
150
|
this.eventListeners.set('rain', unRainFrame);
|
|
145
151
|
}
|
|
@@ -162,19 +168,7 @@ export var WeatherSystem = /*#__PURE__*/function () {
|
|
|
162
168
|
this.eventListeners.delete(key);
|
|
163
169
|
}
|
|
164
170
|
}
|
|
165
|
-
}, {
|
|
166
|
-
key: "remove",
|
|
167
|
-
value: function remove() {
|
|
168
|
-
this.stopEffect('fog', this.fog);
|
|
169
|
-
this.stopEffect('rain', this.rain);
|
|
170
|
-
if (this.sky) {
|
|
171
|
-
this.sky.delete();
|
|
172
|
-
this.sky = null;
|
|
173
|
-
this.eventListeners.get('sky')();
|
|
174
|
-
this.eventListeners.delete('sky');
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
171
|
}]);
|
|
178
172
|
return WeatherSystem;
|
|
179
|
-
}();
|
|
173
|
+
}(Object3D);
|
|
180
174
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","use","_","EWeatherType","Sky","Fog","Rain","_defaultOption","sky","position","scale","particle","width","height","segment","WeatherSystem","option","Map","clone","mergeWith","customizer","objValue","srcValue","isArray","_setWeather","_callee","weatherType","time","_args","_callee$","_context","Sunny","setSky","t0","Foggy","Sand_Dust_Calm","Rain_Thunderstorm","Snow","Snow_Blizzard","stopEffect","rain","setFog","fog","setRain","setWeather","_this","_use$useScene","useScene","scene","add","unSkyFrame","useframe","_this$sky","update","eventListeners","set","setEffect","_this2","_use$useScene2","unFogFrame","fogSettings","color","alpha","_fogSettings$type","setColor","setAlpha","_this3","_use$useScene3","unRainFrame","_this3$rain","setTime","effect","delete","has","get","remove"],"sources":["../../../../src/core/WeatherSystem/weather/index.ts"],"sourcesContent":["import { use } from '@anov/3d-core'\nimport _ from 'lodash'\nimport type { IWeatherOption } from '../utils/type'\nimport { EWeatherType } from '../utils/type'\nimport Sky from '../objects/sky'\nimport Fog from '../objects/fog'\nimport Rain from '../objects/rain'\n\nconst _defaultOption: IWeatherOption = {\n sky: {\n position: [0, -2000, 0], // 天空盒的位置\n scale: [19990, 6000, 19990], // 大小\n },\n particle: {\n width: 2000, // 下雨、雪的面积\n height: 2000,\n segment: 5, // 分段数,控制雨、雪的效果\n },\n}\n\nexport class WeatherSystem {\n private _time = '08:00'\n\n sky!: Sky\n fog!: Fog\n rain!: Rain\n eventListeners: Map<string, Function> = new Map()\n option: IWeatherOption = _.clone(_defaultOption)\n\n constructor(option?: IWeatherOption) {\n _.mergeWith(this.option, option, this.customizer)\n }\n\n private customizer(objValue, srcValue) {\n if (_.isArray(objValue) && srcValue)\n return srcValue\n }\n\n async setWeather(weatherType = EWeatherType.Sunny, time = 12) {\n // 设置天空盒\n this.setSky(weatherType, time)\n\n switch (weatherType) {\n case EWeatherType.Foggy:\n case EWeatherType.Sand_Dust_Calm:\n this.stopEffect('rain', this.rain)\n this.setFog(weatherType)\n break\n case EWeatherType.Rain:\n case EWeatherType.Rain_Thunderstorm:\n case EWeatherType.Snow:\n case EWeatherType.Snow_Blizzard:\n this.stopEffect('fog', this.fog)\n this.setRain(weatherType)\n break\n default:\n this.stopEffect('rain', this.rain)\n this.stopEffect('fog', this.fog)\n break\n }\n }\n\n private setSky(type, time) {\n if (!this.sky) {\n this.sky = new Sky(this.option.sky)\n const { scene } = use.useScene()\n scene?.add(this.sky)\n\n const unSkyFrame = use.useframe(() => this.sky?.update())\n this.eventListeners.set('sky', unSkyFrame)\n }\n\n this.sky.setEffect(type, time)\n }\n\n setFog(type) {\n if (!this.fog) {\n this.fog = new Fog()\n const { scene } = use.useScene()\n const unFogFrame = use.useframe(() => this.fog.update())\n this.eventListeners.set('fog', unFogFrame)\n scene?.add(this.fog)\n }\n\n const fogSettings = {\n [EWeatherType.Foggy]: { color: [0.9, 0.9, 0.9], alpha: 0.4 },\n [EWeatherType.Sand_Dust_Calm]: { color: [1.0, 0.69, 0.48], alpha: 0.6 },\n }\n\n const { color, alpha } = fogSettings[type]\n this.fog.setColor(color)\n this.fog.setAlpha(alpha)\n }\n\n setRain(type) {\n const { particle } = this.option\n if (!this.rain) {\n this.rain = new Rain(particle)\n const { scene } = use.useScene()\n scene?.add(this.rain)\n const unRainFrame = use.useframe(() => this.rain?.update())\n this.eventListeners.set('rain', unRainFrame)\n }\n\n this.rain.setEffect(type)\n }\n\n setTime(time: number) {\n if (this.sky)\n this.sky.setTime(time)\n }\n\n stopEffect(key, effect) {\n if (effect) {\n effect.delete()\n this[key] = null\n }\n\n if (this.eventListeners.has(key)) {\n this.eventListeners.get(key)()\n this.eventListeners.delete(key)\n }\n }\n\n remove() {\n this.stopEffect('fog', this.fog)\n this.stopEffect('rain', this.rain)\n if (this.sky) {\n this.sky.delete()\n this.sky = null\n this.eventListeners.get('sky')()\n this.eventListeners.delete('sky')\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","bind","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","Object3D","use","_","EWeatherType","Sky","Fog","Rain","_defaultOption","sky","position","scale","particle","width","height","segment","WeatherSystem","_Object3D","_super","option","_this","Map","clone","mergeWith","customizer","objValue","srcValue","isArray","_setWeather","_callee","weatherType","time","_args","_callee$","_context","Sunny","setSky","t0","Foggy","Sand_Dust_Calm","Rain_Thunderstorm","Snow","Snow_Blizzard","stopEffect","rain","setFog","fog","setRain","setWeather","_this2","add","unSkyFrame","useframe","_this2$sky","update","eventListeners","set","setEffect","_this3","unFogFrame","fogSettings","color","alpha","_fogSettings$type","setColor","setAlpha","_this4","unRainFrame","_this4$rain","setTime","effect","delete","has","get"],"sources":["../../../../src/core/WeatherSystem/weather/index.ts"],"sourcesContent":["import { Object3D, use } from '@anov/3d-core'\nimport _ from 'lodash'\nimport type { IWeatherOption } from '../utils/type'\nimport { EWeatherType } from '../utils/type'\nimport Sky from '../objects/sky'\nimport Fog from '../objects/fog'\nimport Rain from '../objects/rain'\n\nconst _defaultOption: IWeatherOption = {\n sky: {\n position: [0, -2000, 0], // 天空盒的位置\n scale: [19990, 6000, 19990], // 大小\n },\n particle: {\n width: 2000, // 下雨、雪的面积\n height: 2000,\n segment: 5, // 分段数,控制雨、雪的效果\n },\n}\n\nexport class WeatherSystem extends Object3D {\n private _time = '08:00'\n\n sky!: Sky\n fog!: Fog\n rain!: Rain\n eventListeners: Map<string, Function> = new Map()\n option: IWeatherOption = _.clone(_defaultOption)\n\n constructor(option?: IWeatherOption) {\n super()\n _.mergeWith(this.option, option, this.customizer)\n }\n\n private customizer(objValue, srcValue) {\n if (_.isArray(objValue) && srcValue)\n return srcValue\n }\n\n async setWeather(weatherType = EWeatherType.Sunny, time = 12) {\n // 设置天空盒\n this.setSky(weatherType, time)\n\n switch (weatherType) {\n case EWeatherType.Foggy:\n case EWeatherType.Sand_Dust_Calm:\n this.stopEffect('rain', this.rain)\n this.setFog(weatherType)\n break\n case EWeatherType.Rain:\n case EWeatherType.Rain_Thunderstorm:\n case EWeatherType.Snow:\n case EWeatherType.Snow_Blizzard:\n this.stopEffect('fog', this.fog)\n this.setRain(weatherType)\n break\n default:\n this.stopEffect('rain', this.rain)\n this.stopEffect('fog', this.fog)\n break\n }\n }\n\n private setSky(type, time) {\n if (!this.sky) {\n this.sky = new Sky(this.option.sky)\n this.add(this.sky)\n\n const unSkyFrame = use.useframe(() => this.sky?.update())\n this.eventListeners.set('sky', unSkyFrame)\n }\n\n this.sky.setEffect(type, time)\n }\n\n setFog(type) {\n if (!this.fog) {\n this.fog = new Fog()\n const unFogFrame = use.useframe(() => this.fog.update())\n this.eventListeners.set('fog', unFogFrame)\n this.add(this.fog)\n }\n\n const fogSettings = {\n [EWeatherType.Foggy]: { color: [0.9, 0.9, 0.9], alpha: 0.4 },\n [EWeatherType.Sand_Dust_Calm]: { color: [1.0, 0.69, 0.48], alpha: 0.6 },\n }\n\n const { color, alpha } = fogSettings[type]\n this.fog.setColor(color)\n this.fog.setAlpha(alpha)\n }\n\n setRain(type) {\n const { particle } = this.option\n if (!this.rain) {\n this.rain = new Rain(particle)\n this.add(this.rain)\n const unRainFrame = use.useframe(() => this.rain?.update())\n this.eventListeners.set('rain', unRainFrame)\n }\n\n this.rain.setEffect(type)\n }\n\n setTime(time: number) {\n if (this.sky)\n this.sky.setTime(time)\n }\n\n stopEffect(key, effect) {\n if (effect) {\n effect.delete()\n this[key] = null\n }\n\n if (this.eventListeners.has(key)) {\n this.eventListeners.get(key)()\n this.eventListeners.delete(key)\n }\n }\n}\n"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../src/index.ts"],"sourcesContent":["export * from './core/WeatherSystem'\nexport * from './core/Camera'\nexport * from './core/Material'\nexport * from './core/Controls'\nexport * from './core/Curve'\n\nexport * from './business/Animation'\nexport * from './business'\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AAEA;AACA"}
|
|
1
|
+
{"version":3,"names":[],"sources":["../src/index.ts"],"sourcesContent":["export * from './core/WeatherSystem'\nexport * from './core/Camera'\nexport * from './core/Material'\nexport * from './core/Controls'\nexport * from './core/Curve'\n\nexport * from './business/Animation'\nexport * from './business'\nexport * from './core/PostEffects'\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anov/3d-ability",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.68",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "MIT",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"package.json"
|
|
17
17
|
],
|
|
18
18
|
"peerDependencies": {
|
|
19
|
-
"@anov/3d-core": "^0.0.
|
|
19
|
+
"@anov/3d-core": "^0.0.53"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@types/suncalc": "^1.9.2",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@types/javascript-state-machine": "^2.4.6",
|
|
34
34
|
"@types/lodash": "^4.14.196",
|
|
35
|
-
"@anov/3d-core": "^0.0.
|
|
35
|
+
"@anov/3d-core": "^0.0.53"
|
|
36
36
|
},
|
|
37
37
|
"scripts": {
|
|
38
38
|
"build": "father build",
|