@anov/3d-ability 0.0.160 → 0.0.162
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.
|
@@ -73,10 +73,12 @@ export var MaterialSwitchSystem = /*#__PURE__*/function (_Object3D) {
|
|
|
73
73
|
_this.duration = duration;
|
|
74
74
|
_this.center = center;
|
|
75
75
|
|
|
76
|
+
// 暂时注释:材质切换逻辑(2026.03.09)
|
|
76
77
|
// this.uniforms = this.initializeUniforms()
|
|
77
78
|
// this.uniforms.isApi.value = isApi
|
|
78
79
|
// this.initializeBuiltInShader()
|
|
79
80
|
|
|
81
|
+
// 暂时注释:材质切换逻辑(2026.03.09)
|
|
80
82
|
// use.useframe(() => {
|
|
81
83
|
// this.uniforms.time.value += 0.00018
|
|
82
84
|
// this.uniforms.height.value -= 1
|
|
@@ -291,6 +293,7 @@ export var MaterialSwitchSystem = /*#__PURE__*/function (_Object3D) {
|
|
|
291
293
|
key: "addObject",
|
|
292
294
|
value: function addObject(object) {
|
|
293
295
|
return;
|
|
296
|
+
// 暂时注释:材质切换逻辑(2026.03.09)
|
|
294
297
|
this.switchType(SwitchType.Real);
|
|
295
298
|
var uuid = this.getObjectUuid(object);
|
|
296
299
|
this.objects.set(uuid, object);
|
|
@@ -495,6 +498,7 @@ export var MaterialSwitchSystem = /*#__PURE__*/function (_Object3D) {
|
|
|
495
498
|
key: "removeObject",
|
|
496
499
|
value: function removeObject(object) {
|
|
497
500
|
return;
|
|
501
|
+
// 暂时注释:材质切换逻辑(2026.03.09)
|
|
498
502
|
var uuid = this.getObjectUuid(object);
|
|
499
503
|
this.objects.delete(uuid);
|
|
500
504
|
Object.values(this.objectsMap).forEach(function (objectMap) {
|
|
@@ -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","_inherits","subClass","superClass","_setPrototypeOf","bind","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","AmbientLight","Box3","Color","Mesh","MeshBasicMaterial","Object3D","PlaneGeometry","Vector3","gsap","use","SurfaceMaterial","finirheightTransitionEffect","finirlowEffect","inject","injectToBaseWrite","injectToFinirMaterial","injectToFrameFade","injectToGround","injectToRealFade","SwitchType","DEFAULT_CENTER","GROUND_Y_OFFSET","SIZE_SCALE_FACTOR","GROUND_MATCHING","MaterialSwitchSystem","_Object3D","_super","options","_this","Real","Map","Frame","Pure","Fresnel","matchSize","rule","handleSizeMatching","matchName","handleNameMatching","_ref","duration","_ref$center","center","_ref$isApi","isApi","initializeUniforms","progress","isFresnelFadeIn","isRealFadeIn","isPureFadeIn","isFrameFadeIn","maxSize","time","height","initializeBuiltInShader","getMaterialAll","hideAllObjects","objectsMap","objectMap","object","visible","showObjectsByType","switchType","option","_option$rules","light","useScene","scene","getObjectByName","removeFromParent","add","intensity","rules","material","limit","handleApiOption","handleMatch","cleanupAnimations","prepareForSwitch","startSwitchAnimation","_ref2","_ref2$mode","mode","_ref2$duration","_ref2$center","_ref2$genPlane","genPlane","uniforms","fromArray","isGenPlane","_this$frame","_this$gsap","frame","kill","newType","groundObject","get","lastGroundObject","userData","isVisible","concat","_this2","lastType","onComplete","dispatchEvent","style","requestAnimationFrame","animateWithGSAP","animateWithFrame","to","ease","_beginBySpeed","_callee","distance","onFinish","_this3","currDistance","speed","acc","_callee$","_context","useframe","deltaTime","Math","min","_this3$frame","beginBySpeed","_x","_x2","getMaxSize","addObject","uuid","getObjectUuid","objects","set","handleNormalObject","updateVisibility","tag","entityId","handleGroundObject","has","updateGroundMesh","groundMesh","createGroundMesh","handleGroundMatching","_this4","isMatch","traverse","child","some","matching","includes","_getMaterialByName","_callee2","_callee2$","_context2","getMaterial","getMaterialByName","_x3","_replaceMaterial","_callee3","materialName","_callee3$","_context3","isMatched","originalMaterial","replaceMaterial","_x4","_x5","_x6","_x7","resetMaterial","_this5","_rule$material","keysArray","mesh","_mesh$parent","parent","_this6","matchingStrategy","realObject","generateRealObject","fresnelObject","clone","generateFresnelObject","pureObject","generatePureObject","frameObject","generateFrameObject","removeObject","delete","box","box3","size","getSize","getCenter","plane","x","z","color","rotation","PI","position","geometry","dispose","expandByObject","vertices","getBoxVertices","maxDistance","calculateMaxDistance","max","_this7","reduce","vertex","distanceTo"],"sources":["../../../src/business/MaterialSwitch/MaterialSwitchSystem.ts"],"sourcesContent":["import type { Material, MeshPhysicalMaterial } from '@anov/3d-core'\nimport { AmbientLight, Box3, Color, Mesh, MeshBasicMaterial, Object3D, PlaneGeometry, Vector3, gsap, use } from '@anov/3d-core'\nimport { SurfaceMaterial } from '../../'\nimport { finirheightTransitionEffect, finirlowEffect, inject, injectToBaseWrite, injectToFinirMaterial, injectToFrameFade, injectToGround, injectToRealFade } from './inject'\nimport type { MaterialSwitchSystemInterface } from '.'\n\ntype MaterialSwitchType = 'Real' | 'Fresnel' | 'Frame' | 'Pure'\n\nexport enum SwitchType {\n Real = 'Real',\n Fresnel = 'Fresnel',\n Frame = 'Frame',\n Pure = 'Pure',\n}\n\ninterface MaterialSwitchOption {\n duration?: number\n center?: Vector3\n isApi?: boolean\n}\n\ninterface MaterialSwitchUniforms {\n progress: { value: number }\n isFresnelFadeIn: { value: boolean }\n isRealFadeIn: { value: boolean }\n isPureFadeIn: { value: boolean }\n isFrameFadeIn: { value: boolean }\n maxSize: { value: number }\n center: { value: Vector3 }\n time: { value: number }\n isApi: { value: boolean }\n height: { value: number }\n}\n\ntype RuleItem = {\n type: string\n keys: string[] | string\n material: string\n limit?: SwitchType\n}\n\nconst DEFAULT_CENTER = new Vector3()\nconst GROUND_Y_OFFSET = -0.1\nconst SIZE_SCALE_FACTOR = 1.2\nconst GROUND_MATCHING = ['Ground', 'Road', 'Yard']\n\n/**\n * 材质切换系统\n */\nexport class MaterialSwitchSystem extends Object3D implements MaterialSwitchSystemInterface {\n public type: MaterialSwitchType = SwitchType.Real\n public originalMaterial = new Map()\n public uniforms: MaterialSwitchUniforms\n\n private objects = new Map<string, Object3D>()\n private objectsMap: Record<MaterialSwitchType, Map<string, Object3D>> = {\n Real: new Map(),\n Frame: new Map(),\n Pure: new Map(),\n Fresnel: new Map(),\n }\n\n private frame: ReturnType<typeof use.useframe> | null = null\n private gsap: gsap.core.Tween | null = null\n private duration: number | undefined\n private center: Vector3\n private isGenPlane = false\n private rules: RuleItem[] = []\n\n constructor(options?: MaterialSwitchOption) {\n super()\n const { duration, center = DEFAULT_CENTER, isApi = false } = options ?? {}\n\n this.duration = duration\n this.center = center\n\n // this.uniforms = this.initializeUniforms()\n // this.uniforms.isApi.value = isApi\n // this.initializeBuiltInShader()\n\n // use.useframe(() => {\n // this.uniforms.time.value += 0.00018\n // this.uniforms.height.value -= 1\n // })\n }\n\n private initializeUniforms(): MaterialSwitchUniforms {\n return {\n progress: { value: 1.0 },\n isFresnelFadeIn: { value: false },\n isRealFadeIn: { value: true },\n isPureFadeIn: { value: false },\n isFrameFadeIn: { value: false },\n maxSize: { value: 0 },\n center: { value: this.center },\n time: { value: 0 },\n height: { value: 0 },\n isApi: { value: false },\n }\n }\n\n private initializeBuiltInShader() {\n SurfaceMaterial.getMaterialAll()\n }\n\n private hideAllObjects(): void {\n Object.values(this.objectsMap).forEach((objectMap) => {\n objectMap.forEach((object) => {\n object.visible = false\n })\n })\n }\n\n private showObjectsByType(type: MaterialSwitchType): void {\n this.objectsMap[type].forEach((object) => {\n object.visible = true\n })\n }\n\n public switchType(type: MaterialSwitchType,\n option?:\n {\n mode: 'auto' | 'time'\n duration?: number\n center?: number[]\n genPlane?: boolean\n rules?: RuleItem[]\n }): void {\n if (this.type === type)\n return\n\n const light = use.useScene().scene.getObjectByName('FresnelLight')\n\n if (light)\n light.removeFromParent()\n\n if (type !== SwitchType.Real) {\n const light = new AmbientLight(0xFFFFFF, 1.5)\n light.name = 'FresnelLight'\n use.useScene().scene.add(light)\n\n if (type === SwitchType.Pure)\n light.intensity = 0.5\n }\n\n if (option?.rules?.length > 0) {\n this.rules = option.rules\n }\n else {\n this.rules = [{\n type: 'matchName',\n keys: [\n 'Tall',\n ],\n material: 'MfresnelGlow',\n },\n {\n type: 'matchName',\n keys: [\n 'Fence',\n ],\n material: 'Moriginal',\n },\n {\n type: 'matchName',\n keys: [\n 'Low',\n ],\n material: 'MlowFinir',\n },\n {\n type: 'matchName',\n keys: [\n 'Window',\n ],\n material: 'Fresnel_Transparent',\n limit: SwitchType.Fresnel,\n }]\n }\n\n this.handleApiOption(option)\n this.handleMatch(type)\n this.cleanupAnimations()\n this.prepareForSwitch(type)\n this.startSwitchAnimation(type)\n\n this.type = type\n }\n\n private handleApiOption(option: {\n mode: 'auto' | 'time'\n duration?: number\n center?: number[]\n genPlane?: boolean\n }): void {\n const { mode = 'auto', duration = 2, center = [0, 0, 0], genPlane = true } = option ?? {}\n if (mode === 'auto')\n this.duration = undefined\n else\n this.duration = duration\n\n this.uniforms.center.value = new Vector3().fromArray(center)\n this.isGenPlane = genPlane\n }\n\n private cleanupAnimations(): void {\n this.frame?.()\n this.gsap?.kill()\n }\n\n private prepareForSwitch(newType: MaterialSwitchType): void {\n this.hideAllObjects()\n this.showObjectsByType(newType)\n this.showObjectsByType(this.type)\n\n const groundObject = this.objectsMap[newType].get('ground')\n const lastGroundObject = this.objectsMap[this.type].get('ground')\n\n if (groundObject)\n groundObject.visible = this.isGenPlane\n if (lastGroundObject)\n lastGroundObject.visible = lastGroundObject.userData.isVisible\n\n this.uniforms.progress.value = 0.0\n this.uniforms[`is${this.type}FadeIn`].value = false\n this.uniforms[`is${newType}FadeIn`].value = true\n }\n\n private startSwitchAnimation(newType: MaterialSwitchType): void {\n const lastType = this.type\n\n const onComplete = () => {\n this.objectsMap[lastType].forEach((object) => {\n object.visible = false\n })\n this.dispatchEvent({ type: 'onStyleChanged', style: newType } as any)\n }\n\n requestAnimationFrame(() => {\n if (this.duration)\n this.animateWithGSAP(onComplete)\n else\n this.animateWithFrame(onComplete)\n })\n }\n\n private animateWithGSAP(onComplete: () => void): void {\n this.gsap = gsap.to(this.uniforms.progress, {\n value: 1.0,\n duration: this.duration,\n ease: 'linear',\n onComplete,\n })\n }\n\n private async beginBySpeed(distance: number, onFinish?: () => void): Promise<void> {\n if (distance === 0)\n distance = 0.01\n\n let currDistance = 0\n let speed = 0\n let acc = 0\n\n this.frame = use.useframe((deltaTime) => {\n acc += distance * deltaTime\n speed += acc * deltaTime\n currDistance += speed * deltaTime\n\n this.uniforms.progress.value = Math.min(1, currDistance / distance)\n\n if (currDistance >= distance) {\n this.frame?.()\n onFinish?.()\n }\n })\n }\n\n private animateWithFrame(onComplete: () => void): void {\n this.beginBySpeed(this.getMaxSize(), onComplete)\n }\n\n public addObject(object: Object3D): void {\n return\n this.switchType(SwitchType.Real)\n const uuid = this.getObjectUuid(object)\n this.objects.set(uuid, object)\n\n this.handleNormalObject(object, uuid)\n this.updateVisibility()\n }\n\n private getObjectUuid(object: Object3D): string {\n // @ts-ignore\n return object.tag === 'entity' ? object.entityId : object.uuid\n }\n\n private handleGroundObject(type: MaterialSwitchType): void {\n if (this.objectsMap[type].has('ground')) {\n this.updateGroundMesh(type)\n }\n else {\n const groundMesh = this.createGroundMesh()\n injectToGround(groundMesh, type, this.uniforms)\n this.objectsMap[type].set('ground', groundMesh)\n this.add(groundMesh)\n }\n\n const groundObject = this.objectsMap[type].get('ground')\n\n if (groundObject)\n this.isGenPlane ? groundObject.userData.isVisible = true : groundObject.userData.isVisible = false\n }\n\n private handleGroundMatching(type: MaterialSwitchType) {\n if (type === SwitchType.Real)\n return\n\n let isMatch = false\n\n this.objectsMap[type].forEach((object) => {\n object.traverse((child) => {\n if (GROUND_MATCHING.some(matching => child.name.includes(matching))) {\n if (this.isGenPlane)\n child.visible = false\n else\n child.visible = true\n\n isMatch = true\n }\n })\n })\n\n if (isMatch)\n this.handleGroundObject(type)\n }\n\n private async getMaterialByName(name: string) {\n const material = await SurfaceMaterial.getMaterial(name)\n\n return material\n }\n\n private async replaceMaterial(object: Mesh, materialName: string, type: string, limit?: SwitchType) {\n if (object.userData.isMatched)\n return\n\n if (materialName === 'MfresnelGlow') {\n if (type === SwitchType.Fresnel)\n object.material = finirheightTransitionEffect(object.material as Material, this.uniforms)\n }\n else if (materialName === 'Moriginal' || !materialName) {\n object.material = object.userData.originalMaterial\n }\n else if (materialName === 'MlowFinir') {\n if (type === SwitchType.Fresnel)\n object.material = finirlowEffect(object.material as Material, this.uniforms)\n }\n else {\n if (limit && limit !== type)\n return\n\n const material = await this.getMaterialByName(materialName)\n object.material = inject(material, type as 'Fresnel' | 'Frame' | 'Pure', this.uniforms) as MeshPhysicalMaterial\n }\n\n object.userData.isMatched = true\n }\n\n private resetMaterial(object: Mesh, type: MaterialSwitchType) {\n this[`generate${type}Object`](object)\n }\n\n private handleNameMatching(rule: RuleItem, type: MaterialSwitchType) {\n const { keys, material = 'Moriginal' } = rule\n let keysArray = []\n\n if (typeof keys === 'string')\n keysArray = [keys]\n else\n keysArray = keys\n\n this.objectsMap[type].forEach((object) => {\n object.traverse((child) => {\n if (child.type === 'Mesh') {\n const mesh = child as Mesh\n\n if (keysArray.some(matching => mesh.name.includes(matching) || mesh?.parent?.name.includes(matching)))\n this.replaceMaterial(mesh, material, type, rule.limit)\n }\n })\n })\n }\n\n private handleSizeMatching(rule: RuleItem, type: MaterialSwitchType) {}\n\n private matchingStrategy = {\n matchSize: (rule: RuleItem, type: MaterialSwitchType) => this.handleSizeMatching(rule, type),\n matchName: (rule: RuleItem, type: MaterialSwitchType) => this.handleNameMatching(rule, type),\n }\n\n private handleMatch(type: MaterialSwitchType) {\n this.handleGroundMatching(type)\n\n if (type === SwitchType.Real)\n return\n\n this.objectsMap[type].forEach((object) => {\n object.traverse((child) => {\n if (child.type === 'Mesh') {\n if (child.userData.isMatched)\n this.resetMaterial(child as Mesh, type)\n }\n\n child.userData.isMatched = false\n })\n })\n\n if (this.rules.length > 0) {\n this.rules.forEach((rule) => {\n this.matchingStrategy[rule.type](rule, type)\n })\n }\n }\n\n private handleNormalObject(object: Object3D, uuid: string): void {\n const realObject = object\n this.generateRealObject(realObject)\n this.objectsMap.Real.set(uuid, realObject)\n this.add(realObject)\n\n const fresnelObject = object.clone()\n this.generateFresnelObject(fresnelObject)\n this.objectsMap.Fresnel.set(uuid, fresnelObject)\n this.add(fresnelObject)\n\n const pureObject = object.clone()\n this.generatePureObject(pureObject)\n this.objectsMap.Pure.set(uuid, pureObject)\n this.add(pureObject)\n\n const frameObject = object.clone()\n this.generateFrameObject(frameObject)\n this.objectsMap.Frame.set(uuid, frameObject)\n this.add(frameObject)\n\n this.uniforms.maxSize.value = this.getMaxSize()\n }\n\n public removeObject(object: Object3D): void {\n return\n const uuid = this.getObjectUuid(object)\n this.objects.delete(uuid)\n\n Object.values(this.objectsMap).forEach((objectMap) => {\n const obj = objectMap.get(uuid)\n if (obj) {\n obj.removeFromParent()\n objectMap.delete(uuid)\n }\n })\n\n this.uniforms.maxSize.value = this.getMaxSize()\n }\n\n private createGroundMesh(): Mesh {\n const box = this.box3\n const size = box.getSize(new Vector3())\n const center = box.getCenter(new Vector3())\n\n const plane = new PlaneGeometry(size.x, size.z)\n const material = new MeshBasicMaterial({ color: new Color('#fff') })\n const mesh = new Mesh(plane, material)\n\n mesh.rotation.x = -Math.PI / 2\n mesh.position.set(center.x, GROUND_Y_OFFSET, center.z)\n\n return mesh\n }\n\n private updateGroundMesh(type: MaterialSwitchType): void {\n if (!this.objectsMap[type].has('ground'))\n return\n\n const box = this.box3\n const size = box.getSize(new Vector3())\n const center = box.getCenter(new Vector3());\n\n (this.objectsMap[type].get('ground') as Mesh).geometry.dispose();\n (this.objectsMap[type].get('ground') as Mesh).geometry = new PlaneGeometry(size.x, size.z);\n (this.objectsMap[type].get('ground') as Mesh).position.set(center.x, GROUND_Y_OFFSET, center.z)\n }\n\n private get box3(): Box3 {\n const box3 = new Box3()\n this.objectsMap.Real.forEach((object) => {\n box3.expandByObject(object)\n })\n return box3\n }\n\n private getMaxSize(): number {\n const box3 = this.box3\n const vertices = this.getBoxVertices(box3)\n const maxDistance = this.calculateMaxDistance(vertices)\n return maxDistance * SIZE_SCALE_FACTOR\n }\n\n private getBoxVertices(box3: Box3): Vector3[] {\n return [\n new Vector3(box3.min.x, box3.min.y, box3.min.z),\n new Vector3(box3.min.x, box3.min.y, box3.max.z),\n new Vector3(box3.min.x, box3.max.y, box3.min.z),\n new Vector3(box3.min.x, box3.max.y, box3.max.z),\n new Vector3(box3.max.x, box3.min.y, box3.min.z),\n new Vector3(box3.max.x, box3.min.y, box3.max.z),\n new Vector3(box3.max.x, box3.max.y, box3.min.z),\n new Vector3(box3.max.x, box3.max.y, box3.max.z),\n ]\n }\n\n private calculateMaxDistance(vertices: Vector3[]): number {\n return vertices.reduce((max, vertex) => {\n const distance = this.center.distanceTo(vertex)\n return Math.max(max, distance)\n }, 0)\n }\n\n private generateFresnelObject(object: Object3D): void {\n injectToFinirMaterial(object, this.uniforms)\n }\n\n private generateRealObject(object: Object3D): void {\n injectToRealFade(object, this.uniforms)\n }\n\n private generatePureObject(object: Object3D): void {\n injectToBaseWrite(object, this.uniforms)\n }\n\n private generateFrameObject(object: Object3D): void {\n injectToFrameFade(object, this.uniforms)\n }\n\n private updateVisibility(): void {\n this.hideAllObjects()\n this.showObjectsByType(SwitchType.Real)\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","bind","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","AmbientLight","Box3","Color","Mesh","MeshBasicMaterial","Object3D","PlaneGeometry","Vector3","gsap","use","SurfaceMaterial","finirheightTransitionEffect","finirlowEffect","inject","injectToBaseWrite","injectToFinirMaterial","injectToFrameFade","injectToGround","injectToRealFade","SwitchType","DEFAULT_CENTER","GROUND_Y_OFFSET","SIZE_SCALE_FACTOR","GROUND_MATCHING","MaterialSwitchSystem","_Object3D","_super","options","_this","Real","Map","Frame","Pure","Fresnel","matchSize","rule","handleSizeMatching","matchName","handleNameMatching","_ref","duration","_ref$center","center","_ref$isApi","isApi","initializeUniforms","progress","isFresnelFadeIn","isRealFadeIn","isPureFadeIn","isFrameFadeIn","maxSize","time","height","initializeBuiltInShader","getMaterialAll","hideAllObjects","objectsMap","objectMap","object","visible","showObjectsByType","switchType","option","_option$rules","light","useScene","scene","getObjectByName","removeFromParent","add","intensity","rules","material","limit","handleApiOption","handleMatch","cleanupAnimations","prepareForSwitch","startSwitchAnimation","_ref2","_ref2$mode","mode","_ref2$duration","_ref2$center","_ref2$genPlane","genPlane","uniforms","fromArray","isGenPlane","_this$frame","_this$gsap","frame","kill","newType","groundObject","get","lastGroundObject","userData","isVisible","concat","_this2","lastType","onComplete","dispatchEvent","style","requestAnimationFrame","animateWithGSAP","animateWithFrame","to","ease","_beginBySpeed","_callee","distance","onFinish","_this3","currDistance","speed","acc","_callee$","_context","useframe","deltaTime","Math","min","_this3$frame","beginBySpeed","_x","_x2","getMaxSize","addObject","uuid","getObjectUuid","objects","set","handleNormalObject","updateVisibility","tag","entityId","handleGroundObject","has","updateGroundMesh","groundMesh","createGroundMesh","handleGroundMatching","_this4","isMatch","traverse","child","some","matching","includes","_getMaterialByName","_callee2","_callee2$","_context2","getMaterial","getMaterialByName","_x3","_replaceMaterial","_callee3","materialName","_callee3$","_context3","isMatched","originalMaterial","replaceMaterial","_x4","_x5","_x6","_x7","resetMaterial","_this5","_rule$material","keysArray","mesh","_mesh$parent","parent","_this6","matchingStrategy","realObject","generateRealObject","fresnelObject","clone","generateFresnelObject","pureObject","generatePureObject","frameObject","generateFrameObject","removeObject","delete","box","box3","size","getSize","getCenter","plane","x","z","color","rotation","PI","position","geometry","dispose","expandByObject","vertices","getBoxVertices","maxDistance","calculateMaxDistance","max","_this7","reduce","vertex","distanceTo"],"sources":["../../../src/business/MaterialSwitch/MaterialSwitchSystem.ts"],"sourcesContent":["import type { Material, MeshPhysicalMaterial } from '@anov/3d-core'\nimport { AmbientLight, Box3, Color, Mesh, MeshBasicMaterial, Object3D, PlaneGeometry, Vector3, gsap, use } from '@anov/3d-core'\nimport { SurfaceMaterial } from '../../'\nimport { finirheightTransitionEffect, finirlowEffect, inject, injectToBaseWrite, injectToFinirMaterial, injectToFrameFade, injectToGround, injectToRealFade } from './inject'\nimport type { MaterialSwitchSystemInterface } from '.'\n\ntype MaterialSwitchType = 'Real' | 'Fresnel' | 'Frame' | 'Pure'\n\nexport enum SwitchType {\n Real = 'Real',\n Fresnel = 'Fresnel',\n Frame = 'Frame',\n Pure = 'Pure',\n}\n\ninterface MaterialSwitchOption {\n duration?: number\n center?: Vector3\n isApi?: boolean\n}\n\ninterface MaterialSwitchUniforms {\n progress: { value: number }\n isFresnelFadeIn: { value: boolean }\n isRealFadeIn: { value: boolean }\n isPureFadeIn: { value: boolean }\n isFrameFadeIn: { value: boolean }\n maxSize: { value: number }\n center: { value: Vector3 }\n time: { value: number }\n isApi: { value: boolean }\n height: { value: number }\n}\n\ntype RuleItem = {\n type: string\n keys: string[] | string\n material: string\n limit?: SwitchType\n}\n\nconst DEFAULT_CENTER = new Vector3()\nconst GROUND_Y_OFFSET = -0.1\nconst SIZE_SCALE_FACTOR = 1.2\nconst GROUND_MATCHING = ['Ground', 'Road', 'Yard']\n\n/**\n * 材质切换系统\n */\nexport class MaterialSwitchSystem extends Object3D implements MaterialSwitchSystemInterface {\n public type: MaterialSwitchType = SwitchType.Real\n public originalMaterial = new Map()\n public uniforms: MaterialSwitchUniforms\n\n private objects = new Map<string, Object3D>()\n private objectsMap: Record<MaterialSwitchType, Map<string, Object3D>> = {\n Real: new Map(),\n Frame: new Map(),\n Pure: new Map(),\n Fresnel: new Map(),\n }\n\n private frame: ReturnType<typeof use.useframe> | null = null\n private gsap: gsap.core.Tween | null = null\n private duration: number | undefined\n private center: Vector3\n private isGenPlane = false\n private rules: RuleItem[] = []\n\n constructor(options?: MaterialSwitchOption) {\n super()\n const { duration, center = DEFAULT_CENTER, isApi = false } = options ?? {}\n\n this.duration = duration\n this.center = center\n\n // 暂时注释:材质切换逻辑(2026.03.09)\n // this.uniforms = this.initializeUniforms()\n // this.uniforms.isApi.value = isApi\n // this.initializeBuiltInShader()\n\n // 暂时注释:材质切换逻辑(2026.03.09)\n // use.useframe(() => {\n // this.uniforms.time.value += 0.00018\n // this.uniforms.height.value -= 1\n // })\n }\n\n private initializeUniforms(): MaterialSwitchUniforms {\n return {\n progress: { value: 1.0 },\n isFresnelFadeIn: { value: false },\n isRealFadeIn: { value: true },\n isPureFadeIn: { value: false },\n isFrameFadeIn: { value: false },\n maxSize: { value: 0 },\n center: { value: this.center },\n time: { value: 0 },\n height: { value: 0 },\n isApi: { value: false },\n }\n }\n\n private initializeBuiltInShader() {\n SurfaceMaterial.getMaterialAll()\n }\n\n private hideAllObjects(): void {\n Object.values(this.objectsMap).forEach((objectMap) => {\n objectMap.forEach((object) => {\n object.visible = false\n })\n })\n }\n\n private showObjectsByType(type: MaterialSwitchType): void {\n this.objectsMap[type].forEach((object) => {\n object.visible = true\n })\n }\n\n public switchType(type: MaterialSwitchType,\n option?:\n {\n mode: 'auto' | 'time'\n duration?: number\n center?: number[]\n genPlane?: boolean\n rules?: RuleItem[]\n }): void {\n if (this.type === type)\n return\n\n const light = use.useScene().scene.getObjectByName('FresnelLight')\n\n if (light)\n light.removeFromParent()\n\n if (type !== SwitchType.Real) {\n const light = new AmbientLight(0xFFFFFF, 1.5)\n light.name = 'FresnelLight'\n use.useScene().scene.add(light)\n\n if (type === SwitchType.Pure)\n light.intensity = 0.5\n }\n\n if (option?.rules?.length > 0) {\n this.rules = option.rules\n }\n else {\n this.rules = [{\n type: 'matchName',\n keys: [\n 'Tall',\n ],\n material: 'MfresnelGlow',\n },\n {\n type: 'matchName',\n keys: [\n 'Fence',\n ],\n material: 'Moriginal',\n },\n {\n type: 'matchName',\n keys: [\n 'Low',\n ],\n material: 'MlowFinir',\n },\n {\n type: 'matchName',\n keys: [\n 'Window',\n ],\n material: 'Fresnel_Transparent',\n limit: SwitchType.Fresnel,\n }]\n }\n\n this.handleApiOption(option)\n this.handleMatch(type)\n this.cleanupAnimations()\n this.prepareForSwitch(type)\n this.startSwitchAnimation(type)\n\n this.type = type\n }\n\n private handleApiOption(option: {\n mode: 'auto' | 'time'\n duration?: number\n center?: number[]\n genPlane?: boolean\n }): void {\n const { mode = 'auto', duration = 2, center = [0, 0, 0], genPlane = true } = option ?? {}\n if (mode === 'auto')\n this.duration = undefined\n else\n this.duration = duration\n\n this.uniforms.center.value = new Vector3().fromArray(center)\n this.isGenPlane = genPlane\n }\n\n private cleanupAnimations(): void {\n this.frame?.()\n this.gsap?.kill()\n }\n\n private prepareForSwitch(newType: MaterialSwitchType): void {\n this.hideAllObjects()\n this.showObjectsByType(newType)\n this.showObjectsByType(this.type)\n\n const groundObject = this.objectsMap[newType].get('ground')\n const lastGroundObject = this.objectsMap[this.type].get('ground')\n\n if (groundObject)\n groundObject.visible = this.isGenPlane\n if (lastGroundObject)\n lastGroundObject.visible = lastGroundObject.userData.isVisible\n\n this.uniforms.progress.value = 0.0\n this.uniforms[`is${this.type}FadeIn`].value = false\n this.uniforms[`is${newType}FadeIn`].value = true\n }\n\n private startSwitchAnimation(newType: MaterialSwitchType): void {\n const lastType = this.type\n\n const onComplete = () => {\n this.objectsMap[lastType].forEach((object) => {\n object.visible = false\n })\n this.dispatchEvent({ type: 'onStyleChanged', style: newType } as any)\n }\n\n requestAnimationFrame(() => {\n if (this.duration)\n this.animateWithGSAP(onComplete)\n else\n this.animateWithFrame(onComplete)\n })\n }\n\n private animateWithGSAP(onComplete: () => void): void {\n this.gsap = gsap.to(this.uniforms.progress, {\n value: 1.0,\n duration: this.duration,\n ease: 'linear',\n onComplete,\n })\n }\n\n private async beginBySpeed(distance: number, onFinish?: () => void): Promise<void> {\n if (distance === 0)\n distance = 0.01\n\n let currDistance = 0\n let speed = 0\n let acc = 0\n\n this.frame = use.useframe((deltaTime) => {\n acc += distance * deltaTime\n speed += acc * deltaTime\n currDistance += speed * deltaTime\n\n this.uniforms.progress.value = Math.min(1, currDistance / distance)\n\n if (currDistance >= distance) {\n this.frame?.()\n onFinish?.()\n }\n })\n }\n\n private animateWithFrame(onComplete: () => void): void {\n this.beginBySpeed(this.getMaxSize(), onComplete)\n }\n\n public addObject(object: Object3D): void {\n return\n // 暂时注释:材质切换逻辑(2026.03.09)\n this.switchType(SwitchType.Real)\n const uuid = this.getObjectUuid(object)\n this.objects.set(uuid, object)\n\n this.handleNormalObject(object, uuid)\n this.updateVisibility()\n }\n\n private getObjectUuid(object: Object3D): string {\n // @ts-ignore\n return object.tag === 'entity' ? object.entityId : object.uuid\n }\n\n private handleGroundObject(type: MaterialSwitchType): void {\n if (this.objectsMap[type].has('ground')) {\n this.updateGroundMesh(type)\n }\n else {\n const groundMesh = this.createGroundMesh()\n injectToGround(groundMesh, type, this.uniforms)\n this.objectsMap[type].set('ground', groundMesh)\n this.add(groundMesh)\n }\n\n const groundObject = this.objectsMap[type].get('ground')\n\n if (groundObject)\n this.isGenPlane ? groundObject.userData.isVisible = true : groundObject.userData.isVisible = false\n }\n\n private handleGroundMatching(type: MaterialSwitchType) {\n if (type === SwitchType.Real)\n return\n\n let isMatch = false\n\n this.objectsMap[type].forEach((object) => {\n object.traverse((child) => {\n if (GROUND_MATCHING.some(matching => child.name.includes(matching))) {\n if (this.isGenPlane)\n child.visible = false\n else\n child.visible = true\n\n isMatch = true\n }\n })\n })\n\n if (isMatch)\n this.handleGroundObject(type)\n }\n\n private async getMaterialByName(name: string) {\n const material = await SurfaceMaterial.getMaterial(name)\n\n return material\n }\n\n private async replaceMaterial(object: Mesh, materialName: string, type: string, limit?: SwitchType) {\n if (object.userData.isMatched)\n return\n\n if (materialName === 'MfresnelGlow') {\n if (type === SwitchType.Fresnel)\n object.material = finirheightTransitionEffect(object.material as Material, this.uniforms)\n }\n else if (materialName === 'Moriginal' || !materialName) {\n object.material = object.userData.originalMaterial\n }\n else if (materialName === 'MlowFinir') {\n if (type === SwitchType.Fresnel)\n object.material = finirlowEffect(object.material as Material, this.uniforms)\n }\n else {\n if (limit && limit !== type)\n return\n\n const material = await this.getMaterialByName(materialName)\n object.material = inject(material, type as 'Fresnel' | 'Frame' | 'Pure', this.uniforms) as MeshPhysicalMaterial\n }\n\n object.userData.isMatched = true\n }\n\n private resetMaterial(object: Mesh, type: MaterialSwitchType) {\n this[`generate${type}Object`](object)\n }\n\n private handleNameMatching(rule: RuleItem, type: MaterialSwitchType) {\n const { keys, material = 'Moriginal' } = rule\n let keysArray = []\n\n if (typeof keys === 'string')\n keysArray = [keys]\n else\n keysArray = keys\n\n this.objectsMap[type].forEach((object) => {\n object.traverse((child) => {\n if (child.type === 'Mesh') {\n const mesh = child as Mesh\n\n if (keysArray.some(matching => mesh.name.includes(matching) || mesh?.parent?.name.includes(matching)))\n this.replaceMaterial(mesh, material, type, rule.limit)\n }\n })\n })\n }\n\n private handleSizeMatching(rule: RuleItem, type: MaterialSwitchType) {}\n\n private matchingStrategy = {\n matchSize: (rule: RuleItem, type: MaterialSwitchType) => this.handleSizeMatching(rule, type),\n matchName: (rule: RuleItem, type: MaterialSwitchType) => this.handleNameMatching(rule, type),\n }\n\n private handleMatch(type: MaterialSwitchType) {\n this.handleGroundMatching(type)\n\n if (type === SwitchType.Real)\n return\n\n this.objectsMap[type].forEach((object) => {\n object.traverse((child) => {\n if (child.type === 'Mesh') {\n if (child.userData.isMatched)\n this.resetMaterial(child as Mesh, type)\n }\n\n child.userData.isMatched = false\n })\n })\n\n if (this.rules.length > 0) {\n this.rules.forEach((rule) => {\n this.matchingStrategy[rule.type](rule, type)\n })\n }\n }\n\n private handleNormalObject(object: Object3D, uuid: string): void {\n const realObject = object\n this.generateRealObject(realObject)\n this.objectsMap.Real.set(uuid, realObject)\n this.add(realObject)\n\n const fresnelObject = object.clone()\n this.generateFresnelObject(fresnelObject)\n this.objectsMap.Fresnel.set(uuid, fresnelObject)\n this.add(fresnelObject)\n\n const pureObject = object.clone()\n this.generatePureObject(pureObject)\n this.objectsMap.Pure.set(uuid, pureObject)\n this.add(pureObject)\n\n const frameObject = object.clone()\n this.generateFrameObject(frameObject)\n this.objectsMap.Frame.set(uuid, frameObject)\n this.add(frameObject)\n\n this.uniforms.maxSize.value = this.getMaxSize()\n }\n\n public removeObject(object: Object3D): void {\n return\n // 暂时注释:材质切换逻辑(2026.03.09)\n const uuid = this.getObjectUuid(object)\n this.objects.delete(uuid)\n\n Object.values(this.objectsMap).forEach((objectMap) => {\n const obj = objectMap.get(uuid)\n if (obj) {\n obj.removeFromParent()\n objectMap.delete(uuid)\n }\n })\n\n this.uniforms.maxSize.value = this.getMaxSize()\n }\n\n private createGroundMesh(): Mesh {\n const box = this.box3\n const size = box.getSize(new Vector3())\n const center = box.getCenter(new Vector3())\n\n const plane = new PlaneGeometry(size.x, size.z)\n const material = new MeshBasicMaterial({ color: new Color('#fff') })\n const mesh = new Mesh(plane, material)\n\n mesh.rotation.x = -Math.PI / 2\n mesh.position.set(center.x, GROUND_Y_OFFSET, center.z)\n\n return mesh\n }\n\n private updateGroundMesh(type: MaterialSwitchType): void {\n if (!this.objectsMap[type].has('ground'))\n return\n\n const box = this.box3\n const size = box.getSize(new Vector3())\n const center = box.getCenter(new Vector3());\n\n (this.objectsMap[type].get('ground') as Mesh).geometry.dispose();\n (this.objectsMap[type].get('ground') as Mesh).geometry = new PlaneGeometry(size.x, size.z);\n (this.objectsMap[type].get('ground') as Mesh).position.set(center.x, GROUND_Y_OFFSET, center.z)\n }\n\n private get box3(): Box3 {\n const box3 = new Box3()\n this.objectsMap.Real.forEach((object) => {\n box3.expandByObject(object)\n })\n return box3\n }\n\n private getMaxSize(): number {\n const box3 = this.box3\n const vertices = this.getBoxVertices(box3)\n const maxDistance = this.calculateMaxDistance(vertices)\n return maxDistance * SIZE_SCALE_FACTOR\n }\n\n private getBoxVertices(box3: Box3): Vector3[] {\n return [\n new Vector3(box3.min.x, box3.min.y, box3.min.z),\n new Vector3(box3.min.x, box3.min.y, box3.max.z),\n new Vector3(box3.min.x, box3.max.y, box3.min.z),\n new Vector3(box3.min.x, box3.max.y, box3.max.z),\n new Vector3(box3.max.x, box3.min.y, box3.min.z),\n new Vector3(box3.max.x, box3.min.y, box3.max.z),\n new Vector3(box3.max.x, box3.max.y, box3.min.z),\n new Vector3(box3.max.x, box3.max.y, box3.max.z),\n ]\n }\n\n private calculateMaxDistance(vertices: Vector3[]): number {\n return vertices.reduce((max, vertex) => {\n const distance = this.center.distanceTo(vertex)\n return Math.max(max, distance)\n }, 0)\n }\n\n private generateFresnelObject(object: Object3D): void {\n injectToFinirMaterial(object, this.uniforms)\n }\n\n private generateRealObject(object: Object3D): void {\n injectToRealFade(object, this.uniforms)\n }\n\n private generatePureObject(object: Object3D): void {\n injectToBaseWrite(object, this.uniforms)\n }\n\n private generateFrameObject(object: Object3D): void {\n injectToFrameFade(object, this.uniforms)\n }\n\n private updateVisibility(): void {\n this.hideAllObjects()\n this.showObjectsByType(SwitchType.Real)\n }\n}\n"],"mappings":"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"}
|
|
@@ -60,7 +60,7 @@ var STYLE_DATA = {
|
|
|
60
60
|
poi_border_01: ['border', 'pyramid', 'circle'],
|
|
61
61
|
poi_ellipse_01: ['ellipse', 'cylinder', 'circle']
|
|
62
62
|
};
|
|
63
|
-
var MAX_DISTANCE =
|
|
63
|
+
var MAX_DISTANCE = 1000;
|
|
64
64
|
var Poi = /*#__PURE__*/function (_ObjectLayer) {
|
|
65
65
|
_inherits(Poi, _ObjectLayer);
|
|
66
66
|
var _super = _createSuper(Poi);
|
|
@@ -355,8 +355,7 @@ var Poi = /*#__PURE__*/function (_ObjectLayer) {
|
|
|
355
355
|
}, {
|
|
356
356
|
key: "addEventListeners",
|
|
357
357
|
value: function addEventListeners() {
|
|
358
|
-
var _this3 = this
|
|
359
|
-
_scene$orbitControls;
|
|
358
|
+
var _this3 = this;
|
|
360
359
|
var updateTransform = function updateTransform() {
|
|
361
360
|
var _use$useScene3 = use.useScene(),
|
|
362
361
|
camera = _use$useScene3.camera;
|
|
@@ -369,16 +368,14 @@ var Poi = /*#__PURE__*/function (_ObjectLayer) {
|
|
|
369
368
|
_this3._panel.updateDynamicScale(camera);
|
|
370
369
|
}
|
|
371
370
|
};
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
(_scene$orbitControls2 = scene.orbitControls) === null || _scene$orbitControls2 === void 0 || _scene$orbitControls2.removeEventListener('change', callback);
|
|
381
|
-
});
|
|
371
|
+
|
|
372
|
+
// const scene = use.useScene()
|
|
373
|
+
// const callback = () => updateTransform()
|
|
374
|
+
// updateTransform()
|
|
375
|
+
// scene.orbitControls?.addEventListener('change', callback)
|
|
376
|
+
// this._disposeCallbacks.push(() => {
|
|
377
|
+
// scene.orbitControls?.removeEventListener('change', callback)
|
|
378
|
+
// })
|
|
382
379
|
|
|
383
380
|
// 每帧跟随更新,确保场景缩放/组变换也能驱动面板更新
|
|
384
381
|
var cancelFrame = use.useframe(function () {
|
|
@@ -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","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","Array","from","test","len","arr2","isArray","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","_inherits","subClass","superClass","_setPrototypeOf","bind","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","obj","_toPrimitive","String","toPrimitive","Number","Box3","Group","Vector3","use","_","ObjectLayer","lookAtOnYAxis","StrategyManage","LinkStrategy","ParticleStrategy","TitleStrategy","InfoPanel","DEFAULT_OPTION","style","facingCamera","autoScale","text","visible","fontSize","color","fontWeight","offset","bgUrl","uri","model","particle","STYLE_DATA","poi_border_01","poi_ellipse_01","MAX_DISTANCE","Poi","_ObjectLayer","_super","option","_this","param","mergeWith","cloneDeep","arrayMergeCustomizer","content","_style","_text","_model","_particle","_autoScale","_facingCamera","_content","init","initCard","get","_mesh","set","newValue","destroy","_disposeCallbacks","remove","_init","_callee2","_this$text","_this2","_this$_linkMesh","group","_STYLE_DATA$this$styl","titleStyle","linkStyle","particleStyle","strategies","loadTasks","_callee2$","_context2","_titleMesh","strategy","config","condition","_linkMesh","_particleMesh","entries","_ref","_ref2","map","_ref4","_callee","_ref3","_ref5","_ref5$","ClassRef","_callee$","_context","ready","add","_x","all","calculateLayout","setupBoundingBox","updateWorldMatrix","setupAnimation","createProxy","addEventListeners","panel","_panel","_this$_linkMesh2","_this$_linkMesh3","_this$_particleMesh","titleSize","getBoxSize","height","linkSize","baseY","linkHeight","linkVSpace","vspace","position","setY","mesh","_Box3$setFromObject","setFromObject","max","min","width","x","box","size","center","getSize","getCenter","bottomCenter","z","children","sub","updateViewDirection","_use$useScene","useScene","camera","parent","updateScale","_use$useScene2","distance","distanceTo","scale","_this3","_scene$orbitControls","updateTransform","_use$useScene3","updateFacing","updateDynamicScale","scene","callback","orbitControls","addEventListener","_scene$orbitControls2","removeEventListener","cancelFrame","useframe"],"sources":["../../../src/business/Poi/index.ts"],"sourcesContent":["import { Box3, Group, Vector3, use } from '@anov/3d-core'\nimport type { Mesh, Object3D } from '@anov/3d-core'\nimport _ from 'lodash'\nimport ObjectLayer from '../Base/ObjectLayer'\nimport { lookAtOnYAxis } from './tools'\nimport type { IPoi, ModelOption, Option, ParticleOption, TextOption } from './types'\nimport { StrategyManage as LinkStrategy } from './link'\nimport { StrategyManage as ParticleStrategy } from './particle'\nimport { StrategyManage as TitleStrategy } from './title'\nimport InfoPanel from './panel'\n\nconst DEFAULT_OPTION = {\n style: 'poi_border_01',\n facingCamera: true,\n autoScale: true,\n text: {\n visible: true,\n value: '标题文字',\n fontSize: 16,\n color: '#ffffff',\n fontWeight: 'normal',\n offset: [0, 0],\n bgUrl: '',\n uri: '',\n },\n model: {\n visible: true,\n uri: '',\n color: '#2C8AFF',\n },\n particle: {\n visible: true,\n uri: '',\n color: '#FFFFFF',\n },\n}\n\nconst STYLE_DATA = {\n poi_border_01: ['border', 'pyramid', 'circle'],\n poi_ellipse_01: ['ellipse', 'cylinder', 'circle'],\n}\n\nconst MAX_DISTANCE = 500\n\nclass Poi extends ObjectLayer implements IPoi {\n private _mesh!: Group\n private _titleMesh: Mesh & any\n private _linkMesh: Mesh | Group & any\n private _particleMesh: Mesh & any\n private _panel?: InfoPanel\n private _disposeCallbacks: Function[] = []\n\n private _style: string\n private _autoScale: boolean\n private _facingCamera: boolean\n private _text: TextOption\n private _model: ModelOption\n private _particle: ParticleOption\n private _content: TextOption\n type = 'Group'\n\n constructor(option: Option) {\n super()\n\n const param = _.mergeWith(\n _.cloneDeep(DEFAULT_OPTION),\n option,\n this.arrayMergeCustomizer,\n )\n const { style, text, model, particle, autoScale, facingCamera, content } = param\n this._style = style\n this._text = text\n this._model = model\n this._particle = particle\n this._autoScale = autoScale\n this._facingCamera = facingCamera\n this._content = content\n switch (this.style) {\n case 'poi_border_01':\n case 'poi_ellipse_01':\n case 'poi_custom':\n this.init()\n break\n case 'poi_card_01':\n this.initCard(param)\n break\n }\n }\n\n get content(): TextOption {\n return this._content\n }\n\n get mesh() {\n return this._mesh\n }\n\n get style(): string {\n return this._style\n }\n\n get autoScale(): boolean {\n return this._autoScale\n }\n\n set autoScale(newValue: boolean) {\n this._autoScale = newValue\n }\n\n get facingCamera(): boolean {\n return this._facingCamera\n }\n\n set facingCamera(newValue: boolean) {\n this._facingCamera = newValue\n }\n\n get text(): TextOption {\n return this._text\n }\n\n get model(): ModelOption {\n return this._model\n }\n\n get particle(): ParticleOption {\n return this._particle\n }\n\n // 销毁\n destroy() {\n this._disposeCallbacks.forEach(fn => fn())\n this._disposeCallbacks = []\n this.remove(this._mesh)\n }\n\n private async init() {\n const group = new Group()\n const [titleStyle, linkStyle, particleStyle] = STYLE_DATA[this.style]\n\n // 仅加载需要的资源\n const strategies = {\n _titleMesh: { strategy: TitleStrategy[titleStyle], config: this.text, condition: this.text?.visible !== false },\n _linkMesh: { strategy: LinkStrategy[linkStyle], config: this.model, condition: !this.model || this.model.visible !== false },\n _particleMesh: { strategy: ParticleStrategy[particleStyle], config: this.particle, condition: !this.particle || this.particle.visible !== false },\n }\n\n // 过滤掉不需要加载的组件,并发加载\n const loadTasks = Object.entries(strategies)\n .filter(([, { condition }]) => condition)\n .map(async ([key, { strategy, config }]) => {\n if (!strategy)\n return\n const ClassRef = await strategy()\n this[key] = new ClassRef({ ...config })\n await this[key].ready\n group.add(this[key])\n })\n\n // 等待所有组件加载完成\n await Promise.all(loadTasks)\n\n this._mesh = group\n // 布局计算\n this.calculateLayout()\n // 边界盒处理\n this.setupBoundingBox(group)\n // 统一更新矩阵\n group.updateWorldMatrix(true, true)\n // 动画和事件\n this._linkMesh?.setupAnimation()\n this.add(group)\n\n // 代理\n this._text = this.createProxy(this._text, this._titleMesh)\n this._model = this.createProxy(this._model, this._linkMesh)\n this._particle = this.createProxy(this._particle, this._particleMesh)\n\n this.addEventListeners()\n }\n\n /** 初始化卡片样式 */\n private initCard(param) {\n const group = new Group()\n this._mesh = group\n const panel = new InfoPanel(param)\n this._panel = panel\n group.add(panel)\n // CSS3D 信息面板默认不随距离缩放,保持屏幕像素尺寸稳定\n this._autoScale = false\n this.add(group)\n this.addEventListeners()\n }\n\n /** 布局计算 */\n private calculateLayout() {\n const titleSize = this._titleMesh ? this.getBoxSize(this._titleMesh) : { height: 0 }\n const linkSize = this._linkMesh ? this.getBoxSize(this._linkMesh) : { height: 0 }\n\n // 计算基础 Y 轴偏移\n let baseY = -titleSize.height / 2\n const linkHeight = linkSize.height\n const linkVSpace = this._linkMesh?.vspace?.[0] || 0\n\n baseY -= linkVSpace\n this._linkMesh?.position.setY(baseY - linkHeight / 2)\n this._particleMesh?.position.setY(baseY - linkHeight)\n }\n\n private getBoxSize(mesh) {\n // mesh.updateWorldMatrix(true, true)\n const { max, min } = new Box3().setFromObject(mesh)\n return { width: max.x - min.x, height: max.y - min.y }\n }\n\n private setupBoundingBox(mesh: Object3D) {\n // 计算Group的边界盒\n const box = new Box3().setFromObject(mesh)\n const size = new Vector3()\n const center = new Vector3()\n box.getSize(size)\n box.getCenter(center)\n\n // 计算底部中心位置\n const bottomCenter = new Vector3(center.x, box.min.y, center.z)\n // 平移所有Mesh,使底部中心对齐到控制点\n mesh.children.forEach((mesh) => {\n mesh.position.sub(bottomCenter)\n })\n }\n\n private updateViewDirection() {\n const { camera } = use.useScene()\n // camera && this._mesh.quaternion.copy(camera.quaternion)\n // this._mesh.rotation.y = camera.rotation.y\n\n lookAtOnYAxis(this._mesh.parent, camera.position)\n }\n\n /// <summary>\n /// 按照距离缩放,距离越远,缩放越大\n /// </summary>\n private updateScale() {\n const { camera } = use.useScene()\n // Make the signboard face the camera\n // this._mesh.lookAt(camera.position);\n // 计算相机和物体之间的距离\n const distance = camera?.position.distanceTo(this._mesh.parent.position)\n if (distance >= MAX_DISTANCE)\n return\n\n const scale = distance / 20 || 1\n this._mesh.scale.set(scale, scale, scale)\n }\n\n private addEventListeners() {\n const updateTransform = () => {\n const { camera } = use.useScene()\n // 普通 POI:依旧使用面向相机和距离缩放\n this._facingCamera !== false && this.updateViewDirection()\n this._autoScale === true && this.updateScale()\n // CSS3D 面板:使用动态像素→米缩放,并处理面板面向相机\n if (this._panel && camera) {\n this._panel.updateFacing(camera)\n this._panel.updateDynamicScale(camera)\n }\n }\n\n const scene = use.useScene()\n const callback = () => updateTransform()\n updateTransform()\n scene.orbitControls?.addEventListener('change', callback)\n this._disposeCallbacks.push(() => {\n scene.orbitControls?.removeEventListener('change', callback)\n })\n\n // 每帧跟随更新,确保场景缩放/组变换也能驱动面板更新\n const cancelFrame = use.useframe(() => {\n updateTransform()\n })\n this._disposeCallbacks.push(() => cancelFrame())\n }\n}\n\nexport { Poi }\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","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","Array","from","test","len","arr2","isArray","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","_inherits","subClass","superClass","_setPrototypeOf","bind","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","obj","_toPrimitive","String","toPrimitive","Number","Box3","Group","Vector3","use","_","ObjectLayer","lookAtOnYAxis","StrategyManage","LinkStrategy","ParticleStrategy","TitleStrategy","InfoPanel","DEFAULT_OPTION","style","facingCamera","autoScale","text","visible","fontSize","color","fontWeight","offset","bgUrl","uri","model","particle","STYLE_DATA","poi_border_01","poi_ellipse_01","MAX_DISTANCE","Poi","_ObjectLayer","_super","option","_this","param","mergeWith","cloneDeep","arrayMergeCustomizer","content","_style","_text","_model","_particle","_autoScale","_facingCamera","_content","init","initCard","get","_mesh","set","newValue","destroy","_disposeCallbacks","remove","_init","_callee2","_this$text","_this2","_this$_linkMesh","group","_STYLE_DATA$this$styl","titleStyle","linkStyle","particleStyle","strategies","loadTasks","_callee2$","_context2","_titleMesh","strategy","config","condition","_linkMesh","_particleMesh","entries","_ref","_ref2","map","_ref4","_callee","_ref3","_ref5","_ref5$","ClassRef","_callee$","_context","ready","add","_x","all","calculateLayout","setupBoundingBox","updateWorldMatrix","setupAnimation","createProxy","addEventListeners","panel","_panel","_this$_linkMesh2","_this$_linkMesh3","_this$_particleMesh","titleSize","getBoxSize","height","linkSize","baseY","linkHeight","linkVSpace","vspace","position","setY","mesh","_Box3$setFromObject","setFromObject","max","min","width","x","box","size","center","getSize","getCenter","bottomCenter","z","children","sub","updateViewDirection","_use$useScene","useScene","camera","parent","updateScale","_use$useScene2","distance","distanceTo","scale","_this3","updateTransform","_use$useScene3","updateFacing","updateDynamicScale","cancelFrame","useframe"],"sources":["../../../src/business/Poi/index.ts"],"sourcesContent":["import { Box3, Group, Vector3, use } from '@anov/3d-core'\nimport type { Mesh, Object3D } from '@anov/3d-core'\nimport _ from 'lodash'\nimport ObjectLayer from '../Base/ObjectLayer'\nimport { lookAtOnYAxis } from './tools'\nimport type { IPoi, ModelOption, Option, ParticleOption, TextOption } from './types'\nimport { StrategyManage as LinkStrategy } from './link'\nimport { StrategyManage as ParticleStrategy } from './particle'\nimport { StrategyManage as TitleStrategy } from './title'\nimport InfoPanel from './panel'\n\nconst DEFAULT_OPTION = {\n style: 'poi_border_01',\n facingCamera: true,\n autoScale: true,\n text: {\n visible: true,\n value: '标题文字',\n fontSize: 16,\n color: '#ffffff',\n fontWeight: 'normal',\n offset: [0, 0],\n bgUrl: '',\n uri: '',\n },\n model: {\n visible: true,\n uri: '',\n color: '#2C8AFF',\n },\n particle: {\n visible: true,\n uri: '',\n color: '#FFFFFF',\n },\n}\n\nconst STYLE_DATA = {\n poi_border_01: ['border', 'pyramid', 'circle'],\n poi_ellipse_01: ['ellipse', 'cylinder', 'circle'],\n}\n\nconst MAX_DISTANCE = 1000\n\nclass Poi extends ObjectLayer implements IPoi {\n private _mesh!: Group\n private _titleMesh: Mesh & any\n private _linkMesh: Mesh | Group & any\n private _particleMesh: Mesh & any\n private _panel?: InfoPanel\n private _disposeCallbacks: Function[] = []\n\n private _style: string\n private _autoScale: boolean\n private _facingCamera: boolean\n private _text: TextOption\n private _model: ModelOption\n private _particle: ParticleOption\n private _content: TextOption\n type = 'Group'\n\n constructor(option: Option) {\n super()\n\n const param = _.mergeWith(\n _.cloneDeep(DEFAULT_OPTION),\n option,\n this.arrayMergeCustomizer,\n )\n const { style, text, model, particle, autoScale, facingCamera, content } = param\n this._style = style\n this._text = text\n this._model = model\n this._particle = particle\n this._autoScale = autoScale\n this._facingCamera = facingCamera\n this._content = content\n switch (this.style) {\n case 'poi_border_01':\n case 'poi_ellipse_01':\n case 'poi_custom':\n this.init()\n break\n case 'poi_card_01':\n this.initCard(param)\n break\n }\n }\n\n get content(): TextOption {\n return this._content\n }\n\n get mesh() {\n return this._mesh\n }\n\n get style(): string {\n return this._style\n }\n\n get autoScale(): boolean {\n return this._autoScale\n }\n\n set autoScale(newValue: boolean) {\n this._autoScale = newValue\n }\n\n get facingCamera(): boolean {\n return this._facingCamera\n }\n\n set facingCamera(newValue: boolean) {\n this._facingCamera = newValue\n }\n\n get text(): TextOption {\n return this._text\n }\n\n get model(): ModelOption {\n return this._model\n }\n\n get particle(): ParticleOption {\n return this._particle\n }\n\n // 销毁\n destroy() {\n this._disposeCallbacks.forEach(fn => fn())\n this._disposeCallbacks = []\n this.remove(this._mesh)\n }\n\n private async init() {\n const group = new Group()\n const [titleStyle, linkStyle, particleStyle] = STYLE_DATA[this.style]\n\n // 仅加载需要的资源\n const strategies = {\n _titleMesh: { strategy: TitleStrategy[titleStyle], config: this.text, condition: this.text?.visible !== false },\n _linkMesh: { strategy: LinkStrategy[linkStyle], config: this.model, condition: !this.model || this.model.visible !== false },\n _particleMesh: { strategy: ParticleStrategy[particleStyle], config: this.particle, condition: !this.particle || this.particle.visible !== false },\n }\n\n // 过滤掉不需要加载的组件,并发加载\n const loadTasks = Object.entries(strategies)\n .filter(([, { condition }]) => condition)\n .map(async ([key, { strategy, config }]) => {\n if (!strategy)\n return\n const ClassRef = await strategy()\n this[key] = new ClassRef({ ...config })\n await this[key].ready\n group.add(this[key])\n })\n\n // 等待所有组件加载完成\n await Promise.all(loadTasks)\n\n this._mesh = group\n // 布局计算\n this.calculateLayout()\n // 边界盒处理\n this.setupBoundingBox(group)\n // 统一更新矩阵\n group.updateWorldMatrix(true, true)\n // 动画和事件\n this._linkMesh?.setupAnimation()\n this.add(group)\n\n // 代理\n this._text = this.createProxy(this._text, this._titleMesh)\n this._model = this.createProxy(this._model, this._linkMesh)\n this._particle = this.createProxy(this._particle, this._particleMesh)\n\n this.addEventListeners()\n }\n\n /** 初始化卡片样式 */\n private initCard(param) {\n const group = new Group()\n this._mesh = group\n const panel = new InfoPanel(param)\n this._panel = panel\n group.add(panel)\n // CSS3D 信息面板默认不随距离缩放,保持屏幕像素尺寸稳定\n this._autoScale = false\n this.add(group)\n this.addEventListeners()\n }\n\n /** 布局计算 */\n private calculateLayout() {\n const titleSize = this._titleMesh ? this.getBoxSize(this._titleMesh) : { height: 0 }\n const linkSize = this._linkMesh ? this.getBoxSize(this._linkMesh) : { height: 0 }\n\n // 计算基础 Y 轴偏移\n let baseY = -titleSize.height / 2\n const linkHeight = linkSize.height\n const linkVSpace = this._linkMesh?.vspace?.[0] || 0\n\n baseY -= linkVSpace\n this._linkMesh?.position.setY(baseY - linkHeight / 2)\n this._particleMesh?.position.setY(baseY - linkHeight)\n }\n\n private getBoxSize(mesh) {\n // mesh.updateWorldMatrix(true, true)\n const { max, min } = new Box3().setFromObject(mesh)\n return { width: max.x - min.x, height: max.y - min.y }\n }\n\n private setupBoundingBox(mesh: Object3D) {\n // 计算Group的边界盒\n const box = new Box3().setFromObject(mesh)\n const size = new Vector3()\n const center = new Vector3()\n box.getSize(size)\n box.getCenter(center)\n\n // 计算底部中心位置\n const bottomCenter = new Vector3(center.x, box.min.y, center.z)\n // 平移所有Mesh,使底部中心对齐到控制点\n mesh.children.forEach((mesh) => {\n mesh.position.sub(bottomCenter)\n })\n }\n\n private updateViewDirection() {\n const { camera } = use.useScene()\n // camera && this._mesh.quaternion.copy(camera.quaternion)\n // this._mesh.rotation.y = camera.rotation.y\n\n lookAtOnYAxis(this._mesh.parent, camera.position)\n }\n\n /// <summary>\n /// 按照距离缩放,距离越远,缩放越大\n /// </summary>\n private updateScale() {\n const { camera } = use.useScene()\n // Make the signboard face the camera\n // this._mesh.lookAt(camera.position);\n // 计算相机和物体之间的距离\n const distance = camera?.position.distanceTo(this._mesh.parent.position)\n if (distance >= MAX_DISTANCE)\n return\n\n const scale = distance / 20 || 1\n this._mesh.scale.set(scale, scale, scale)\n }\n\n private addEventListeners() {\n const updateTransform = () => {\n const { camera } = use.useScene()\n // 普通 POI:依旧使用面向相机和距离缩放\n this._facingCamera !== false && this.updateViewDirection()\n this._autoScale === true && this.updateScale()\n // CSS3D 面板:使用动态像素→米缩放,并处理面板面向相机\n if (this._panel && camera) {\n this._panel.updateFacing(camera)\n this._panel.updateDynamicScale(camera)\n }\n }\n\n // const scene = use.useScene()\n // const callback = () => updateTransform()\n // updateTransform()\n // scene.orbitControls?.addEventListener('change', callback)\n // this._disposeCallbacks.push(() => {\n // scene.orbitControls?.removeEventListener('change', callback)\n // })\n\n // 每帧跟随更新,确保场景缩放/组变换也能驱动面板更新\n const cancelFrame = use.useframe(() => {\n updateTransform()\n })\n this._disposeCallbacks.push(() => cancelFrame())\n }\n}\n\nexport { Poi }\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anov/3d-ability",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.162",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "MIT",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"package.json"
|
|
17
17
|
],
|
|
18
18
|
"peerDependencies": {
|
|
19
|
-
"@anov/3d-core": "^0.0.
|
|
19
|
+
"@anov/3d-core": "^0.0.99"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@rengr/heatmap.js": "^2.0.10",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"@types/lodash": "^4.14.196",
|
|
37
37
|
"@types/suncalc": "^1.9.2",
|
|
38
38
|
"@types/supercluster": "^7.1.3",
|
|
39
|
-
"@anov/3d-core": "^0.0.
|
|
39
|
+
"@anov/3d-core": "^0.0.99"
|
|
40
40
|
},
|
|
41
41
|
"scripts": {
|
|
42
42
|
"build": "father build",
|