@anov/3d 0.0.262 → 0.0.264
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/module/entity/baseEntity.js +2 -0
- package/dist/module/entity/baseEntity.js.map +1 -1
- package/dist/module/entity/batch/index.js +5 -1
- package/dist/module/entity/batch/index.js.map +1 -1
- package/dist/module/entity/index.js +165 -122
- package/dist/module/entity/index.js.map +1 -1
- package/dist/module/entity/light/pointLight/index.js +1 -2
- package/dist/module/entity/light/pointLight/index.js.map +1 -1
- package/dist/module/entity/model/index.js +37 -19
- package/dist/module/entity/model/index.js.map +1 -1
- package/dist/module/entity/traffic/realismTraffic/index.js +13 -13
- package/dist/module/entity/traffic/realismTraffic/index.js.map +1 -1
- package/dist/module/eventBus/index.js +4 -2
- package/dist/module/eventBus/index.js.map +1 -1
- package/dist/module/material/index.js +5 -3
- package/dist/module/material/index.js.map +1 -1
- package/dist/module/scene/fileParse.js +35 -21
- package/dist/module/scene/fileParse.js.map +1 -1
- package/package.json +5 -4
|
@@ -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","RealismTraffic","RoundedCornersCurve","BufferGeometry","Line","LineBasicMaterial","Vector3","use","RealismTrafficManage","json","_this","res","_","_json$visible","path","_json$width","width","_json$divide","divide","resource","_json$totalNum","totalNum","_json$baseTime","baseTime","control","_json$debug","debug","points","_path$corner","corner","_path$close","close","roundlineCurve","map","fromArray","position","realismTraffic","useScene","scene","add","visible","lanelines","geometry","setFromPoints","getPoints","material","color","curveObject","addEventListener","_update","_callee","option","_callee$","_context","update","_x","_x2"],"sources":["../../../../../src/module/entity/traffic/realismTraffic/index.ts"],"sourcesContent":["import { RealismTraffic, RoundedCornersCurve } from '@anov/3d-ability'\nimport type { Object3D } from '@anov/3d-core'\nimport { BufferGeometry, Line, LineBasicMaterial, Vector3, use } from '@anov/3d-core'\n\nclass RealismTrafficManage {\n private realismTraffic\n\n create(json) {\n return new Promise((res, _) => {\n const { path, width = 2, divide = 1, resource, totalNum = 5, baseTime = 1, control, debug = false } = json\n const { points, corner = 10, close = true } = path\n const roundlineCurve = new RoundedCornersCurve(points.map(v => new Vector3().fromArray(v.position)), 0, close)\n const realismTraffic = new RealismTraffic({\n path: roundlineCurve,\n width,\n divide,\n resource,\n totalNum,\n baseTime,\n control,\n corner,\n })\n\n use.useScene().scene.add(realismTraffic)\n realismTraffic.visible = json.visible ?? true\n\n if (debug) {\n for (let i = 0; i < realismTraffic.lanelines.length; i++) {\n const geometry = new BufferGeometry().setFromPoints(realismTraffic.lanelines[i].getPoints(100))\n const material = new LineBasicMaterial({\n color: 'red',\n })\n\n const curveObject = new Line(geometry, material)\n\n use.useScene().scene.add(curveObject)\n }\n }\n\n this.realismTraffic = realismTraffic\n\n realismTraffic.addEventListener('realismTraffic-loaded', () => {\n res(this.realismTraffic)\n })\n })\n }\n\n async update(target: Object3D, option) {\n const { visible } = option\n target.visible = visible\n\n return target\n }\n}\n\nexport default RealismTrafficManage"],"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","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","RealismTraffic","RoundedCornersCurve","BufferGeometry","Line","LineBasicMaterial","Vector3","use","RealismTrafficManage","json","_this","path","_json$width","width","_json$divide","divide","resource","_json$totalNum","totalNum","_json$baseTime","baseTime","control","_json$debug","debug","res","_","_json$visible","points","_path$corner","corner","_path$close","close","roundlineCurve","map","fromArray","position","realismTraffic","useScene","scene","add","visible","lanelines","geometry","setFromPoints","getPoints","material","color","curveObject","addEventListener","_update","_callee","option","_callee$","_context","update","_x","_x2"],"sources":["../../../../../src/module/entity/traffic/realismTraffic/index.ts"],"sourcesContent":["import { RealismTraffic, RoundedCornersCurve } from '@anov/3d-ability'\nimport type { Object3D } from '@anov/3d-core'\nimport { BufferGeometry, Line, LineBasicMaterial, Vector3, use } from '@anov/3d-core'\n\nclass RealismTrafficManage {\n private realismTraffic\n\n create(json) {\n const { path, width = 2, divide = 1, resource, totalNum = 5, baseTime = 1, control, debug = false } = json\n\n return new Promise((res, _) => {\n const { points, corner = 10, close = true } = path\n const roundlineCurve = new RoundedCornersCurve(points.map(v => new Vector3().fromArray(v.position)), 0, close)\n const realismTraffic = new RealismTraffic({\n path: roundlineCurve,\n width,\n divide,\n resource,\n totalNum,\n baseTime,\n control,\n corner,\n })\n\n use.useScene().scene.add(realismTraffic)\n realismTraffic.visible = json.visible ?? true\n\n if (debug) {\n for (let i = 0; i < realismTraffic.lanelines.length; i++) {\n const geometry = new BufferGeometry().setFromPoints(realismTraffic.lanelines[i].getPoints(100))\n const material = new LineBasicMaterial({\n color: 'red',\n })\n\n const curveObject = new Line(geometry, material)\n\n use.useScene().scene.add(curveObject)\n }\n }\n\n this.realismTraffic = realismTraffic\n\n realismTraffic.addEventListener('realismTraffic-loaded', () => {\n res(this.realismTraffic)\n })\n })\n }\n\n async update(target: Object3D, option) {\n const { visible } = option\n target.visible = visible\n\n return target\n }\n}\n\nexport default RealismTrafficManage"],"mappings":"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"}
|
|
@@ -83,6 +83,7 @@ var EventBus = /*#__PURE__*/function () {
|
|
|
83
83
|
}, {
|
|
84
84
|
key: "on",
|
|
85
85
|
value: function on(params) {
|
|
86
|
+
// 单实体事件注册
|
|
86
87
|
if (params.id) {
|
|
87
88
|
// @ts-ignore
|
|
88
89
|
this.app.entity.registerEvents({
|
|
@@ -93,9 +94,10 @@ var EventBus = /*#__PURE__*/function () {
|
|
|
93
94
|
eventName: params.eventName,
|
|
94
95
|
id: params.id
|
|
95
96
|
};
|
|
96
|
-
}
|
|
97
|
+
}
|
|
98
|
+
// 全局事件注册
|
|
99
|
+
else {
|
|
97
100
|
this.eventMap.set("".concat(params.eventName), true);
|
|
98
|
-
if (this.eventTimesMap.has(params.eventName)) this.eventTimesMap.set(params.eventName, this.eventTimesMap.get(params.eventName) + 1);else this.eventTimesMap.set(params.eventName, 1);
|
|
99
101
|
if (entityEvents.includes(params.eventName.toLowerCase())) this.handleUseOnBefore(params.eventName);
|
|
100
102
|
return {
|
|
101
103
|
eventName: params.eventName
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["utils","hybridList","entityEvents","emitter","EventBus","app","_this","_classCallCheck","_defineProperty","Map","on","_ref","id","handleUseOnAfter","_createClass","key","value","entityId","_this2","eventMap","forEach","includes","toLowerCase","entity","unregisterEvents","eventName","registerEvents","handleUseOnBefore","_this3","map","size","_entity$value$userDat","userData","entityParams","interactable","params","set","concat","
|
|
1
|
+
{"version":3,"names":["utils","hybridList","entityEvents","emitter","EventBus","app","_this","_classCallCheck","_defineProperty","Map","on","_ref","id","handleUseOnAfter","_createClass","key","value","entityId","_this2","eventMap","forEach","includes","toLowerCase","entity","unregisterEvents","eventName","registerEvents","handleUseOnBefore","_this3","map","size","_entity$value$userDat","userData","entityParams","interactable","params","set","concat","off"],"sources":["../../../src/module/eventBus/index.ts"],"sourcesContent":["import { utils } from '@anov/3d-core'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport type Entity from '../entity'\nimport { hybridList } from '../entity'\nimport { entityEvents } from './entityEvents'\n\nconst { emitter } = utils\n\n/**\n * notes: 区别于前端概念,3端统一API特定\n */\n\nclass EventBus implements BaseModule {\n eventMap: Map<string, boolean> = new Map()\n eventTimesMap: Map<string, number> = new Map()\n app: Anov3D & { entity: Entity }\n\n constructor(app: Anov3D & { entity: Entity }) {\n this.app = app\n\n // @ts-ignore\n emitter.on('onEntityLoaded', ({ id }) => {\n this.handleUseOnAfter(id)\n })\n }\n\n /**\n * handle entity event, but only handle the last one use on event\n * @param entityId\n */\n private handleUseOnAfter(entityId: string) {\n this.eventMap.forEach((value, key) => {\n if (value && entityEvents.includes(key.toLowerCase())) {\n this.app.entity.unregisterEvents({\n eventName: key,\n entityId,\n })\n\n this.app.entity.registerEvents({\n eventName: key,\n entityId,\n })\n }\n })\n }\n\n /**\n * handle entity event\n * @param eventName\n */\n private handleUseOnBefore(eventName: string) {\n if (hybridList.map.size > 0) {\n hybridList.map.forEach((entity, key: string) => {\n if (entity.value.userData?.entityParams?.interactable) {\n this.app.entity.unregisterEvents({\n eventName,\n entityId: key,\n })\n\n this.app.entity.registerEvents({\n eventName,\n entityId: key,\n })\n }\n })\n }\n }\n\n /**\n * open event\n * @param params\n */\n on(params: { eventName: string; id?: string }) {\n // 单实体事件注册\n if (params.id) {\n // @ts-ignore\n this.app.entity.registerEvents({\n eventName: params.eventName,\n entityId: params.id,\n })\n return {\n eventName: params.eventName,\n id: params.id,\n }\n }\n // 全局事件注册\n else {\n this.eventMap.set(`${params.eventName}`, true)\n\n if (entityEvents.includes(params.eventName.toLowerCase()))\n this.handleUseOnBefore(params.eventName)\n\n return {\n eventName: params.eventName,\n }\n }\n }\n\n off(params: { eventName: string; entityId?: string }) {\n if (params.entityId) {\n // @ts-ignore\n this.app.entity.unregisterEvents({\n eventName: params.eventName,\n entityId: params.entityId,\n })\n }\n else {\n this.eventMap.set(`${params.eventName}`, false)\n }\n\n return {\n eventName: params.eventName,\n }\n }\n}\n\nexport default EventBus"],"mappings":"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"}
|
|
@@ -108,6 +108,7 @@ var MaterialManager = /*#__PURE__*/function () {
|
|
|
108
108
|
return SurfaceMaterial.getMaterial(materialId);
|
|
109
109
|
case 4:
|
|
110
110
|
material = _context.sent;
|
|
111
|
+
material.depthWrite = true;
|
|
111
112
|
_this3.applyMaterialOptions(material, _objectSpread(_objectSpread({}, rootProperties), properties));
|
|
112
113
|
_this3.traverseMeshes(target, meshIndex, primitiveIndex, function (mesh) {
|
|
113
114
|
mesh.material = material;
|
|
@@ -115,7 +116,7 @@ var MaterialManager = /*#__PURE__*/function () {
|
|
|
115
116
|
emitter.emit('onMaterialChanged', {
|
|
116
117
|
target: target
|
|
117
118
|
});
|
|
118
|
-
case
|
|
119
|
+
case 9:
|
|
119
120
|
case "end":
|
|
120
121
|
return _context.stop();
|
|
121
122
|
}
|
|
@@ -146,6 +147,7 @@ var MaterialManager = /*#__PURE__*/function () {
|
|
|
146
147
|
return SurfaceMaterial.getMaterial(materialId);
|
|
147
148
|
case 5:
|
|
148
149
|
material = _context2.sent;
|
|
150
|
+
material.depthWrite = true;
|
|
149
151
|
this.applyMaterialOptions(material, properties);
|
|
150
152
|
this.traverseMeshes(target, undefined, undefined, function (mesh) {
|
|
151
153
|
mesh.material = material;
|
|
@@ -153,7 +155,7 @@ var MaterialManager = /*#__PURE__*/function () {
|
|
|
153
155
|
emitter.emit('onMaterialChanged', {
|
|
154
156
|
target: target
|
|
155
157
|
});
|
|
156
|
-
case
|
|
158
|
+
case 10:
|
|
157
159
|
case "end":
|
|
158
160
|
return _context2.stop();
|
|
159
161
|
}
|
|
@@ -169,12 +171,12 @@ var MaterialManager = /*#__PURE__*/function () {
|
|
|
169
171
|
value: function applyMaterialOptions(material, option) {
|
|
170
172
|
var color = option.color,
|
|
171
173
|
uvScale = option.uvScale;
|
|
174
|
+
if (color) material.color = new Color(color);
|
|
172
175
|
if (material.map) {
|
|
173
176
|
if (uvScale) {
|
|
174
177
|
material.map.wrapS = material.map.wrapT = RepeatWrapping;
|
|
175
178
|
material.map.repeat.set(uvScale, uvScale);
|
|
176
179
|
}
|
|
177
|
-
if (color) material.color = new Color(color);
|
|
178
180
|
material.map.needsUpdate = true;
|
|
179
181
|
}
|
|
180
182
|
}
|
|
@@ -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","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","SurfaceMaterial","Color","RepeatWrapping","utils","hybridList","emitter","MaterialManager","app","Map","change","json","_this","processChange","data","id","object","get","console","concat","changeByObject","Array","isArray","batch","materials","_json$properties","properties","materialMap","originalMaterial","set","applyMaterials","applySingleMaterial","restore","_this2","processRestore","restoreMaterials","restoreAllMaterials","emit","rootProperties","_this3","material","_ref2","_callee","_ref","meshIndex","primitiveIndex","materialId","_ref$properties","_callee$","_context","traverseMeshes","mesh","has","uuid","clone","getMaterial","applyMaterialOptions","_x","_applySingleMaterial","_callee2","_args2","_callee2$","_context2","_x2","_x3","option","color","uvScale","map","wrapS","wrapT","repeat","needsUpdate","_this4","_ref3","callback","traverse","_object$userData","userData","currentMeshIndex","currentPrimitiveIndex"],"sources":["../../../src/module/material/index.ts"],"sourcesContent":["import { SurfaceMaterial } from '@anov/3d-ability'\nimport type { Mesh } from '@anov/3d-core'\nimport { Color, RepeatWrapping, utils } from '@anov/3d-core'\nimport type Anov3D from '../../sdkEntry'\nimport type { BaseModule } from '../../utils/abstract'\nimport { hybridList } from '../entity'\n\nconst { emitter } = utils\n\nclass MaterialManager implements BaseModule {\n app: Anov3D\n originalMaterial = new Map() // 记录初始材质信息\n\n constructor(app: Anov3D) {\n this.app = app\n }\n\n /**\n * Change material for target objects\n * @param json Material change configuration\n */\n change(json: any) {\n const processChange = (data: any) => {\n const { target: id } = data\n const object = hybridList.get(id)\n\n if (!object) {\n console.error(`Target with id ${id} not found`)\n return\n }\n this.changeByObject(object, data)\n }\n if (Array.isArray(json.batch)) // 支持多对象批量替换\n json.batch.forEach(processChange)\n else\n processChange(json)\n }\n\n changeByObject(object: THREE.Object3D, json: any) {\n const { target: id, materials, properties = {} } = json\n\n if (!object) {\n console.error(`Target with id ${id} not found`)\n return\n }\n\n let materialMap = this.originalMaterial.get(id)\n if (!materialMap) {\n materialMap = new Map()\n this.originalMaterial.set(id, materialMap)\n }\n\n if (Array.isArray(materials))\n this.applyMaterials(object, materials, properties, materialMap)\n else\n this.applySingleMaterial(object, materials, properties, materialMap)\n }\n\n /**\n * Restore material for target objects\n * @param json Material restoration configuration\n */\n restore(json: any) {\n const processRestore = (data: any) => {\n const { target: id, materials } = data\n const object = hybridList.get(id)\n\n if (!object) {\n console.error(`Target with id ${id} not found`)\n return\n }\n\n const materialMap = this.originalMaterial.get(id)\n if (!materialMap)\n return\n\n if (materials)\n this.restoreMaterials(object, materials, materialMap)\n else\n this.restoreAllMaterials(object, materialMap)\n\n emitter.emit('onMaterialChanged', { target: object })\n }\n\n if (Array.isArray(json.batch))\n json.batch.forEach(processRestore)\n else\n processRestore(json)\n }\n\n private applyMaterials(\n target: THREE.Object3D,\n materials: any[],\n rootProperties: Record<string, any>,\n materialMap: Map<string, THREE.Material | THREE.Material[]>,\n ) {\n let material\n materials.forEach(async ({ meshIndex, primitiveIndex, materialId, properties = {} }) => {\n this.traverseMeshes(target, meshIndex, primitiveIndex, (mesh) => {\n if (!materialMap.has(mesh.uuid))\n materialMap.set(mesh.uuid, (mesh.material as THREE.Material).clone())\n })\n\n material = await SurfaceMaterial.getMaterial(materialId)\n\n this.applyMaterialOptions(material, { ...rootProperties, ...properties })\n this.traverseMeshes(target, meshIndex, primitiveIndex, (mesh) => {\n mesh.material = material\n })\n emitter.emit('onMaterialChanged', { target })\n })\n }\n\n private async applySingleMaterial(\n target: THREE.Object3D,\n materialId,\n properties: Record<string, any> = {},\n materialMap: Map<string, THREE.Material | THREE.Material[]>,\n ) {\n this.traverseMeshes(target, undefined, undefined, (mesh) => {\n if (!materialMap.has(mesh.uuid))\n materialMap.set(mesh.uuid, (mesh.material as THREE.Material).clone())\n })\n\n const material = await SurfaceMaterial.getMaterial(materialId)\n this.applyMaterialOptions(material, properties)\n this.traverseMeshes(target, undefined, undefined, (mesh) => {\n mesh.material = material\n })\n\n emitter.emit('onMaterialChanged', { target })\n }\n\n private applyMaterialOptions(material, option) {\n const { color, uvScale } = option\n if (material.map) {\n if (uvScale) {\n material.map.wrapS = material.map.wrapT = RepeatWrapping\n material.map.repeat.set(uvScale, uvScale)\n }\n if (color)\n material.color = new Color(color)\n\n material.map.needsUpdate = true\n }\n }\n\n private restoreMaterials(\n target: THREE.Object3D,\n materials: any[],\n materialMap: Map<string, THREE.Material | THREE.Material[]>,\n ) {\n materials.forEach(({ meshIndex, primitiveIndex }) => {\n this.traverseMeshes(target, meshIndex, primitiveIndex, (mesh) => {\n if (materialMap.has(mesh.uuid))\n mesh.material = materialMap.get(mesh.uuid) as THREE.Material\n })\n })\n }\n\n private restoreAllMaterials(\n target: THREE.Object3D,\n materialMap: Map<string, THREE.Material | THREE.Material[]>,\n ) {\n this.traverseMeshes(target, undefined, undefined, (mesh) => {\n if (materialMap.has(mesh.uuid))\n mesh.material = materialMap.get(mesh.uuid) as THREE.Material\n })\n }\n\n private traverseMeshes(\n target: THREE.Object3D,\n meshIndex?: number,\n primitiveIndex?: number,\n callback?: (mesh: Mesh) => void,\n ) {\n target.traverse((object) => {\n if (object.type === 'Mesh') {\n const { meshIndex: currentMeshIndex, primitiveIndex: currentPrimitiveIndex } = object.userData\n if (\n (meshIndex === undefined || meshIndex === currentMeshIndex)\n && (primitiveIndex === undefined || primitiveIndex === currentPrimitiveIndex)\n )\n callback?.(object as Mesh)\n }\n })\n }\n}\n\nexport default MaterialManager\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","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","SurfaceMaterial","Color","RepeatWrapping","utils","hybridList","emitter","MaterialManager","app","Map","change","json","_this","processChange","data","id","object","get","console","concat","changeByObject","Array","isArray","batch","materials","_json$properties","properties","materialMap","originalMaterial","set","applyMaterials","applySingleMaterial","restore","_this2","processRestore","restoreMaterials","restoreAllMaterials","emit","rootProperties","_this3","material","_ref2","_callee","_ref","meshIndex","primitiveIndex","materialId","_ref$properties","_callee$","_context","traverseMeshes","mesh","has","uuid","clone","getMaterial","depthWrite","applyMaterialOptions","_x","_applySingleMaterial","_callee2","_args2","_callee2$","_context2","_x2","_x3","option","color","uvScale","map","wrapS","wrapT","repeat","needsUpdate","_this4","_ref3","callback","traverse","_object$userData","userData","currentMeshIndex","currentPrimitiveIndex"],"sources":["../../../src/module/material/index.ts"],"sourcesContent":["import { SurfaceMaterial } from '@anov/3d-ability'\nimport type { Mesh } from '@anov/3d-core'\nimport { Color, RepeatWrapping, utils } from '@anov/3d-core'\nimport type Anov3D from '../../sdkEntry'\nimport type { BaseModule } from '../../utils/abstract'\nimport { hybridList } from '../entity'\n\nconst { emitter } = utils\n\nclass MaterialManager implements BaseModule {\n app: Anov3D\n originalMaterial = new Map() // 记录初始材质信息\n\n constructor(app: Anov3D) {\n this.app = app\n }\n\n /**\n * Change material for target objects\n * @param json Material change configuration\n */\n change(json: any) {\n const processChange = (data: any) => {\n const { target: id } = data\n const object = hybridList.get(id)\n\n if (!object) {\n console.error(`Target with id ${id} not found`)\n return\n }\n this.changeByObject(object, data)\n }\n if (Array.isArray(json.batch)) // 支持多对象批量替换\n json.batch.forEach(processChange)\n else\n processChange(json)\n }\n\n changeByObject(object: THREE.Object3D, json: any) {\n const { target: id, materials, properties = {} } = json\n\n if (!object) {\n console.error(`Target with id ${id} not found`)\n return\n }\n\n let materialMap = this.originalMaterial.get(id)\n if (!materialMap) {\n materialMap = new Map()\n this.originalMaterial.set(id, materialMap)\n }\n\n if (Array.isArray(materials))\n this.applyMaterials(object, materials, properties, materialMap)\n else\n this.applySingleMaterial(object, materials, properties, materialMap)\n }\n\n /**\n * Restore material for target objects\n * @param json Material restoration configuration\n */\n restore(json: any) {\n const processRestore = (data: any) => {\n const { target: id, materials } = data\n const object = hybridList.get(id)\n\n if (!object) {\n console.error(`Target with id ${id} not found`)\n return\n }\n\n const materialMap = this.originalMaterial.get(id)\n if (!materialMap)\n return\n\n if (materials)\n this.restoreMaterials(object, materials, materialMap)\n else\n this.restoreAllMaterials(object, materialMap)\n\n emitter.emit('onMaterialChanged', { target: object })\n }\n\n if (Array.isArray(json.batch))\n json.batch.forEach(processRestore)\n else\n processRestore(json)\n }\n\n private applyMaterials(\n target: THREE.Object3D,\n materials: any[],\n rootProperties: Record<string, any>,\n materialMap: Map<string, THREE.Material | THREE.Material[]>,\n ) {\n let material\n materials.forEach(async ({ meshIndex, primitiveIndex, materialId, properties = {} }) => {\n this.traverseMeshes(target, meshIndex, primitiveIndex, (mesh) => {\n if (!materialMap.has(mesh.uuid))\n materialMap.set(mesh.uuid, (mesh.material as THREE.Material).clone())\n })\n\n material = await SurfaceMaterial.getMaterial(materialId)\n material.depthWrite = true\n\n this.applyMaterialOptions(material, { ...rootProperties, ...properties })\n this.traverseMeshes(target, meshIndex, primitiveIndex, (mesh) => {\n mesh.material = material\n })\n emitter.emit('onMaterialChanged', { target })\n })\n }\n\n private async applySingleMaterial(\n target: THREE.Object3D,\n materialId,\n properties: Record<string, any> = {},\n materialMap: Map<string, THREE.Material | THREE.Material[]>,\n ) {\n this.traverseMeshes(target, undefined, undefined, (mesh) => {\n if (!materialMap.has(mesh.uuid))\n materialMap.set(mesh.uuid, (mesh.material as THREE.Material).clone())\n })\n\n const material = await SurfaceMaterial.getMaterial(materialId)\n material.depthWrite = true\n this.applyMaterialOptions(material, properties)\n this.traverseMeshes(target, undefined, undefined, (mesh) => {\n mesh.material = material\n })\n\n emitter.emit('onMaterialChanged', { target })\n }\n\n private applyMaterialOptions(material, option) {\n const { color, uvScale } = option\n if (color)\n material.color = new Color(color)\n if (material.map) {\n if (uvScale) {\n material.map.wrapS = material.map.wrapT = RepeatWrapping\n material.map.repeat.set(uvScale, uvScale)\n }\n material.map.needsUpdate = true\n }\n }\n\n private restoreMaterials(\n target: THREE.Object3D,\n materials: any[],\n materialMap: Map<string, THREE.Material | THREE.Material[]>,\n ) {\n materials.forEach(({ meshIndex, primitiveIndex }) => {\n this.traverseMeshes(target, meshIndex, primitiveIndex, (mesh) => {\n if (materialMap.has(mesh.uuid))\n mesh.material = materialMap.get(mesh.uuid) as THREE.Material\n })\n })\n }\n\n private restoreAllMaterials(\n target: THREE.Object3D,\n materialMap: Map<string, THREE.Material | THREE.Material[]>,\n ) {\n this.traverseMeshes(target, undefined, undefined, (mesh) => {\n if (materialMap.has(mesh.uuid))\n mesh.material = materialMap.get(mesh.uuid) as THREE.Material\n })\n }\n\n private traverseMeshes(\n target: THREE.Object3D,\n meshIndex?: number,\n primitiveIndex?: number,\n callback?: (mesh: Mesh) => void,\n ) {\n target.traverse((object) => {\n if (object.type === 'Mesh') {\n const { meshIndex: currentMeshIndex, primitiveIndex: currentPrimitiveIndex } = object.userData\n if (\n (meshIndex === undefined || meshIndex === currentMeshIndex)\n && (primitiveIndex === undefined || primitiveIndex === currentPrimitiveIndex)\n )\n callback?.(object as Mesh)\n }\n })\n }\n}\n\nexport default MaterialManager\n"],"mappings":"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"}
|
|
@@ -50,10 +50,12 @@ var FileParse = /*#__PURE__*/function () {
|
|
|
50
50
|
this.action = action;
|
|
51
51
|
emitter.off('model-loading-progress');
|
|
52
52
|
this.modelProgress.clear();
|
|
53
|
-
var
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
var _ref = json || {},
|
|
54
|
+
_ref$scene = _ref.scene,
|
|
55
|
+
index = _ref$scene === void 0 ? 0 : _ref$scene,
|
|
56
|
+
scenes = _ref.scenes,
|
|
57
|
+
nodes = _ref.nodes;
|
|
58
|
+
var sceneNode = scenes && scenes[index];
|
|
57
59
|
if (!sceneNode) {
|
|
58
60
|
console.error('Invalid scene or nodeIndex.');
|
|
59
61
|
return;
|
|
@@ -63,13 +65,13 @@ var FileParse = /*#__PURE__*/function () {
|
|
|
63
65
|
var _this$parseNode = this.parseNode(sceneNode.nodeIndex, nodes, 0),
|
|
64
66
|
modelCount = _this$parseNode.modelCount,
|
|
65
67
|
parsedNodes = _this$parseNode.nodes;
|
|
66
|
-
this.addListener();
|
|
67
68
|
this.scene = _objectSpread(_objectSpread({
|
|
68
69
|
index: index
|
|
69
70
|
}, sceneNode), {}, {
|
|
70
71
|
nodes: parsedNodes.filter(Boolean),
|
|
71
72
|
modelCount: modelCount // 计算模型节点数量并放到 scene 对象中
|
|
72
73
|
});
|
|
74
|
+
this.addListener();
|
|
73
75
|
this.scene.environment && this.setEnvironment(this.scene.environment);
|
|
74
76
|
return this.addNodes(this.scene.nodes);
|
|
75
77
|
} catch (error) {
|
|
@@ -217,27 +219,39 @@ var FileParse = /*#__PURE__*/function () {
|
|
|
217
219
|
key: "addListener",
|
|
218
220
|
value: function addListener() {
|
|
219
221
|
var _this4 = this;
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
222
|
+
if (this.scene.modelCount > 0) {
|
|
223
|
+
emitter.on('model-loading-progress', function (data) {
|
|
224
|
+
var id = data.id,
|
|
225
|
+
progress = data.progress;
|
|
226
|
+
if (!_this4.modelProgress.has(id)) return;
|
|
227
|
+
_this4.modelProgress.set(id, progress);
|
|
228
|
+
// 更新累积进度
|
|
229
|
+
var progressValue = Array.from(_this4.modelProgress.values()).reduce(function (sum, currentProgress) {
|
|
230
|
+
return sum + currentProgress;
|
|
231
|
+
}, 0);
|
|
232
|
+
// 计算进度
|
|
233
|
+
var totalProgress = progressValue / _this4.scene.modelCount;
|
|
234
|
+
sendToMessage({
|
|
235
|
+
messageType: MessageType.Event,
|
|
236
|
+
messageName: 'onProgress',
|
|
237
|
+
status: EMessageStatus.Success,
|
|
238
|
+
global: false
|
|
239
|
+
}, {
|
|
240
|
+
progress: totalProgress,
|
|
241
|
+
state: _this4.action
|
|
242
|
+
});
|
|
243
|
+
});
|
|
244
|
+
} else {
|
|
231
245
|
sendToMessage({
|
|
232
246
|
messageType: MessageType.Event,
|
|
233
247
|
messageName: 'onProgress',
|
|
234
248
|
status: EMessageStatus.Success,
|
|
235
249
|
global: false
|
|
236
250
|
}, {
|
|
237
|
-
progress:
|
|
238
|
-
state:
|
|
251
|
+
progress: 1,
|
|
252
|
+
state: this.action
|
|
239
253
|
});
|
|
240
|
-
}
|
|
254
|
+
}
|
|
241
255
|
}
|
|
242
256
|
|
|
243
257
|
// 获取节点参数
|
|
@@ -314,7 +328,7 @@ var FileParse = /*#__PURE__*/function () {
|
|
|
314
328
|
while (1) switch (_context4.prev = _context4.next) {
|
|
315
329
|
case 0:
|
|
316
330
|
result = (_this$scene$nodes = this.scene.nodes) === null || _this$scene$nodes === void 0 ? void 0 : _this$scene$nodes.map( /*#__PURE__*/function () {
|
|
317
|
-
var
|
|
331
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(node) {
|
|
318
332
|
var isDefineType, nodeObject;
|
|
319
333
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
320
334
|
while (1) switch (_context3.prev = _context3.next) {
|
|
@@ -329,7 +343,7 @@ var FileParse = /*#__PURE__*/function () {
|
|
|
329
343
|
}, _callee3);
|
|
330
344
|
}));
|
|
331
345
|
return function (_x3) {
|
|
332
|
-
return
|
|
346
|
+
return _ref2.apply(this, arguments);
|
|
333
347
|
};
|
|
334
348
|
}());
|
|
335
349
|
this.setEnvironment({
|