@anov/3d 0.0.272 → 0.0.273
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.
|
@@ -12,7 +12,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
12
12
|
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); }
|
|
13
13
|
import { SurfaceMaterial } from '@anov/3d-ability';
|
|
14
14
|
import * as ANOV from '@anov/3d-core';
|
|
15
|
-
import {
|
|
15
|
+
import { utils } from '@anov/3d-core';
|
|
16
16
|
import { hybridList } from "../entity";
|
|
17
17
|
var emitter = utils.emitter;
|
|
18
18
|
var MaterialManager = /*#__PURE__*/function () {
|
|
@@ -170,20 +170,6 @@ var MaterialManager = /*#__PURE__*/function () {
|
|
|
170
170
|
}
|
|
171
171
|
return applySingleMaterial;
|
|
172
172
|
}()
|
|
173
|
-
}, {
|
|
174
|
-
key: "applyMaterialOptions2",
|
|
175
|
-
value: function applyMaterialOptions2(material, option) {
|
|
176
|
-
var color = option.color,
|
|
177
|
-
uvScale = option.uvScale;
|
|
178
|
-
if (color) material.color = new Color(color);
|
|
179
|
-
if (material.map) {
|
|
180
|
-
if (uvScale) {
|
|
181
|
-
material.map.wrapS = material.map.wrapT = RepeatWrapping;
|
|
182
|
-
material.map.repeat.set(uvScale, uvScale);
|
|
183
|
-
}
|
|
184
|
-
material.map.needsUpdate = true;
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
173
|
}, {
|
|
188
174
|
key: "applyMaterialOptions",
|
|
189
175
|
value: function applyMaterialOptions(material, option) {
|
|
@@ -194,9 +180,7 @@ var MaterialManager = /*#__PURE__*/function () {
|
|
|
194
180
|
diffuseMap = option.diffuseMap,
|
|
195
181
|
normalMap = option.normalMap,
|
|
196
182
|
glossinessMap = option.glossinessMap,
|
|
197
|
-
heightMap = option.heightMap,
|
|
198
183
|
reflectionMap = option.reflectionMap,
|
|
199
|
-
displaceMap = option.displaceMap,
|
|
200
184
|
metalnessMap = option.metalnessMap,
|
|
201
185
|
roughnessMap = option.roughnessMap,
|
|
202
186
|
offset = option.offset,
|
|
@@ -264,17 +248,13 @@ var MaterialManager = /*#__PURE__*/function () {
|
|
|
264
248
|
}
|
|
265
249
|
|
|
266
250
|
// 应用位移贴图 (displacement map)
|
|
267
|
-
if (displaceMap) {
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
material.displacementScale = 0.1; // 可以根据需要调整
|
|
275
|
-
material.needsUpdate = true;
|
|
276
|
-
});
|
|
277
|
-
}
|
|
251
|
+
// if (displaceMap) {
|
|
252
|
+
// material.displacementMap = textureLoader.load(displaceMap, (texture) => {
|
|
253
|
+
// this.applyTextureTransform(texture, { offset, repeat, rotation })
|
|
254
|
+
// material.displacementScale = 0.1 // 可以根据需要调整
|
|
255
|
+
// material.needsUpdate = true
|
|
256
|
+
// })
|
|
257
|
+
// }
|
|
278
258
|
|
|
279
259
|
// 应用光泽度贴图 (通常对应 roughnessMap 的反向)
|
|
280
260
|
if (glossinessMap && !roughnessMap) {
|
|
@@ -290,30 +270,23 @@ var MaterialManager = /*#__PURE__*/function () {
|
|
|
290
270
|
}
|
|
291
271
|
|
|
292
272
|
// 应用高度贴图 (displacement map 或 bump map)
|
|
293
|
-
if (heightMap) {
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
rotation: rotation
|
|
311
|
-
});
|
|
312
|
-
material.bumpScale = 0.1; // 可以根据需要调整
|
|
313
|
-
material.needsUpdate = true;
|
|
314
|
-
});
|
|
315
|
-
}
|
|
316
|
-
}
|
|
273
|
+
// if (heightMap) {
|
|
274
|
+
// // 优先使用 displacementMap,如果不支持则使用 bumpMap
|
|
275
|
+
// if (material.displacementMap !== undefined) {
|
|
276
|
+
// material.displacementMap = textureLoader.load(heightMap, (texture) => {
|
|
277
|
+
// this.applyTextureTransform(texture, { offset, repeat, rotation })
|
|
278
|
+
// material.displacementScale = 0.1 // 可以根据需要调整
|
|
279
|
+
// material.needsUpdate = true
|
|
280
|
+
// })
|
|
281
|
+
// }
|
|
282
|
+
// else if (material.bumpMap !== undefined) {
|
|
283
|
+
// material.bumpMap = textureLoader.load(heightMap, (texture) => {
|
|
284
|
+
// this.applyTextureTransform(texture, { offset, repeat, rotation })
|
|
285
|
+
// material.bumpScale = 0.1 // 可以根据需要调整
|
|
286
|
+
// material.needsUpdate = true
|
|
287
|
+
// })
|
|
288
|
+
// }
|
|
289
|
+
// }
|
|
317
290
|
|
|
318
291
|
// 应用反射贴图 (environment map)
|
|
319
292
|
if (reflectionMap) {
|
|
@@ -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","ANOV","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","materialTemplate","_ref2","_callee","_ref","meshIndex","primitiveIndex","materialId","_ref$properties","_callee$","_context","traverseMeshes","mesh","has","uuid","material","clone","getMaterial","opacity","depthWrite","applyMaterialOptions","_x","_applySingleMaterial","_callee2","_args2","_callee2$","_context2","_x2","_x3","applyMaterialOptions2","option","color","uvScale","map","wrapS","wrapT","repeat","needsUpdate","_this4","roughness","metalness","diffuseMap","normalMap","glossinessMap","heightMap","reflectionMap","displaceMap","metalnessMap","roughnessMap","offset","rotation","textureLoader","TextureLoader","load","texture","applyTextureTransform","displacementMap","displacementScale","bumpMap","bumpScale","envMap","envMapIntensity","_ref3","x","Math","PI","_this5","_ref4","callback","traverse","_object$userData","userData","currentMeshIndex","currentPrimitiveIndex"],"sources":["../../../src/module/material/index.ts"],"sourcesContent":["import { SurfaceMaterial } from '@anov/3d-ability'\nimport * as ANOV from '@anov/3d-core'\nimport type { Mesh, Object3D } 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: 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: ANOV.Object3D,\n materials: any[],\n rootProperties: Record<string, any>,\n materialMap: Map<string, ANOV.Material | ANOV.Material[]>,\n ) {\n let materialTemplate\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 ANOV.Material).clone())\n })\n\n materialTemplate = await SurfaceMaterial.getMaterial(materialId)\n if (materialId === 'Glass') // TODO: 默认玻璃材质的透明度太低\n materialTemplate.opacity = 0.8\n materialTemplate.depthWrite = true\n\n this.applyMaterialOptions(materialTemplate, { ...rootProperties, ...properties })\n this.traverseMeshes(target, meshIndex, primitiveIndex, (mesh) => {\n mesh.material = materialTemplate\n })\n emitter.emit('onMaterialChanged', { target })\n })\n }\n\n private async applySingleMaterial(\n target: ANOV.Object3D,\n materialId,\n properties: Record<string, any> = {},\n materialMap: Map<string, ANOV.Material | ANOV.Material[]>,\n ) {\n this.traverseMeshes(target, undefined, undefined, (mesh) => {\n if (!materialMap.has(mesh.uuid))\n materialMap.set(mesh.uuid, (mesh.material as ANOV.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 applyMaterialOptions2(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 applyMaterialOptions(material, option) {\n const {\n color,\n roughness,\n metalness,\n diffuseMap,\n normalMap,\n glossinessMap,\n heightMap,\n reflectionMap,\n displaceMap,\n metalnessMap,\n roughnessMap,\n offset,\n repeat,\n rotation,\n } = option\n\n // 设置颜色\n if (color)\n material.color = new ANOV.Color(color)\n\n // 设置粗糙度\n if (roughness !== undefined)\n material.roughness = roughness\n\n // 设置金属度\n if (metalness !== undefined)\n material.metalness = metalness\n\n // 纹理加载器\n const textureLoader = new ANOV.TextureLoader()\n\n // 应用漫反射贴图 (diffuse/albedo map)\n if (diffuseMap) {\n material.map = textureLoader.load(diffuseMap, (texture) => {\n this.applyTextureTransform(texture, { offset, repeat, rotation })\n material.needsUpdate = true\n })\n }\n\n // 应用法线贴图\n if (normalMap) {\n material.normalMap = textureLoader.load(normalMap, (texture) => {\n this.applyTextureTransform(texture, { offset, repeat, rotation })\n material.needsUpdate = true\n })\n }\n\n // 应用粗糙度贴图\n if (roughnessMap) {\n material.roughnessMap = textureLoader.load(roughnessMap, (texture) => {\n this.applyTextureTransform(texture, { offset, repeat, rotation })\n material.needsUpdate = true\n })\n }\n\n // 应用金属度贴图\n if (metalnessMap) {\n material.metalnessMap = textureLoader.load(metalnessMap, (texture) => {\n this.applyTextureTransform(texture, { offset, repeat, rotation })\n material.needsUpdate = true\n })\n }\n\n // 应用位移贴图 (displacement map)\n if (displaceMap) {\n material.displacementMap = textureLoader.load(displaceMap, (texture) => {\n this.applyTextureTransform(texture, { offset, repeat, rotation })\n material.displacementScale = 0.1 // 可以根据需要调整\n material.needsUpdate = true\n })\n }\n\n // 应用光泽度贴图 (通常对应 roughnessMap 的反向)\n if (glossinessMap && !roughnessMap) {\n // 只有在没有专门的 roughnessMap 时才使用 glossinessMap\n material.roughnessMap = textureLoader.load(glossinessMap, (texture) => {\n this.applyTextureTransform(texture, { offset, repeat, rotation })\n material.needsUpdate = true\n })\n }\n\n // 应用高度贴图 (displacement map 或 bump map)\n if (heightMap) {\n // 优先使用 displacementMap,如果不支持则使用 bumpMap\n if (material.displacementMap !== undefined) {\n material.displacementMap = textureLoader.load(heightMap, (texture) => {\n this.applyTextureTransform(texture, { offset, repeat, rotation })\n material.displacementScale = 0.1 // 可以根据需要调整\n material.needsUpdate = true\n })\n }\n else if (material.bumpMap !== undefined) {\n material.bumpMap = textureLoader.load(heightMap, (texture) => {\n this.applyTextureTransform(texture, { offset, repeat, rotation })\n material.bumpScale = 0.1 // 可以根据需要调整\n material.needsUpdate = true\n })\n }\n }\n\n // 应用反射贴图 (environment map)\n if (reflectionMap) {\n // 如果是环境贴图\n if (material.envMap !== undefined) {\n // 这里假设是立方体贴图,实际使用时可能需要 CubeTextureLoader\n material.envMap = textureLoader.load(reflectionMap, (texture) => {\n material.envMapIntensity = 1.0 // 可以根据需要调整\n material.needsUpdate = true\n })\n }\n // 或者作为金属度贴图\n else if (material.metalnessMap !== undefined) {\n material.metalnessMap = textureLoader.load(reflectionMap, (texture) => {\n this.applyTextureTransform(texture, { offset, repeat, rotation })\n material.needsUpdate = true\n })\n }\n }\n\n // 立即更新非纹理属性\n if (color || roughness !== undefined)\n material.needsUpdate = true\n }\n\n // 辅助方法:应用纹理变换\n private applyTextureTransform(texture, { offset, repeat, rotation }) {\n if (!texture)\n return\n\n // 设置纹理偏移\n if (offset) {\n texture.offset.set(\n offset.x !== undefined ? offset.x : 0, // 假设传入的是百分比\n offset.y !== undefined ? offset.y : 0,\n )\n }\n\n // 设置纹理重复\n if (repeat) {\n texture.repeat.set(\n repeat.x !== undefined ? repeat.x : 1,\n repeat.y !== undefined ? repeat.y : 1,\n )\n }\n\n // 设置纹理旋转\n if (rotation !== undefined)\n texture.rotation = rotation * Math.PI / 180 // 转换为弧度\n\n // 设置纹理包裹模式\n texture.wrapS = ANOV.RepeatWrapping\n texture.wrapT = ANOV.RepeatWrapping\n }\n\n private restoreMaterials(\n target: ANOV.Object3D,\n materials: any[],\n materialMap: Map<string, ANOV.Material | ANOV.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 ANOV.Material\n })\n })\n }\n\n private restoreAllMaterials(\n target: ANOV.Object3D,\n materialMap: Map<string, ANOV.Material | ANOV.Material[]>,\n ) {\n this.traverseMeshes(target, undefined, undefined, (mesh) => {\n if (materialMap.has(mesh.uuid))\n mesh.material = materialMap.get(mesh.uuid) as ANOV.Material\n })\n }\n\n private traverseMeshes(\n target: ANOV.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","ANOV","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","materialTemplate","_ref2","_callee","_ref","meshIndex","primitiveIndex","materialId","_ref$properties","_callee$","_context","traverseMeshes","mesh","has","uuid","material","clone","getMaterial","opacity","depthWrite","applyMaterialOptions","_x","_applySingleMaterial","_callee2","_args2","_callee2$","_context2","_x2","_x3","option","_this4","color","roughness","metalness","diffuseMap","normalMap","glossinessMap","reflectionMap","metalnessMap","roughnessMap","offset","repeat","rotation","Color","textureLoader","TextureLoader","map","load","texture","applyTextureTransform","needsUpdate","envMap","envMapIntensity","_ref3","x","Math","PI","wrapS","RepeatWrapping","wrapT","_this5","_ref4","callback","traverse","_object$userData","userData","currentMeshIndex","currentPrimitiveIndex"],"sources":["../../../src/module/material/index.ts"],"sourcesContent":["import { SurfaceMaterial } from '@anov/3d-ability'\nimport * as ANOV from '@anov/3d-core'\nimport type { Mesh, Object3D } 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: 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: ANOV.Object3D,\n materials: any[],\n rootProperties: Record<string, any>,\n materialMap: Map<string, ANOV.Material | ANOV.Material[]>,\n ) {\n let materialTemplate\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 ANOV.Material).clone())\n })\n\n materialTemplate = await SurfaceMaterial.getMaterial(materialId)\n if (materialId === 'Glass') // TODO: 默认玻璃材质的透明度太低\n materialTemplate.opacity = 0.8\n materialTemplate.depthWrite = true\n\n this.applyMaterialOptions(materialTemplate, { ...rootProperties, ...properties })\n this.traverseMeshes(target, meshIndex, primitiveIndex, (mesh) => {\n mesh.material = materialTemplate\n })\n emitter.emit('onMaterialChanged', { target })\n })\n }\n\n private async applySingleMaterial(\n target: ANOV.Object3D,\n materialId,\n properties: Record<string, any> = {},\n materialMap: Map<string, ANOV.Material | ANOV.Material[]>,\n ) {\n this.traverseMeshes(target, undefined, undefined, (mesh) => {\n if (!materialMap.has(mesh.uuid))\n materialMap.set(mesh.uuid, (mesh.material as ANOV.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 {\n color,\n roughness,\n metalness,\n diffuseMap,\n normalMap,\n glossinessMap,\n reflectionMap,\n metalnessMap,\n roughnessMap,\n offset,\n repeat,\n rotation,\n } = option\n\n // 设置颜色\n if (color)\n material.color = new ANOV.Color(color)\n\n // 设置粗糙度\n if (roughness !== undefined)\n material.roughness = roughness\n\n // 设置金属度\n if (metalness !== undefined)\n material.metalness = metalness\n\n // 纹理加载器\n const textureLoader = new ANOV.TextureLoader()\n\n // 应用漫反射贴图 (diffuse/albedo map)\n if (diffuseMap) {\n material.map = textureLoader.load(diffuseMap, (texture) => {\n this.applyTextureTransform(texture, { offset, repeat, rotation })\n material.needsUpdate = true\n })\n }\n\n // 应用法线贴图\n if (normalMap) {\n material.normalMap = textureLoader.load(normalMap, (texture) => {\n this.applyTextureTransform(texture, { offset, repeat, rotation })\n material.needsUpdate = true\n })\n }\n\n // 应用粗糙度贴图\n if (roughnessMap) {\n material.roughnessMap = textureLoader.load(roughnessMap, (texture) => {\n this.applyTextureTransform(texture, { offset, repeat, rotation })\n material.needsUpdate = true\n })\n }\n\n // 应用金属度贴图\n if (metalnessMap) {\n material.metalnessMap = textureLoader.load(metalnessMap, (texture) => {\n this.applyTextureTransform(texture, { offset, repeat, rotation })\n material.needsUpdate = true\n })\n }\n\n // 应用位移贴图 (displacement map)\n // if (displaceMap) {\n // material.displacementMap = textureLoader.load(displaceMap, (texture) => {\n // this.applyTextureTransform(texture, { offset, repeat, rotation })\n // material.displacementScale = 0.1 // 可以根据需要调整\n // material.needsUpdate = true\n // })\n // }\n\n // 应用光泽度贴图 (通常对应 roughnessMap 的反向)\n if (glossinessMap && !roughnessMap) {\n // 只有在没有专门的 roughnessMap 时才使用 glossinessMap\n material.roughnessMap = textureLoader.load(glossinessMap, (texture) => {\n this.applyTextureTransform(texture, { offset, repeat, rotation })\n material.needsUpdate = true\n })\n }\n\n // 应用高度贴图 (displacement map 或 bump map)\n // if (heightMap) {\n // // 优先使用 displacementMap,如果不支持则使用 bumpMap\n // if (material.displacementMap !== undefined) {\n // material.displacementMap = textureLoader.load(heightMap, (texture) => {\n // this.applyTextureTransform(texture, { offset, repeat, rotation })\n // material.displacementScale = 0.1 // 可以根据需要调整\n // material.needsUpdate = true\n // })\n // }\n // else if (material.bumpMap !== undefined) {\n // material.bumpMap = textureLoader.load(heightMap, (texture) => {\n // this.applyTextureTransform(texture, { offset, repeat, rotation })\n // material.bumpScale = 0.1 // 可以根据需要调整\n // material.needsUpdate = true\n // })\n // }\n // }\n\n // 应用反射贴图 (environment map)\n if (reflectionMap) {\n // 如果是环境贴图\n if (material.envMap !== undefined) {\n // 这里假设是立方体贴图,实际使用时可能需要 CubeTextureLoader\n material.envMap = textureLoader.load(reflectionMap, (texture) => {\n material.envMapIntensity = 1.0 // 可以根据需要调整\n material.needsUpdate = true\n })\n }\n // 或者作为金属度贴图\n else if (material.metalnessMap !== undefined) {\n material.metalnessMap = textureLoader.load(reflectionMap, (texture) => {\n this.applyTextureTransform(texture, { offset, repeat, rotation })\n material.needsUpdate = true\n })\n }\n }\n\n // 立即更新非纹理属性\n if (color || roughness !== undefined)\n material.needsUpdate = true\n }\n\n // 辅助方法:应用纹理变换\n private applyTextureTransform(texture, { offset, repeat, rotation }) {\n if (!texture)\n return\n\n // 设置纹理偏移\n if (offset) {\n texture.offset.set(\n offset.x !== undefined ? offset.x : 0, // 假设传入的是百分比\n offset.y !== undefined ? offset.y : 0,\n )\n }\n\n // 设置纹理重复\n if (repeat) {\n texture.repeat.set(\n repeat.x !== undefined ? repeat.x : 1,\n repeat.y !== undefined ? repeat.y : 1,\n )\n }\n\n // 设置纹理旋转\n if (rotation !== undefined)\n texture.rotation = rotation * Math.PI / 180 // 转换为弧度\n\n // 设置纹理包裹模式\n texture.wrapS = ANOV.RepeatWrapping\n texture.wrapT = ANOV.RepeatWrapping\n }\n\n private restoreMaterials(\n target: ANOV.Object3D,\n materials: any[],\n materialMap: Map<string, ANOV.Material | ANOV.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 ANOV.Material\n })\n })\n }\n\n private restoreAllMaterials(\n target: ANOV.Object3D,\n materialMap: Map<string, ANOV.Material | ANOV.Material[]>,\n ) {\n this.traverseMeshes(target, undefined, undefined, (mesh) => {\n if (materialMap.has(mesh.uuid))\n mesh.material = materialMap.get(mesh.uuid) as ANOV.Material\n })\n }\n\n private traverseMeshes(\n target: ANOV.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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anov/3d",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.273",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "MIT",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"three-mesh-bvh": "^0.9.0",
|
|
28
28
|
"uuid": "^9.0.1",
|
|
29
29
|
"@anov/3d-core": "^0.0.69",
|
|
30
|
-
"@anov/3d-ability": "^0.0.
|
|
30
|
+
"@anov/3d-ability": "^0.0.125"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@types/uuid": "^9.0.7",
|