@anov/3d 0.0.237 → 0.0.238
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/heatmap/index.js +29 -6
- package/dist/module/entity/heatmap/index.js.map +1 -1
- package/dist/module/entity/index.js +12 -5
- package/dist/module/entity/index.js.map +1 -1
- package/dist/module/entity/model/index.js +4 -0
- package/dist/module/entity/model/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -14,7 +14,8 @@ var defaultOption = {
|
|
|
14
14
|
visible: true,
|
|
15
15
|
position: [0, 0, 0],
|
|
16
16
|
rotation: [0, 0, 0],
|
|
17
|
-
scale: [1, 1, 1]
|
|
17
|
+
scale: [1, 1, 1],
|
|
18
|
+
radius: 10
|
|
18
19
|
};
|
|
19
20
|
var HeatmapManage = /*#__PURE__*/function () {
|
|
20
21
|
function HeatmapManage() {
|
|
@@ -35,16 +36,38 @@ var HeatmapManage = /*#__PURE__*/function () {
|
|
|
35
36
|
target.position.copy(new Vector3().fromArray(position));
|
|
36
37
|
target.rotation.copy(new Euler(MathUtils.degToRad(rotation[0]), MathUtils.degToRad(rotation[1]), MathUtils.degToRad(rotation[2])));
|
|
37
38
|
target.scale.copy(new Vector3().fromArray(scale));
|
|
39
|
+
target.userData.option = _objectSpread(_objectSpread({}, defaultOption), option);
|
|
40
|
+
}
|
|
41
|
+
}, {
|
|
42
|
+
key: "handleMappingGradien",
|
|
43
|
+
value: function handleMappingGradien(colorGradient) {
|
|
44
|
+
var result = {};
|
|
45
|
+
colorGradient.forEach(function (color, index) {
|
|
46
|
+
var position = index === colorGradient.length - 1 ? 1.0 : Number(((index + 1) / colorGradient.length).toFixed(2));
|
|
47
|
+
result[position] = color;
|
|
48
|
+
});
|
|
49
|
+
return result;
|
|
38
50
|
}
|
|
39
51
|
}, {
|
|
40
52
|
key: "create",
|
|
41
53
|
value: function create(json) {
|
|
42
|
-
var
|
|
43
|
-
|
|
54
|
+
var _defaultOption$json = _objectSpread(_objectSpread({}, defaultOption), json),
|
|
55
|
+
effectUri = _defaultOption$json.effectUri,
|
|
56
|
+
radius = _defaultOption$json.radius,
|
|
57
|
+
_defaultOption$json$c = _defaultOption$json.colorGradient,
|
|
58
|
+
colorGradient = _defaultOption$json$c === void 0 ? ['#0000FF', '#00FF00', '#FFFF00', '#FF0000'] : _defaultOption$json$c,
|
|
59
|
+
_defaultOption$json$r = _defaultOption$json.range,
|
|
60
|
+
range = _defaultOption$json$r === void 0 ? [] : _defaultOption$json$r;
|
|
61
|
+
console.log(this.handleMappingGradien(colorGradient));
|
|
44
62
|
this._heatmap = new HeatMap({
|
|
45
63
|
height: 1,
|
|
46
64
|
isPixel: effectUri === 'dot',
|
|
47
|
-
radius: radius
|
|
65
|
+
radius: radius,
|
|
66
|
+
colorMap: this.handleMappingGradien(colorGradient),
|
|
67
|
+
range: {
|
|
68
|
+
min: range[0],
|
|
69
|
+
max: range[1]
|
|
70
|
+
}
|
|
48
71
|
});
|
|
49
72
|
this._heatmap.setData(json.points.map(function (item) {
|
|
50
73
|
return {
|
|
@@ -62,9 +85,9 @@ var HeatmapManage = /*#__PURE__*/function () {
|
|
|
62
85
|
}, {
|
|
63
86
|
key: "update",
|
|
64
87
|
value: function update(target, option) {
|
|
65
|
-
target.
|
|
88
|
+
var lastOption = target.userData.option;
|
|
66
89
|
if (this._heatmap) this._heatmap.removeFromParent();
|
|
67
|
-
return this.create(option);
|
|
90
|
+
return this.create(_objectSpread(_objectSpread({}, lastOption), option));
|
|
68
91
|
}
|
|
69
92
|
}]);
|
|
70
93
|
return HeatmapManage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HeatMap","Euler","MathUtils","Vector3","use","defaultOption","name","visible","position","rotation","scale","HeatmapManage","_classCallCheck","_defineProperty","_createClass","key","value","setOption","option","target","_defaultOption$option","_objectSpread","copy","fromArray","degToRad","create","json","effectUri","
|
|
1
|
+
{"version":3,"names":["HeatMap","Euler","MathUtils","Vector3","use","defaultOption","name","visible","position","rotation","scale","radius","HeatmapManage","_classCallCheck","_defineProperty","_createClass","key","value","setOption","option","target","_defaultOption$option","_objectSpread","copy","fromArray","degToRad","userData","handleMappingGradien","colorGradient","result","forEach","color","index","length","Number","toFixed","create","json","_defaultOption$json","effectUri","_defaultOption$json$c","_defaultOption$json$r","range","console","log","_heatmap","height","isPixel","colorMap","min","max","setData","points","map","item","x","y","z","useScene","scene","add","update","lastOption","removeFromParent"],"sources":["../../../../src/module/entity/heatmap/index.ts"],"sourcesContent":["import { HeatMap } from '@anov/3d-ability'\nimport type { Object3D } from '@anov/3d-core'\nimport { Euler, MathUtils, Vector3, use } from '@anov/3d-core'\n\ntype PointsTypeItem = {\n position: number[]\n value: number\n radius?: number\n}\n\ntype PartialHeatmapOption = Partial<{\n name: string\n visible: boolean\n position: number[]\n rotation: number[]\n scale: number[]\n range: number[]\n colorGradient: number[]\n effectUri: string\n radius?: number\n}> & {\n points: PointsTypeItem[]\n}\n\nconst defaultOption = {\n name: '',\n visible: true,\n position: [0, 0, 0],\n rotation: [0, 0, 0],\n scale: [1, 1, 1],\n radius: 10,\n}\n\nclass HeatmapManage {\n private _heatmap: HeatMap\n\n private setOption(option: PartialHeatmapOption, target: HeatMap) {\n const { name, visible, position, rotation, scale } = { ...defaultOption, ...option }\n\n target.name = name\n target.visible = visible\n target.position.copy(new Vector3().fromArray(position))\n target.rotation.copy(new Euler(MathUtils.degToRad(rotation[0]), MathUtils.degToRad(rotation[1]), MathUtils.degToRad(rotation[2])))\n target.scale.copy(new Vector3().fromArray(scale))\n\n target.userData.option = { ...defaultOption, ...option }\n }\n\n private handleMappingGradien(colorGradient: string[] | number[]) {\n const result = {}\n\n colorGradient.forEach((color, index) => {\n const position = index === colorGradient.length - 1\n ? 1.0\n : Number(((index + 1) / colorGradient.length).toFixed(2))\n\n result[position] = color\n })\n\n return result\n }\n\n public create(json: PartialHeatmapOption) {\n const { effectUri, radius, colorGradient = ['#0000FF', '#00FF00', '#FFFF00', '#FF0000'], range = [] } = { ...defaultOption, ...json }\n\n console.log(this.handleMappingGradien(colorGradient))\n\n this._heatmap = new HeatMap({\n height: 1,\n isPixel: effectUri === 'dot',\n radius,\n colorMap: this.handleMappingGradien(colorGradient),\n range: {\n min: range[0],\n max: range[1],\n },\n })\n\n this._heatmap.setData(\n json.points.map(item => ({\n x: item.position[0],\n y: 0,\n z: item.position[1],\n value: item.value,\n radius: item.radius,\n })),\n )\n\n this.setOption(json, this._heatmap)\n use.useScene().scene.add(this._heatmap)\n\n return this._heatmap\n }\n\n public update(target: Object3D, option: PartialHeatmapOption) {\n const lastOption = target.userData.option\n\n if (this._heatmap)\n this._heatmap.removeFromParent()\n\n return this.create({ ...lastOption, ...option })\n }\n}\nexport default HeatmapManage"],"mappings":"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"}
|
|
@@ -63,16 +63,23 @@ var Entity = /*#__PURE__*/function () {
|
|
|
63
63
|
}
|
|
64
64
|
throw new Error("entityType ".concat(entityType, " is not supported"));
|
|
65
65
|
case 3:
|
|
66
|
-
|
|
66
|
+
if (!(entityType in strategyMap && !this.catchStrategy.has(entityType))) {
|
|
67
|
+
_context.next = 8;
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
_context.next = 6;
|
|
67
71
|
return strategyMap[entityType]();
|
|
68
|
-
case
|
|
72
|
+
case 6:
|
|
69
73
|
strategyClass = _context.sent;
|
|
70
|
-
|
|
71
|
-
|
|
74
|
+
// eslint-disable-next-line new-cap
|
|
75
|
+
this.catchStrategy.set(entityType, new strategyClass());
|
|
76
|
+
case 8:
|
|
77
|
+
return _context.abrupt("return", this.catchStrategy.get(entityType));
|
|
78
|
+
case 9:
|
|
72
79
|
case "end":
|
|
73
80
|
return _context.stop();
|
|
74
81
|
}
|
|
75
|
-
}, _callee);
|
|
82
|
+
}, _callee, this);
|
|
76
83
|
}));
|
|
77
84
|
function registerStrategy(_x) {
|
|
78
85
|
return _registerStrategy.apply(this, arguments);
|
|
@@ -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","Group","use","utils","MaterialSwitchSystem","createHighSelectedTool","debounce","MessageType","sendToMessage","EMessageStatus","HybridList","entityStrategy","eventPenetrateType","createDisposeFn","getMinimumEntity","hybridList","Entity","app","Map","select","materialSwitchSystem","useScene","scene","add","addEventListener","_ref","style","messageType","Event","messageName","status","Success","_registerStrategy","_callee","entityType","strategyMap","strategyClass","_callee$","_context","concat","registerStrategy","_x","_singleCreate","_callee2","id","strategy","option","group","layerId","_this","entityInfoArray","targetEntityInfo","_option$interactable","interactable","_option$interactiveEf","interactiveEffect","entity","_callee2$","_context2","allSettled","reason","tag","entityId","userData","entityParams","addObject","position","toArray","rotation","scale","visible","singleCreate","_x2","_x3","_x4","_x5","_x6","multiCreate","json","_this2","itemType","_json$items","items","_json$legends","legends","_json$interactable","_ref2","_callee3","item","currentData","_callee3$","_context3","legend","find","_x7","_create","_callee5","_this3","_json$interactable2","asyncTask","_callee5$","_context5","_callee4","res","_callee4$","_context4","handleResult","_x8","_singleUpdate","_callee6","_this4","_target$userData$enti","_option$interactiveEf2","_callee6$","_context6","get","removeObject","update","remove","singleUpdate","_x9","_x10","_x11","_x12","multiUpdate","_this5","_ref4","_callee7","legendItem","currentItem","_callee7$","_context7","_x13","_update","_callee9","_this6","_json$interactable3","_callee9$","_context9","_callee8","_target$userData$enti2","_callee8$","_context8","all","_x14","_execute","_callee11","_this7","_json$interactable4","_callee11$","_context11","_callee10","_callee10$","_context10","execute","_x15","_handleResult","_callee12","_callee12$","_context12","global","success","finally","emitter","emit","_x16","_x17","_x18","customizer","objValue","srcValue","Array","isArray","_delete","deleteChildren","children","child","_ref7","has","delete","removeFromParent","entityDispose","dispose","params","getEntityOption","registerEvents","opts","eventName","realEventName","toLowerCase","includes","closestMesh","newClosestMesh","minimumEntity","targetId","unregisterEvents","removeEventListener"],"sources":["../../../src/module/entity/index.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Group, use, utils } from '@anov/3d-core'\nimport { MaterialSwitchSystem, createHighSelectedTool } from '@anov/3d-ability'\nimport { debounce } from 'lodash'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport HybridList from './hybridList'\nimport { entityStrategy, eventPenetrateType } from './strategy'\nimport createDisposeFn from './dispose'\nimport type { Option, Opts, RegisterEvents } from './type'\nimport { getMinimumEntity } from './utils'\n\nexport const hybridList = new HybridList<Object3D>()\n\nclass Entity implements BaseModule {\n public app: Anov3D\n public catchStrategy: Map<string, any> = new Map()\n public select: any\n public materialSwitchSystem: MaterialSwitchSystem\n\n constructor(app: Anov3D) {\n this.select = createHighSelectedTool()\n this.app = app\n this.materialSwitchSystem = new MaterialSwitchSystem()\n use.useScene().scene.add(this.materialSwitchSystem)\n\n this.materialSwitchSystem.addEventListener(\n 'onStyleChanged',\n ({ style }) => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onStyleChanged',\n status: EMessageStatus.Success,\n },\n {\n style,\n })\n },\n )\n }\n\n /**\n * register strategy\n * @param entityType\n * @returns\n */\n async registerStrategy(entityType) {\n const strategyMap = {\n ...entityStrategy,\n }\n\n if (!(entityType in strategyMap))\n throw new Error(`entityType ${entityType} is not supported`)\n\n const strategyClass = await strategyMap[entityType]()\n\n // eslint-disable-next-line new-cap\n return new strategyClass()\n }\n\n async singleCreate(id, strategy, option: Option, group?: Group, layerId?: string) {\n const entityInfoArray = await Promise.allSettled([strategy.create(option)])\n const targetEntityInfo = entityInfoArray[0]\n const { interactable = true, interactiveEffect = false } = option\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n entity.tag = 'entity' // used for event penetration identification\n entity.entityId = id\n entity.userData.entityParams = { id, type: option.type, layerId, interactable, name: option.name }\n\n if (entity.userData.entityParams.type === 'model')\n this.materialSwitchSystem.addObject(entity)\n\n hybridList.add(id, entity)\n group?.add(entity)\n\n if (interactiveEffect && entity.userData.entityParams.type === 'model') {\n entity.addEventListener('mouseover', () => {\n this.select([entity])\n })\n\n entity.addEventListener('mouseout', () => {\n this.select([])\n })\n }\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n multiCreate(id: string, strategy, json: Option) {\n const { itemType, items = [], legends = [], interactable = true, name } = json\n\n const group = new Group()\n\n // TODO 优化,定制化非实体逻辑\n items.forEach(async (item) => {\n let currentData = item\n\n if (currentData.legend) {\n currentData = {\n ...legends.find(legend => legend.name === item.legend),\n ...item,\n }\n }\n currentData.type = itemType\n\n await this.singleCreate(\n item.id,\n strategy,\n currentData,\n group,\n id,\n )\n })\n\n group.userData.entityParams = { id, type: 'layer', itemType, interactable, name }\n hybridList.add(id, group)\n use.useScene().scene.add(group)\n\n return {\n ...json,\n id,\n position: group.position.toArray(),\n rotation: group.rotation.toArray(),\n scale: group.scale.toArray(),\n visible: group.visible,\n }\n }\n\n /**\n * create entity\n * @param json\n * @returns\n */\n async create(json: Option) {\n const { id, type, itemType, interactable = true } = json\n\n const asyncTask = Promise.resolve().then(async () => {\n const strategy = await this.registerStrategy(itemType || type)\n\n let res\n if (itemType && type === 'layer')\n res = this.multiCreate(id, strategy, json)\n else\n res = this.singleCreate(id, strategy, json)\n\n return this.handleResult(id, res, interactable)\n })\n\n return { ...json, asyncTask }\n }\n\n async singleUpdate(id, strategy, option: Option, group?: Group) {\n const target = hybridList.get(id) as any\n const { entityParams = {} } = target.userData\n\n if (target.userData.entityParams.type === 'model')\n this.materialSwitchSystem.removeObject(target)\n\n const entityInfoArray = await Promise.allSettled([strategy.update(target, option)])\n const targetEntityInfo = entityInfoArray[0]\n\n const { interactiveEffect = false } = option\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n entity.tag = 'entity' // use used for event penetration identification\n entity.entityId = id\n entity.userData.entityParams = entityParams\n\n // 兼容修改图层下的单个实体\n if (!group && entityParams.layerId)\n group = hybridList.get(entityParams.layerId) as Group\n\n if (group) {\n group.remove(hybridList.get(id))\n group.add(entity)\n }\n\n hybridList.update(id, entity)\n\n if (interactiveEffect && entity.userData.entityParams.type === 'model') {\n entity.addEventListener('mouseover', () => {\n this.select([entity])\n })\n\n entity.addEventListener('mouseout', () => {\n this.select([])\n })\n }\n\n if (entity.userData.entityParams.type === 'model')\n this.materialSwitchSystem.addObject(entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n multiUpdate(id, strategy, option) {\n const group = hybridList.get(id) as Group\n const { items, legends, itemType } = option\n\n items.forEach(async (item) => {\n const legendItem = legends?.find(legend => legend.name === item.legend)\n const currentItem = legendItem ? { ...legendItem, ...item } : item\n\n if (hybridList.get(item.id)) {\n await this.singleUpdate(item.id, strategy, currentItem, group)\n }\n else {\n currentItem.type = itemType\n await this.singleCreate(item.id, strategy, currentItem, group)\n }\n })\n\n return {\n ...option,\n id,\n position: group.position.toArray(),\n rotation: group.rotation.toArray(),\n scale: group.scale.toArray(),\n visible: group.visible,\n }\n }\n\n /**\n * update entity\n * @param json\n * @returns\n */\n async update(json: Option) {\n const { id, interactable = true } = json\n\n Promise.resolve().then(async () => {\n const target = hybridList.get(id) as any\n const { entityParams: { type, itemType } } = target.userData\n const strategy = await this.registerStrategy(itemType || type)\n\n let res\n if (itemType && type === 'layer')\n res = Promise.all(this.multiUpdate(id, strategy, { itemType, ...json }))\n else\n res = this.singleUpdate(id, strategy, json)\n\n this.handleResult(id, res, interactable)\n })\n\n return json\n }\n\n async execute(json: Option) {\n const { id, method, args, interactable = true } = json\n if (id && method) {\n Promise.resolve().then(async () => {\n const target = hybridList.get(id) as any\n const { entityParams: { type } } = target.userData\n const strategy = await this.registerStrategy(type)\n\n const entityInfoArray = await Promise.allSettled([strategy[method](args, target)])\n const targetEntityInfo = entityInfoArray[0]\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n hybridList.update(id, entity)\n\n this.handleResult(id, {\n ...json,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }, interactable)\n })\n }\n\n return json\n }\n\n /**\n * handle create or update loadded result\n * @param id\n * @param res\n */\n private async handleResult(id: string, res: any, interactable: boolean) {\n return Promise.resolve(res)\n .then(() => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n id,\n success: true,\n })\n })\n .catch(() => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n id,\n success: false,\n })\n })\n .finally(() => {\n interactable && utils.emitter.emit('onEntityLoaded', { id })\n })\n }\n\n customizer(objValue, srcValue) {\n if (Array.isArray(objValue) && srcValue)\n return srcValue\n }\n\n /**\n * delete entity\n * @param json\n */\n delete(json: Opts) {\n const { id } = json\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n if (target.userData.entityParams.type === 'model')\n this.materialSwitchSystem.removeObject(target)\n\n const deleteChildren = (entityId): void => {\n const entity = hybridList.get(entityId)\n if (!entity)\n return\n\n if (entity.children) {\n entity.children.forEach((child) => {\n const { id } = child.userData.entityParams || {}\n id && deleteChildren(id)\n })\n }\n hybridList.has(entityId) && hybridList.delete(entityId)\n }\n deleteChildren(id)\n\n target.removeFromParent()\n\n const entityDispose = createDisposeFn()\n\n // @ts-ignore\n // eslint-disable-next-line no-proto\n target.__proto__.dispose = entityDispose\n // @ts-ignore\n target.dispose()\n\n hybridList.delete(id)\n }\n\n /**\n * get entity\n * @param params\n * @returns\n */\n get(params: { id: string }) {\n const { id } = params\n\n const entity = hybridList.get(id)\n const option = this.getEntityOption(entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n type: entity.userData.entityParams.type,\n name: entity.userData.entityParams.name,\n }\n }\n\n /**\n * get entity option\n * @param target\n * @returns\n */\n getEntityOption(target: Object3D) {\n return target && (target.userData.option || {})\n }\n\n /**\n * register entity events\n * @param opts\n */\n registerEvents(opts: RegisterEvents) {\n const { eventName, entityId: id } = opts\n const realEventName = eventName.slice(2).toLowerCase()\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n if (!(target.userData.entityParams.type === 'model' || target.userData.entityParams.type === 'poi'))\n return\n\n // @ts-ignore\n if (eventPenetrateType.includes(target.entityType)) {\n target.userData[realEventName] = debounce((e) => {\n const closestMesh = e.newClosestMesh\n const minimumEntity = getMinimumEntity(closestMesh, target as any)\n\n minimumEntity\n && sendToMessage({\n messageType: MessageType.Event,\n messageName: eventName,\n status: EMessageStatus.Success,\n global: false,\n },\n {\n targetId: minimumEntity.entityId,\n id,\n })\n })\n\n target.addEventListener(realEventName, target.userData[realEventName])\n }\n else {\n target.userData[realEventName] = debounce((e) => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: eventName,\n status: EMessageStatus.Success,\n global: false,\n },\n {\n targetId: id,\n id,\n },\n )\n })\n\n target.addEventListener(realEventName, target.userData[realEventName])\n }\n }\n\n /**\n * unregister entity events\n * @param opts\n */\n unregisterEvents(opts: RegisterEvents) {\n const { eventName, entityId: id } = opts\n const realEventName = eventName.slice(2).toLowerCase()\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n target.removeEventListener(realEventName, target.userData[realEventName])\n }\n}\n\nexport default Entity"],"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","Group","use","utils","MaterialSwitchSystem","createHighSelectedTool","debounce","MessageType","sendToMessage","EMessageStatus","HybridList","entityStrategy","eventPenetrateType","createDisposeFn","getMinimumEntity","hybridList","Entity","app","Map","select","materialSwitchSystem","useScene","scene","add","addEventListener","_ref","style","messageType","Event","messageName","status","Success","_registerStrategy","_callee","entityType","strategyMap","strategyClass","_callee$","_context","concat","catchStrategy","has","set","get","registerStrategy","_x","_singleCreate","_callee2","id","strategy","option","group","layerId","_this","entityInfoArray","targetEntityInfo","_option$interactable","interactable","_option$interactiveEf","interactiveEffect","entity","_callee2$","_context2","allSettled","reason","tag","entityId","userData","entityParams","addObject","position","toArray","rotation","scale","visible","singleCreate","_x2","_x3","_x4","_x5","_x6","multiCreate","json","_this2","itemType","_json$items","items","_json$legends","legends","_json$interactable","_ref2","_callee3","item","currentData","_callee3$","_context3","legend","find","_x7","_create","_callee5","_this3","_json$interactable2","asyncTask","_callee5$","_context5","_callee4","res","_callee4$","_context4","handleResult","_x8","_singleUpdate","_callee6","_this4","_target$userData$enti","_option$interactiveEf2","_callee6$","_context6","removeObject","update","remove","singleUpdate","_x9","_x10","_x11","_x12","multiUpdate","_this5","_ref4","_callee7","legendItem","currentItem","_callee7$","_context7","_x13","_update","_callee9","_this6","_json$interactable3","_callee9$","_context9","_callee8","_target$userData$enti2","_callee8$","_context8","all","_x14","_execute","_callee11","_this7","_json$interactable4","_callee11$","_context11","_callee10","_callee10$","_context10","execute","_x15","_handleResult","_callee12","_callee12$","_context12","global","success","finally","emitter","emit","_x16","_x17","_x18","customizer","objValue","srcValue","Array","isArray","_delete","deleteChildren","children","child","_ref7","delete","removeFromParent","entityDispose","dispose","params","getEntityOption","registerEvents","opts","eventName","realEventName","toLowerCase","includes","closestMesh","newClosestMesh","minimumEntity","targetId","unregisterEvents","removeEventListener"],"sources":["../../../src/module/entity/index.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Group, use, utils } from '@anov/3d-core'\nimport { MaterialSwitchSystem, createHighSelectedTool } from '@anov/3d-ability'\nimport { debounce } from 'lodash'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport HybridList from './hybridList'\nimport { entityStrategy, eventPenetrateType } from './strategy'\nimport createDisposeFn from './dispose'\nimport type { Option, Opts, RegisterEvents } from './type'\nimport { getMinimumEntity } from './utils'\n\nexport const hybridList = new HybridList<Object3D>()\n\nclass Entity implements BaseModule {\n public app: Anov3D\n public catchStrategy: Map<string, any> = new Map()\n public select: any\n public materialSwitchSystem: MaterialSwitchSystem\n\n constructor(app: Anov3D) {\n this.select = createHighSelectedTool()\n this.app = app\n this.materialSwitchSystem = new MaterialSwitchSystem()\n use.useScene().scene.add(this.materialSwitchSystem)\n\n this.materialSwitchSystem.addEventListener(\n 'onStyleChanged',\n ({ style }) => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onStyleChanged',\n status: EMessageStatus.Success,\n },\n {\n style,\n })\n },\n )\n }\n\n /**\n * register strategy\n * @param entityType\n * @returns\n */\n async registerStrategy(entityType) {\n const strategyMap = {\n ...entityStrategy,\n }\n\n if (!(entityType in strategyMap))\n throw new Error(`entityType ${entityType} is not supported`)\n\n if (entityType in strategyMap && !this.catchStrategy.has(entityType)) {\n const strategyClass = await strategyMap[entityType]()\n\n // eslint-disable-next-line new-cap\n this.catchStrategy.set(entityType, new strategyClass())\n }\n\n return this.catchStrategy.get(entityType)\n }\n\n async singleCreate(id, strategy, option: Option, group?: Group, layerId?: string) {\n const entityInfoArray = await Promise.allSettled([strategy.create(option)])\n const targetEntityInfo = entityInfoArray[0]\n const { interactable = true, interactiveEffect = false } = option\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n entity.tag = 'entity' // used for event penetration identification\n entity.entityId = id\n entity.userData.entityParams = { id, type: option.type, layerId, interactable, name: option.name }\n\n if (entity.userData.entityParams.type === 'model')\n this.materialSwitchSystem.addObject(entity)\n\n hybridList.add(id, entity)\n group?.add(entity)\n\n if (interactiveEffect && entity.userData.entityParams.type === 'model') {\n entity.addEventListener('mouseover', () => {\n this.select([entity])\n })\n\n entity.addEventListener('mouseout', () => {\n this.select([])\n })\n }\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n multiCreate(id: string, strategy, json: Option) {\n const { itemType, items = [], legends = [], interactable = true, name } = json\n\n const group = new Group()\n\n // TODO 优化,定制化非实体逻辑\n items.forEach(async (item) => {\n let currentData = item\n\n if (currentData.legend) {\n currentData = {\n ...legends.find(legend => legend.name === item.legend),\n ...item,\n }\n }\n currentData.type = itemType\n\n await this.singleCreate(\n item.id,\n strategy,\n currentData,\n group,\n id,\n )\n })\n\n group.userData.entityParams = { id, type: 'layer', itemType, interactable, name }\n hybridList.add(id, group)\n use.useScene().scene.add(group)\n\n return {\n ...json,\n id,\n position: group.position.toArray(),\n rotation: group.rotation.toArray(),\n scale: group.scale.toArray(),\n visible: group.visible,\n }\n }\n\n /**\n * create entity\n * @param json\n * @returns\n */\n async create(json: Option) {\n const { id, type, itemType, interactable = true } = json\n\n const asyncTask = Promise.resolve().then(async () => {\n const strategy = await this.registerStrategy(itemType || type)\n\n let res\n if (itemType && type === 'layer')\n res = this.multiCreate(id, strategy, json)\n else\n res = this.singleCreate(id, strategy, json)\n\n return this.handleResult(id, res, interactable)\n })\n\n return { ...json, asyncTask }\n }\n\n async singleUpdate(id, strategy, option: Option, group?: Group) {\n const target = hybridList.get(id) as any\n const { entityParams = {} } = target.userData\n\n if (target.userData.entityParams.type === 'model')\n this.materialSwitchSystem.removeObject(target)\n\n const entityInfoArray = await Promise.allSettled([strategy.update(target, option)])\n const targetEntityInfo = entityInfoArray[0]\n\n const { interactiveEffect = false } = option\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n entity.tag = 'entity' // use used for event penetration identification\n entity.entityId = id\n entity.userData.entityParams = entityParams\n\n // 兼容修改图层下的单个实体\n if (!group && entityParams.layerId)\n group = hybridList.get(entityParams.layerId) as Group\n\n if (group) {\n group.remove(hybridList.get(id))\n group.add(entity)\n }\n\n hybridList.update(id, entity)\n\n if (interactiveEffect && entity.userData.entityParams.type === 'model') {\n entity.addEventListener('mouseover', () => {\n this.select([entity])\n })\n\n entity.addEventListener('mouseout', () => {\n this.select([])\n })\n }\n\n if (entity.userData.entityParams.type === 'model')\n this.materialSwitchSystem.addObject(entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n multiUpdate(id, strategy, option) {\n const group = hybridList.get(id) as Group\n const { items, legends, itemType } = option\n\n items.forEach(async (item) => {\n const legendItem = legends?.find(legend => legend.name === item.legend)\n const currentItem = legendItem ? { ...legendItem, ...item } : item\n\n if (hybridList.get(item.id)) {\n await this.singleUpdate(item.id, strategy, currentItem, group)\n }\n else {\n currentItem.type = itemType\n await this.singleCreate(item.id, strategy, currentItem, group)\n }\n })\n\n return {\n ...option,\n id,\n position: group.position.toArray(),\n rotation: group.rotation.toArray(),\n scale: group.scale.toArray(),\n visible: group.visible,\n }\n }\n\n /**\n * update entity\n * @param json\n * @returns\n */\n async update(json: Option) {\n const { id, interactable = true } = json\n\n Promise.resolve().then(async () => {\n const target = hybridList.get(id) as any\n const { entityParams: { type, itemType } } = target.userData\n const strategy = await this.registerStrategy(itemType || type)\n\n let res\n if (itemType && type === 'layer')\n res = Promise.all(this.multiUpdate(id, strategy, { itemType, ...json }))\n else\n res = this.singleUpdate(id, strategy, json)\n\n this.handleResult(id, res, interactable)\n })\n\n return json\n }\n\n async execute(json: Option) {\n const { id, method, args, interactable = true } = json\n if (id && method) {\n Promise.resolve().then(async () => {\n const target = hybridList.get(id) as any\n const { entityParams: { type } } = target.userData\n const strategy = await this.registerStrategy(type)\n\n const entityInfoArray = await Promise.allSettled([strategy[method](args, target)])\n const targetEntityInfo = entityInfoArray[0]\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n hybridList.update(id, entity)\n\n this.handleResult(id, {\n ...json,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }, interactable)\n })\n }\n\n return json\n }\n\n /**\n * handle create or update loadded result\n * @param id\n * @param res\n */\n private async handleResult(id: string, res: any, interactable: boolean) {\n return Promise.resolve(res)\n .then(() => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n id,\n success: true,\n })\n })\n .catch(() => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n id,\n success: false,\n })\n })\n .finally(() => {\n interactable && utils.emitter.emit('onEntityLoaded', { id })\n })\n }\n\n customizer(objValue, srcValue) {\n if (Array.isArray(objValue) && srcValue)\n return srcValue\n }\n\n /**\n * delete entity\n * @param json\n */\n delete(json: Opts) {\n const { id } = json\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n if (target.userData.entityParams.type === 'model')\n this.materialSwitchSystem.removeObject(target)\n\n const deleteChildren = (entityId): void => {\n const entity = hybridList.get(entityId)\n if (!entity)\n return\n\n if (entity.children) {\n entity.children.forEach((child) => {\n const { id } = child.userData.entityParams || {}\n id && deleteChildren(id)\n })\n }\n hybridList.has(entityId) && hybridList.delete(entityId)\n }\n deleteChildren(id)\n\n target.removeFromParent()\n\n const entityDispose = createDisposeFn()\n\n // @ts-ignore\n // eslint-disable-next-line no-proto\n target.__proto__.dispose = entityDispose\n // @ts-ignore\n target.dispose()\n\n hybridList.delete(id)\n }\n\n /**\n * get entity\n * @param params\n * @returns\n */\n get(params: { id: string }) {\n const { id } = params\n\n const entity = hybridList.get(id)\n const option = this.getEntityOption(entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n type: entity.userData.entityParams.type,\n name: entity.userData.entityParams.name,\n }\n }\n\n /**\n * get entity option\n * @param target\n * @returns\n */\n getEntityOption(target: Object3D) {\n return target && (target.userData.option || {})\n }\n\n /**\n * register entity events\n * @param opts\n */\n registerEvents(opts: RegisterEvents) {\n const { eventName, entityId: id } = opts\n const realEventName = eventName.slice(2).toLowerCase()\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n if (!(target.userData.entityParams.type === 'model' || target.userData.entityParams.type === 'poi'))\n return\n\n // @ts-ignore\n if (eventPenetrateType.includes(target.entityType)) {\n target.userData[realEventName] = debounce((e) => {\n const closestMesh = e.newClosestMesh\n const minimumEntity = getMinimumEntity(closestMesh, target as any)\n\n minimumEntity\n && sendToMessage({\n messageType: MessageType.Event,\n messageName: eventName,\n status: EMessageStatus.Success,\n global: false,\n },\n {\n targetId: minimumEntity.entityId,\n id,\n })\n })\n\n target.addEventListener(realEventName, target.userData[realEventName])\n }\n else {\n target.userData[realEventName] = debounce((e) => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: eventName,\n status: EMessageStatus.Success,\n global: false,\n },\n {\n targetId: id,\n id,\n },\n )\n })\n\n target.addEventListener(realEventName, target.userData[realEventName])\n }\n }\n\n /**\n * unregister entity events\n * @param opts\n */\n unregisterEvents(opts: RegisterEvents) {\n const { eventName, entityId: id } = opts\n const realEventName = eventName.slice(2).toLowerCase()\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n target.removeEventListener(realEventName, target.userData[realEventName])\n }\n}\n\nexport default Entity"],"mappings":"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"}
|
|
@@ -90,6 +90,10 @@ var ModelManage = /*#__PURE__*/function () {
|
|
|
90
90
|
object3d.traverse(function (child) {
|
|
91
91
|
if (child.type === 'Mesh') {
|
|
92
92
|
if (child.geometry.boundsTree) child.geometry.disposeBoundsTree();
|
|
93
|
+
|
|
94
|
+
// 查看金属度
|
|
95
|
+
var metalness = child.material.metalness;
|
|
96
|
+
child.material.metalness = 0.8;
|
|
93
97
|
child.geometry.computeBoundsTree();
|
|
94
98
|
}
|
|
95
99
|
});
|
|
@@ -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","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","_toPropertyKey","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_toPrimitive","String","toPrimitive","Number","BufferGeometry","Euler","MathUtils","Vector3","use","computeBoundsTree","disposeBoundsTree","createDisposeFn","MaterialManage","LoadStrategy","defaultOption","visible","position","rotation","scale","collision","materialManage","ModelManage","setOption","option","_defaultOption$option","url","copy","fromArray","degToRad","userData","applyMaterialOverride","materials","changeByObject","id","console","_create","_callee","json","events","modelType","loadAPi","model","object3d","_callee$","_context","split","scene","traverse","child","geometry","boundsTree","useScene","add","_x","_update","_callee2","entityDispose","_callee2$","_context2","removeFromParent","dispose","update","_x2","_x3"],"sources":["../../../../src/module/entity/model/index.ts"],"sourcesContent":["import type { Group } from '@anov/3d-core'\nimport { BufferGeometry, Euler, MathUtils, Vector3, use } from '@anov/3d-core'\nimport type { EMaterialType } from '@anov/3d-ability'\n\nimport { computeBoundsTree, disposeBoundsTree } from 'three-mesh-bvh'\nimport createDisposeFn from '../dispose'\nimport MaterialManage from '../../material'\nimport { LoadStrategy } from './load'\n\nBufferGeometry.prototype.computeBoundsTree = computeBoundsTree\nBufferGeometry.prototype.disposeBoundsTree = disposeBoundsTree\n\ntype ModelOption = {\n url: string\n id: string\n\n} & PartialModelOption\n\ntype MaterialOption = Partial<{\n meshIndex: number\n primitiveIndex: number\n materialId: EMaterialType\n properties: {\n color: string\n uvScale: number\n }\n}>\n\ntype PartialModelOption = Partial<{\n name: string\n visible: boolean\n position: number[]\n rotation: number[]\n scale: number[]\n collision: boolean\n materials: Array<MaterialOption>\n}>\n\nconst defaultOption: PartialModelOption = {\n name: '',\n visible: true,\n position: [0, 0, 0],\n rotation: [0, 0, 0],\n scale: [1, 1, 1],\n collision: true,\n}\n\nconst materialManage = new MaterialManage(null)\n\nclass ModelManage {\n private setOption(option: ModelOption, target: Group) {\n const { name, visible, position, rotation, collision, url, scale } = { ...defaultOption, ...option }\n\n target.name = name\n target.visible = visible\n target.position.copy(new Vector3().fromArray(position))\n target.rotation.copy(new Euler(MathUtils.degToRad(rotation[0]), MathUtils.degToRad(rotation[1]), MathUtils.degToRad(rotation[2])))\n target.scale.copy(new Vector3().fromArray(scale))\n target.userData.collision = collision\n target.userData.url = url\n\n // 材质处理\n this.applyMaterialOverride(option, target)\n }\n\n private applyMaterialOverride(option: ModelOption, target: Group) {\n const { materials } = option\n\n if (materials) {\n try {\n materialManage.changeByObject(target, { target: option.id, materials })\n }\n catch (e) {\n console.error(e)\n }\n }\n }\n\n async create(json) {\n const { url, id, events } = json\n const modelType = url.split('.').pop()\n const loadAPi = await LoadStrategy[modelType]()\n const model = await loadAPi(url, id, events)\n const object3d = modelType === 'fbx' ? model : model.scene\n\n this.setOption({\n ...defaultOption,\n ...json,\n }, object3d,\n )\n\n object3d.traverse((child) => {\n if (child.type === 'Mesh') {\n if (child.geometry.boundsTree)\n child.geometry.disposeBoundsTree()\n\n child.geometry.computeBoundsTree()\n }\n })\n\n use.useScene().scene.add(object3d)\n\n return object3d\n }\n\n async update(target: Group, option: ModelOption) {\n const { url } = option\n\n if (target.userData.url !== url) {\n target.removeFromParent()\n\n // todo: 抽离\n const entityDispose = createDisposeFn()\n entityDispose.call(target)\n\n // @ts-ignore\n // eslint-disable-next-line no-proto\n target.__proto__.dispose = entityDispose\n // @ts-ignore\n target.dispose()\n return this.create(option)\n }\n\n else {\n this.setOption(option, target)\n\n target.traverse((child: any) => {\n if (child.type === 'Mesh') {\n if (child.geometry.boundsTree)\n child.geometry.disposeBoundsTree()\n\n child.geometry.computeBoundsTree()\n }\n })\n return target\n }\n }\n}\n\nexport default ModelManage\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","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","_toPropertyKey","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_toPrimitive","String","toPrimitive","Number","BufferGeometry","Euler","MathUtils","Vector3","use","computeBoundsTree","disposeBoundsTree","createDisposeFn","MaterialManage","LoadStrategy","defaultOption","visible","position","rotation","scale","collision","materialManage","ModelManage","setOption","option","_defaultOption$option","url","copy","fromArray","degToRad","userData","applyMaterialOverride","materials","changeByObject","id","console","_create","_callee","json","events","modelType","loadAPi","model","object3d","_callee$","_context","split","scene","traverse","child","geometry","boundsTree","metalness","material","useScene","add","_x","_update","_callee2","entityDispose","_callee2$","_context2","removeFromParent","dispose","update","_x2","_x3"],"sources":["../../../../src/module/entity/model/index.ts"],"sourcesContent":["import type { Group } from '@anov/3d-core'\nimport { BufferGeometry, Euler, MathUtils, Vector3, use } from '@anov/3d-core'\nimport type { EMaterialType } from '@anov/3d-ability'\n\nimport { computeBoundsTree, disposeBoundsTree } from 'three-mesh-bvh'\nimport createDisposeFn from '../dispose'\nimport MaterialManage from '../../material'\nimport { LoadStrategy } from './load'\n\nBufferGeometry.prototype.computeBoundsTree = computeBoundsTree\nBufferGeometry.prototype.disposeBoundsTree = disposeBoundsTree\n\ntype ModelOption = {\n url: string\n id: string\n\n} & PartialModelOption\n\ntype MaterialOption = Partial<{\n meshIndex: number\n primitiveIndex: number\n materialId: EMaterialType\n properties: {\n color: string\n uvScale: number\n }\n}>\n\ntype PartialModelOption = Partial<{\n name: string\n visible: boolean\n position: number[]\n rotation: number[]\n scale: number[]\n collision: boolean\n materials: Array<MaterialOption>\n}>\n\nconst defaultOption: PartialModelOption = {\n name: '',\n visible: true,\n position: [0, 0, 0],\n rotation: [0, 0, 0],\n scale: [1, 1, 1],\n collision: true,\n}\n\nconst materialManage = new MaterialManage(null)\n\nclass ModelManage {\n private setOption(option: ModelOption, target: Group) {\n const { name, visible, position, rotation, collision, url, scale } = { ...defaultOption, ...option }\n\n target.name = name\n target.visible = visible\n target.position.copy(new Vector3().fromArray(position))\n target.rotation.copy(new Euler(MathUtils.degToRad(rotation[0]), MathUtils.degToRad(rotation[1]), MathUtils.degToRad(rotation[2])))\n target.scale.copy(new Vector3().fromArray(scale))\n target.userData.collision = collision\n target.userData.url = url\n\n // 材质处理\n this.applyMaterialOverride(option, target)\n }\n\n private applyMaterialOverride(option: ModelOption, target: Group) {\n const { materials } = option\n\n if (materials) {\n try {\n materialManage.changeByObject(target, { target: option.id, materials })\n }\n catch (e) {\n console.error(e)\n }\n }\n }\n\n async create(json) {\n const { url, id, events } = json\n const modelType = url.split('.').pop()\n const loadAPi = await LoadStrategy[modelType]()\n const model = await loadAPi(url, id, events)\n const object3d = modelType === 'fbx' ? model : model.scene\n\n this.setOption({\n ...defaultOption,\n ...json,\n }, object3d,\n )\n\n object3d.traverse((child) => {\n if (child.type === 'Mesh') {\n if (child.geometry.boundsTree)\n child.geometry.disposeBoundsTree()\n\n // 查看金属度\n const metalness = child.material.metalness\n child.material.metalness = 0.8\n child.geometry.computeBoundsTree()\n }\n })\n\n use.useScene().scene.add(object3d)\n\n return object3d\n }\n\n async update(target: Group, option: ModelOption) {\n const { url } = option\n\n if (target.userData.url !== url) {\n target.removeFromParent()\n\n // todo: 抽离\n const entityDispose = createDisposeFn()\n entityDispose.call(target)\n\n // @ts-ignore\n // eslint-disable-next-line no-proto\n target.__proto__.dispose = entityDispose\n // @ts-ignore\n target.dispose()\n return this.create(option)\n }\n\n else {\n this.setOption(option, target)\n\n target.traverse((child: any) => {\n if (child.type === 'Mesh') {\n if (child.geometry.boundsTree)\n child.geometry.disposeBoundsTree()\n\n child.geometry.computeBoundsTree()\n }\n })\n return target\n }\n }\n}\n\nexport default ModelManage\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.238",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "MIT",
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"rxjs": "7.8.1",
|
|
27
27
|
"three-mesh-bvh": "0.7.5",
|
|
28
28
|
"uuid": "^9.0.1",
|
|
29
|
-
"@anov/3d-
|
|
30
|
-
"@anov/3d-
|
|
29
|
+
"@anov/3d-ability": "^0.0.94",
|
|
30
|
+
"@anov/3d-core": "^0.0.62"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@types/uuid": "^9.0.7"
|