@anov/3d-ability 0.0.142 → 0.0.143
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/business/Animation/motion/index.js +56 -35
- package/dist/business/Animation/motion/index.js.map +1 -1
- package/dist/business/Animation/type.js +2 -2
- package/dist/business/Area/Fence/FenceBase.js +187 -146
- package/dist/business/Area/Fence/FenceBase.js.map +1 -1
- package/dist/business/Area/Fence/fence_base_01.js +112 -120
- package/dist/business/Area/Fence/fence_base_01.js.map +1 -1
- package/dist/business/Area/Fence/fence_feeting_01.js +130 -218
- package/dist/business/Area/Fence/fence_feeting_01.js.map +1 -1
- package/dist/business/Area/Fence/fence_roll_01.js +130 -140
- package/dist/business/Area/Fence/fence_roll_01.js.map +1 -1
- package/dist/business/Area/FillArea/FillAreaBase.js +126 -87
- package/dist/business/Area/FillArea/FillAreaBase.js.map +1 -1
- package/dist/business/Area/FillArea/fillArea_face_01.js +98 -72
- package/dist/business/Area/FillArea/fillArea_face_01.js.map +1 -1
- package/dist/business/Area/FillArea/fillArea_line_01.js +94 -66
- package/dist/business/Area/FillArea/fillArea_line_01.js.map +1 -1
- package/dist/business/Area/index.js +483 -267
- package/dist/business/Area/index.js.map +1 -1
- package/dist/business/Area/tool.js +26 -14
- package/dist/business/Area/tool.js.map +1 -1
- package/dist/business/Base/ObjectLayer.js +46 -21
- package/dist/business/Base/ObjectLayer.js.map +1 -1
- package/dist/business/Batch/index.js +234 -189
- package/dist/business/Batch/index.js.map +1 -1
- package/dist/business/Box/index.js +81 -52
- package/dist/business/Box/index.js.map +1 -1
- package/dist/business/Cylinder/index.js +79 -51
- package/dist/business/Cylinder/index.js.map +1 -1
- package/dist/business/Flyline/bubble/CircleBubble.js +9 -1
- package/dist/business/Flyline/bubble/CircleBubble.js.map +1 -1
- package/dist/business/Flyline/bubble/index.js +21 -7
- package/dist/business/Flyline/bubble/index.js.map +1 -1
- package/dist/business/Flyline/index.js +162 -96
- package/dist/business/Flyline/index.js.map +1 -1
- package/dist/business/Flyline/line/ArcLine.js +291 -208
- package/dist/business/Flyline/line/ArcLine.js.map +1 -1
- package/dist/business/Flyline/line/index.js +22 -8
- package/dist/business/Flyline/line/index.js.map +1 -1
- package/dist/business/HeatMap/HeatMap.js +467 -380
- package/dist/business/HeatMap/HeatMap.js.map +1 -1
- package/dist/business/HeatMap/core.js +525 -405
- package/dist/business/HeatMap/core.js.map +1 -1
- package/dist/business/HeatMap/shader.js +3 -69
- package/dist/business/HeatMap/shader.js.map +1 -1
- package/dist/business/InfoPanel/index.js +242 -201
- package/dist/business/InfoPanel/index.js.map +1 -1
- package/dist/business/Line/index.js +88 -55
- package/dist/business/Line/index.js.map +1 -1
- package/dist/business/Mark/KeyframeAnimation.js +176 -145
- package/dist/business/Mark/KeyframeAnimation.js.map +1 -1
- package/dist/business/Mark/index.js +294 -196
- package/dist/business/Mark/index.js.map +1 -1
- package/dist/business/Mark/shader/tanhao.js +3 -36
- package/dist/business/Mark/shader/tanhao.js.map +1 -1
- package/dist/business/Mark/type.js +1 -1
- package/dist/business/MaterialSwitch/MaterialSwitchSystem.js +551 -377
- package/dist/business/MaterialSwitch/MaterialSwitchSystem.js.map +1 -1
- package/dist/business/MaterialSwitch/inject.js +58 -92
- package/dist/business/MaterialSwitch/inject.js.map +1 -1
- package/dist/business/MaterialSwitch/shader/finalFade.js +2 -74
- package/dist/business/MaterialSwitch/shader/finalFade.js.map +1 -1
- package/dist/business/MaterialSwitch/shader/ground.js +16 -95
- package/dist/business/MaterialSwitch/shader/ground.js.map +1 -1
- package/dist/business/MaterialSwitch/shader/groundBase64.js +3 -9
- package/dist/business/MaterialSwitch/shader/groundBase64.js.map +1 -1
- package/dist/business/MaterialSwitch/shader/realFade.js +9 -48
- package/dist/business/MaterialSwitch/shader/realFade.js.map +1 -1
- package/dist/business/Plane/index.js +78 -51
- package/dist/business/Plane/index.js.map +1 -1
- package/dist/business/Poi/index.js +336 -248
- package/dist/business/Poi/index.js.map +1 -1
- package/dist/business/Poi/link/Cylinder.js +89 -56
- package/dist/business/Poi/link/Cylinder.js.map +1 -1
- package/dist/business/Poi/link/Pyramid.js +165 -104
- package/dist/business/Poi/link/Pyramid.js.map +1 -1
- package/dist/business/Poi/link/index.js +114 -54
- package/dist/business/Poi/link/index.js.map +1 -1
- package/dist/business/Poi/panel/index.js +373 -315
- package/dist/business/Poi/panel/index.js.map +1 -1
- package/dist/business/Poi/panel/utils.js +10 -5
- package/dist/business/Poi/panel/utils.js.map +1 -1
- package/dist/business/Poi/particle/DoubleCircle.js +107 -71
- package/dist/business/Poi/particle/DoubleCircle.js.map +1 -1
- package/dist/business/Poi/particle/DynamicCircle.js +111 -75
- package/dist/business/Poi/particle/DynamicCircle.js.map +1 -1
- package/dist/business/Poi/particle/SingleCircle.js +98 -62
- package/dist/business/Poi/particle/SingleCircle.js.map +1 -1
- package/dist/business/Poi/particle/index.js +117 -49
- package/dist/business/Poi/particle/index.js.map +1 -1
- package/dist/business/Poi/shader/circle.js +3 -31
- package/dist/business/Poi/shader/circle.js.map +1 -1
- package/dist/business/Poi/shader/cylinder.js +3 -37
- package/dist/business/Poi/shader/cylinder.js.map +1 -1
- package/dist/business/Poi/shader/doubleCircle.js +3 -55
- package/dist/business/Poi/shader/doubleCircle.js.map +1 -1
- package/dist/business/Poi/shader/dynamicCircle.js +3 -67
- package/dist/business/Poi/shader/dynamicCircle.js.map +1 -1
- package/dist/business/Poi/title/Border.js +27 -7
- package/dist/business/Poi/title/Border.js.map +1 -1
- package/dist/business/Poi/title/Ellipse.js +27 -7
- package/dist/business/Poi/title/Ellipse.js.map +1 -1
- package/dist/business/Poi/title/index.js +292 -208
- package/dist/business/Poi/title/index.js.map +1 -1
- package/dist/business/Poi/tools.js +17 -18
- package/dist/business/Poi/tools.js.map +1 -1
- package/dist/business/Sphere/index.js +72 -47
- package/dist/business/Sphere/index.js.map +1 -1
- package/dist/business/Spline/index.js +245 -190
- package/dist/business/Spline/index.js.map +1 -1
- package/dist/business/SplitBuilding/index.js +536 -327
- package/dist/business/SplitBuilding/index.js.map +1 -1
- package/dist/business/SplitBuilding/type.js +2 -2
- package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js +275 -218
- package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js.map +1 -1
- package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js +177 -132
- package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js.map +1 -1
- package/dist/business/TrafficComponents/StreamerTraffic/fragmentShader.js +1 -51
- package/dist/business/TrafficComponents/StreamerTraffic/fragmentShader.js.map +1 -1
- package/dist/business/TrafficComponents/StreamerTraffic/vertexShader.js +1 -6
- package/dist/business/TrafficComponents/StreamerTraffic/vertexShader.js.map +1 -1
- package/dist/business/TrafficComponents/base.js +55 -32
- package/dist/business/TrafficComponents/base.js.map +1 -1
- package/dist/business/TrafficComponents/utils.js +24 -25
- package/dist/business/TrafficComponents/utils.js.map +1 -1
- package/dist/business/Utils/Curve.js +56 -40
- package/dist/business/Utils/Curve.js.map +1 -1
- package/dist/business/Utils/constant.js +1 -1
- package/dist/business/Utils/constant.js.map +1 -1
- package/dist/business/Utils/defineProps.js +14 -13
- package/dist/business/Utils/defineProps.js.map +1 -1
- package/dist/business/Utils/round-curve.js +153 -127
- package/dist/business/Utils/round-curve.js.map +1 -1
- package/dist/business/VideoPanel/index.js +319 -258
- package/dist/business/VideoPanel/index.js.map +1 -1
- package/dist/business/Water/index.js +108 -78
- package/dist/business/Water/index.js.map +1 -1
- package/dist/business/Water/types.js +1 -1
- package/dist/business/Water/types.js.map +1 -1
- package/dist/core/Camera/PerspectiveCamera/CameraExpand.js +449 -383
- package/dist/core/Camera/PerspectiveCamera/CameraExpand.js.map +1 -1
- package/dist/core/Camera/PerspectiveCamera/FollowOrbitControls.js +142 -107
- package/dist/core/Camera/PerspectiveCamera/FollowOrbitControls.js.map +1 -1
- package/dist/core/Controls/FirstViewControl/index.js +96 -84
- package/dist/core/Controls/FirstViewControl/index.js.map +1 -1
- package/dist/core/Controls/ThirdViewControl/action/input.js +98 -77
- package/dist/core/Controls/ThirdViewControl/action/input.js.map +1 -1
- package/dist/core/Controls/ThirdViewControl/config/constants.js +1 -1
- package/dist/core/Controls/ThirdViewControl/config/constants.js.map +1 -1
- package/dist/core/Controls/ThirdViewControl/index.js +28 -19
- package/dist/core/Controls/ThirdViewControl/index.js.map +1 -1
- package/dist/core/Controls/ThirdViewControl/player/animation.js +155 -126
- package/dist/core/Controls/ThirdViewControl/player/animation.js.map +1 -1
- package/dist/core/Controls/ThirdViewControl/player/camera.js +63 -47
- package/dist/core/Controls/ThirdViewControl/player/camera.js.map +1 -1
- package/dist/core/Controls/ThirdViewControl/player/control.js +49 -39
- package/dist/core/Controls/ThirdViewControl/player/control.js.map +1 -1
- package/dist/core/Controls/ThirdViewControl/player.js +91 -66
- package/dist/core/Controls/ThirdViewControl/player.js.map +1 -1
- package/dist/core/Controls/base.js +30 -14
- package/dist/core/Controls/base.js.map +1 -1
- package/dist/core/Curve/RoundedCornersCurve/RoundedCornersCurve.js +131 -92
- package/dist/core/Curve/RoundedCornersCurve/RoundedCornersCurve.js.map +1 -1
- package/dist/core/Debug/PerformanceInfo/Performance.js +47 -22
- package/dist/core/Debug/PerformanceInfo/Performance.js.map +1 -1
- package/dist/core/Light/PointLight/PointLightExt.js +21 -4
- package/dist/core/Light/PointLight/PointLightExt.js.map +1 -1
- package/dist/core/Material/FinirMaterial/FinirMaterial.js +57 -37
- package/dist/core/Material/FinirMaterial/FinirMaterial.js.map +1 -1
- package/dist/core/Material/PristineGridMaterial/PristineGridMaterial.js +153 -116
- package/dist/core/Material/PristineGridMaterial/PristineGridMaterial.js.map +1 -1
- package/dist/core/Material/PristineGridMaterial/shader/fragment.js +1 -95
- package/dist/core/Material/PristineGridMaterial/shader/fragment.js.map +1 -1
- package/dist/core/Material/PristineGridMaterial/shader/vertex.js +1 -26
- package/dist/core/Material/PristineGridMaterial/shader/vertex.js.map +1 -1
- package/dist/core/Material/SurfaceMaterial/index.js +172 -76
- package/dist/core/Material/SurfaceMaterial/index.js.map +1 -1
- package/dist/core/Material/decorators.js +11 -6
- package/dist/core/Material/decorators.js.map +1 -1
- package/dist/core/PostEffects/addACESFilmicToneMappingPass.js +12 -16
- package/dist/core/PostEffects/addACESFilmicToneMappingPass.js.map +1 -1
- package/dist/core/PostEffects/addBrightnessContrastPass.js +13 -17
- package/dist/core/PostEffects/addBrightnessContrastPass.js.map +1 -1
- package/dist/core/PostEffects/bloomPass.js +10 -17
- package/dist/core/PostEffects/bloomPass.js.map +1 -1
- package/dist/core/PostEffects/bloomSelect.js +43 -60
- package/dist/core/PostEffects/bloomSelect.js.map +1 -1
- package/dist/core/PostEffects/colorifyPass.js +13 -17
- package/dist/core/PostEffects/colorifyPass.js.map +1 -1
- package/dist/core/PostEffects/index.js +22 -28
- package/dist/core/PostEffects/index.js.map +1 -1
- package/dist/core/PostEffects/outlinePass.js +50 -37
- package/dist/core/PostEffects/outlinePass.js.map +1 -1
- package/dist/core/PostEffects/postprocessing.js +12 -14
- package/dist/core/PostEffects/postprocessing.js.map +1 -1
- package/dist/core/PostEffects/saoPass.js +10 -15
- package/dist/core/PostEffects/saoPass.js.map +1 -1
- package/dist/core/PostEffects/shader/colorify.js +3 -22
- package/dist/core/PostEffects/shader/colorify.js.map +1 -1
- package/dist/core/PostEffects/shader/gammaCorrectionShader.js +3 -27
- package/dist/core/PostEffects/shader/gammaCorrectionShader.js.map +1 -1
- package/dist/core/PostEffects/shader/mapping.js +3 -66
- package/dist/core/PostEffects/shader/mapping.js.map +1 -1
- package/dist/core/PostEffects/shader/thermalMaging.js +3 -28
- package/dist/core/PostEffects/shader/thermalMaging.js.map +1 -1
- package/dist/core/SceneEffect/grow/grow.js +101 -85
- package/dist/core/SceneEffect/grow/grow.js.map +1 -1
- package/dist/core/SceneEffect/grow/style_down.js +77 -60
- package/dist/core/SceneEffect/grow/style_down.js.map +1 -1
- package/dist/core/SceneEffect/grow/style_up.js +81 -64
- package/dist/core/SceneEffect/grow/style_up.js.map +1 -1
- package/dist/core/SceneEffect/grow/type.js +2 -2
- package/dist/core/SceneEffect/grow/type.js.map +1 -1
- package/dist/core/WeatherSystem/DynamicWeatherSystem.js +76 -51
- package/dist/core/WeatherSystem/DynamicWeatherSystem.js.map +1 -1
- package/dist/core/WeatherSystem/hdr/index.js +105 -69
- package/dist/core/WeatherSystem/hdr/index.js.map +1 -1
- package/dist/core/WeatherSystem/index.js +124 -77
- package/dist/core/WeatherSystem/index.js.map +1 -1
- package/dist/core/WeatherSystem/objects/fog/index.js +80 -52
- package/dist/core/WeatherSystem/objects/fog/index.js.map +1 -1
- package/dist/core/WeatherSystem/objects/rain/index.js +84 -72
- package/dist/core/WeatherSystem/objects/rain/index.js.map +1 -1
- package/dist/core/WeatherSystem/objects/rain/lineRain.js +118 -88
- package/dist/core/WeatherSystem/objects/rain/lineRain.js.map +1 -1
- package/dist/core/WeatherSystem/objects/rain/plane.js +146 -116
- package/dist/core/WeatherSystem/objects/rain/plane.js.map +1 -1
- package/dist/core/WeatherSystem/objects/rain/point.js +148 -100
- package/dist/core/WeatherSystem/objects/rain/point.js.map +1 -1
- package/dist/core/WeatherSystem/objects/sky/cloud.js +104 -71
- package/dist/core/WeatherSystem/objects/sky/cloud.js.map +1 -1
- package/dist/core/WeatherSystem/objects/sky/index.js +84 -66
- package/dist/core/WeatherSystem/objects/sky/index.js.map +1 -1
- package/dist/core/WeatherSystem/objects/sky/outline.js +45 -25
- package/dist/core/WeatherSystem/objects/sky/outline.js.map +1 -1
- package/dist/core/WeatherSystem/shaders/cloud.js +3 -74
- package/dist/core/WeatherSystem/shaders/cloud.js.map +1 -1
- package/dist/core/WeatherSystem/shaders/fog.js +3 -103
- package/dist/core/WeatherSystem/shaders/fog.js.map +1 -1
- package/dist/core/WeatherSystem/shaders/rain.js +7 -206
- package/dist/core/WeatherSystem/shaders/rain.js.map +1 -1
- package/dist/core/WeatherSystem/shaders/sky.js +3 -87
- package/dist/core/WeatherSystem/shaders/sky.js.map +1 -1
- package/dist/core/WeatherSystem/sky/index.js +135 -104
- package/dist/core/WeatherSystem/sky/index.js.map +1 -1
- package/dist/core/WeatherSystem/utils/constant.js +38 -44
- package/dist/core/WeatherSystem/utils/constant.js.map +1 -1
- package/dist/core/WeatherSystem/utils/math.js +25 -18
- package/dist/core/WeatherSystem/utils/math.js.map +1 -1
- package/dist/core/WeatherSystem/utils/type.js +1 -1
- package/dist/core/WeatherSystem/utils/type.js.map +1 -1
- package/dist/core/WeatherSystem/weather/index.js +141 -96
- package/dist/core/WeatherSystem/weather/index.js.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Box3","Color","Group","LoaderModule","MeshBasicMaterial","ShaderMaterial","_","StrategyManage","BubbleStrategy","ObjectLayer","SOURCE_BASE_PATH","ELevel","EMarkAnimationType","KeyframeAnimation","TanhaoShader","DEFAULT_OPTION","uri","level","animation","type","Bounce","duration","enable","bubble","visible","radius","color","COLORS","MODEL_URI","load","Mark","ready","_readyPromise","_uri","value","_animation","_level","Math","max","min","setMeshLevel","getColor","_bubble","constructor","option","_defineProperty","param","mergeWith","cloneDeep","arrayMergeCustomizer","Low","init","_this","_asyncToGenerator","group","_markMesh","loadModel","add","BubbleClass","dynamicCircle","_bubbleMesh","_objectSpread","_mesh","setModelPosition","_animationController","createProxy","key","height","getBoxSize","position","setY","Promise","resolve","reject","loadGLTF","url","autoBackward","isCache","draco","onLoad","gltf","scene","onError","vertexShader","fragmentShader","panelMaterial","uniforms","transparent","side","depthTest","depthWrite","borderMaterial","traverse","object","mesh","name","material","update","delta","_this2","_this2$_animationCont","play","_this3","stop","_this4","setFromObject","width","x","y","dispose","destroy"],"sources":["../../../src/business/Mark/index.ts"],"sourcesContent":["import type { Mesh } from '@anov/3d-core'\nimport { Box3, Color, Group, LoaderModule, MeshBasicMaterial, ShaderMaterial, utils } from '@anov/3d-core'\nimport _ from 'lodash'\nimport { StrategyManage as BubbleStrategy } from '../Poi/particle/index'\nimport ObjectLayer from '../Base/ObjectLayer'\nimport type DynamicCircleMesh from '../Poi/particle/DynamicCircle'\nimport { SOURCE_BASE_PATH } from '../Utils/constant'\nimport type { Option } from './type'\nimport { ELevel } from './type'\nimport type { AnimationOption } from './KeyframeAnimation'\nimport { EMarkAnimationType, KeyframeAnimation } from './KeyframeAnimation'\nimport TanhaoShader from './shader/tanhao'\n\nconst DEFAULT_OPTION = {\n uri: '', // 统一资源标识符,既可以是code也是可以资源路径\n level: 0,\n animation: {\n type: [EMarkAnimationType.Bounce], // 动画类型:\"pulse\"(脉冲)、\"flash\"(闪烁)、\"bounce\"(弹跳),默认\"pulse\"\n duration: 1,\n enable: true,\n },\n bubble: {\n uri: '',\n visible: true,\n radius: 0.5,\n color: '',\n },\n}\n\nconst COLORS = ['#538FFF', '#FFA753', '#FF6353']\nconst MODEL_URI = `${SOURCE_BASE_PATH}/models/mark.glb`\nconst load = new LoaderModule()\n\nclass Mark extends ObjectLayer {\n private _uri: string\n private _level: ELevel\n private _animation: Option['animation']\n private _bubble: Option['bubble']\n\n private _readyPromise: Promise<boolean>\n private _mesh: Group\n private _markMesh: Group\n private _bubbleMesh: DynamicCircleMesh\n // 动画相关参数\n private _animationController: KeyframeAnimation\n\n public get ready() {\n return this._readyPromise\n }\n\n public get uri(): string {\n return this._uri\n }\n\n public set uri(value: string) {\n this._uri = value\n }\n\n public get animation(): AnimationOption {\n return this._animation\n }\n\n public get level(): ELevel {\n return this._level\n }\n\n public set level(value: ELevel) {\n if (this._level === value)\n return\n this._level = Math.max(0, Math.min(value, 3))\n this.setMeshLevel()\n this.bubble.color = this.getColor()\n }\n\n public get bubble(): Option['bubble'] {\n return this._bubble\n }\n\n public set bubble(value: Option['bubble']) {\n this._bubble = value\n }\n\n constructor(option: Option) {\n super()\n\n const param = _.mergeWith(_.cloneDeep(DEFAULT_OPTION), option, this.arrayMergeCustomizer)\n const { uri, animation, level = ELevel.Low, bubble } = param\n this._uri = uri\n this._animation = animation\n this._level = Math.max(0, Math.min(level, 3))\n this._bubble = bubble\n if (!bubble.color)\n this._bubble.color = this.getColor()\n\n this._readyPromise = this.init()\n }\n\n // 动画设置\n private async init() {\n const group = new Group()\n this._markMesh = await this.loadModel(MODEL_URI) as Group\n group.add(this._markMesh)\n\n // 气泡\n const BubbleClass = await BubbleStrategy.dynamicCircle()\n this._bubbleMesh = new BubbleClass({ radius: 0.5, ...this.bubble })\n group.add(this._bubbleMesh)\n\n this._mesh = group\n this.add(this._mesh)\n\n this.setMeshLevel()\n this.setModelPosition()\n\n this._animationController = new KeyframeAnimation(this._markMesh, this._animation)\n\n this._bubble = this.createProxy(this._bubble, this._bubbleMesh)\n this._animation = this.createProxy(this._animation, null, (key, value) => {\n this._animationController[key] = value\n })\n return true\n }\n\n private setModelPosition() {\n if (this.bubble.visible !== false) {\n const { height } = this.getBoxSize(this._markMesh)\n this._markMesh.position.setY(height * 0.5)\n }\n else { this._markMesh.position.setY(0) }\n }\n\n private loadModel(uri: string) {\n return new Promise((resolve, reject) => {\n load.loadGLTF({\n url: uri,\n autoBackward: false,\n isCache: true,\n draco: true,\n onLoad: (gltf) => {\n resolve(gltf.scene)\n },\n onError: () => {\n // eslint-disable-next-line prefer-promise-reject-errors\n reject(null)\n },\n })\n })\n }\n\n private setMeshLevel() {\n const { vertexShader, fragmentShader } = TanhaoShader\n const panelMaterial = new ShaderMaterial({\n uniforms: {\n color: { value: new Color(this.getColor()) },\n },\n vertexShader,\n fragmentShader,\n transparent: true,\n // 设置材质双面渲染,确保从正反两面都能正确显示\n side: 2,\n // 关闭深度测试\n depthTest: true,\n depthWrite: false,\n\n })\n const borderMaterial = new MeshBasicMaterial({ color: this.getColor() })\n\n this._markMesh.traverse((object) => {\n if (object.type === 'Mesh') {\n const mesh = object as Mesh\n if (mesh.name === 'Mesh') // TODO:等确定命名规范\n mesh.material = borderMaterial\n if (mesh.name === 'Mesh_1')\n mesh.material = panelMaterial\n // // 处理材质数组\n // if (Array.isArray(mesh.material)) {\n // // 如果是多材质对象\n // (mesh.material as Material[]).forEach((material) => {\n // (material as MeshBasicMaterial).color.set(this.getColor())\n // })\n // }\n // else {\n // // 单一材质\n // (mesh.material as MeshBasicMaterial).color.set(this.getColor())\n // }\n }\n })\n }\n\n private getColor() {\n return COLORS[this.level]\n }\n\n // 更新动画混合器\n public async update(delta: number) {\n await this.ready\n this._animationController?.update(delta)\n }\n\n // 播放动画\n public async play(type?: EMarkAnimationType) {\n await this.ready\n this._animationController.play(type)\n }\n\n // 播放动画\n public async stop(type?: EMarkAnimationType) {\n await this.ready\n this._animationController.stop(type)\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 // 销毁资源\n public dispose() {\n if (this._animationController) {\n this._animationController.destroy()\n this._animationController = null\n }\n }\n}\n\nexport { Mark, EMarkAnimationType }\n"],"mappings":";;;;;;;AACA,SAASA,IAAI,EAAEC,KAAK,EAAEC,KAAK,EAAEC,YAAY,EAAEC,iBAAiB,EAAEC,cAAc,QAAe,eAAe;AAC1G,OAAOC,CAAC,MAAM,QAAQ;AACtB,SAASC,cAAc,IAAIC,cAAc;AACzC,OAAOC,WAAW;AAElB,SAASC,gBAAgB;AAEzB,SAASC,MAAM;AAEf,SAASC,kBAAkB,EAAEC,iBAAiB;AAC9C,OAAOC,YAAY;AAEnB,MAAMC,cAAc,GAAG;EACrBC,GAAG,EAAE,EAAE;EAAE;EACTC,KAAK,EAAE,CAAC;EACRC,SAAS,EAAE;IACTC,IAAI,EAAE,CAACP,kBAAkB,CAACQ,MAAM,CAAC;IAAE;IACnCC,QAAQ,EAAE,CAAC;IACXC,MAAM,EAAE;EACV,CAAC;EACDC,MAAM,EAAE;IACNP,GAAG,EAAE,EAAE;IACPQ,OAAO,EAAE,IAAI;IACbC,MAAM,EAAE,GAAG;IACXC,KAAK,EAAE;EACT;AACF,CAAC;AAED,MAAMC,MAAM,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAChD,MAAMC,SAAS,GAAI,GAAElB,gBAAiB,kBAAiB;AACvD,MAAMmB,IAAI,GAAG,IAAI1B,YAAY,CAAC,CAAC;AAE/B,MAAM2B,IAAI,SAASrB,WAAW,CAAC;EAa7B,IAAWsB,KAAKA,CAAA,EAAG;IACjB,OAAO,IAAI,CAACC,aAAa;EAC3B;EAEA,IAAWhB,GAAGA,CAAA,EAAW;IACvB,OAAO,IAAI,CAACiB,IAAI;EAClB;EAEA,IAAWjB,GAAGA,CAACkB,KAAa,EAAE;IAC5B,IAAI,CAACD,IAAI,GAAGC,KAAK;EACnB;EAEA,IAAWhB,SAASA,CAAA,EAAoB;IACtC,OAAO,IAAI,CAACiB,UAAU;EACxB;EAEA,IAAWlB,KAAKA,CAAA,EAAW;IACzB,OAAO,IAAI,CAACmB,MAAM;EACpB;EAEA,IAAWnB,KAAKA,CAACiB,KAAa,EAAE;IAC9B,IAAI,IAAI,CAACE,MAAM,KAAKF,KAAK,EACvB;IACF,IAAI,CAACE,MAAM,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAACL,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7C,IAAI,CAACM,YAAY,CAAC,CAAC;IACnB,IAAI,CAACjB,MAAM,CAACG,KAAK,GAAG,IAAI,CAACe,QAAQ,CAAC,CAAC;EACrC;EAEA,IAAWlB,MAAMA,CAAA,EAAqB;IACpC,OAAO,IAAI,CAACmB,OAAO;EACrB;EAEA,IAAWnB,MAAMA,CAACW,KAAuB,EAAE;IACzC,IAAI,CAACQ,OAAO,GAAGR,KAAK;EACtB;EAEAS,WAAWA,CAACC,MAAc,EAAE;IAC1B,KAAK,CAAC,CAAC;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAxCT;IAAAA,eAAA;IA0CE,MAAMC,KAAK,GAAGxC,CAAC,CAACyC,SAAS,CAACzC,CAAC,CAAC0C,SAAS,CAACjC,cAAc,CAAC,EAAE6B,MAAM,EAAE,IAAI,CAACK,oBAAoB,CAAC;IACzF,MAAM;MAAEjC,GAAG;MAAEE,SAAS;MAAED,KAAK,GAAGN,MAAM,CAACuC,GAAG;MAAE3B;IAAO,CAAC,GAAGuB,KAAK;IAC5D,IAAI,CAACb,IAAI,GAAGjB,GAAG;IACf,IAAI,CAACmB,UAAU,GAAGjB,SAAS;IAC3B,IAAI,CAACkB,MAAM,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAACtB,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7C,IAAI,CAACyB,OAAO,GAAGnB,MAAM;IACrB,IAAI,CAACA,MAAM,CAACG,KAAK,EACf,IAAI,CAACgB,OAAO,CAAChB,KAAK,GAAG,IAAI,CAACe,QAAQ,CAAC,CAAC;IAEtC,IAAI,CAACT,aAAa,GAAG,IAAI,CAACmB,IAAI,CAAC,CAAC;EAClC;;EAEA;EACcA,IAAIA,CAAA,EAAG;IAAA,IAAAC,KAAA;IAAA,OAAAC,iBAAA;MACnB,MAAMC,KAAK,GAAG,IAAIpD,KAAK,CAAC,CAAC;MACzBkD,KAAI,CAACG,SAAS,SAASH,KAAI,CAACI,SAAS,CAAC5B,SAAS,CAAU;MACzD0B,KAAK,CAACG,GAAG,CAACL,KAAI,CAACG,SAAS,CAAC;;MAEzB;MACA,MAAMG,WAAW,SAASlD,cAAc,CAACmD,aAAa,CAAC,CAAC;MACxDP,KAAI,CAACQ,WAAW,GAAG,IAAIF,WAAW,CAAAG,aAAA;QAAGpC,MAAM,EAAE;MAAG,GAAK2B,KAAI,CAAC7B,MAAM,CAAE,CAAC;MACnE+B,KAAK,CAACG,GAAG,CAACL,KAAI,CAACQ,WAAW,CAAC;MAE3BR,KAAI,CAACU,KAAK,GAAGR,KAAK;MAClBF,KAAI,CAACK,GAAG,CAACL,KAAI,CAACU,KAAK,CAAC;MAEpBV,KAAI,CAACZ,YAAY,CAAC,CAAC;MACnBY,KAAI,CAACW,gBAAgB,CAAC,CAAC;MAEvBX,KAAI,CAACY,oBAAoB,GAAG,IAAInD,iBAAiB,CAACuC,KAAI,CAACG,SAAS,EAAEH,KAAI,CAACjB,UAAU,CAAC;MAElFiB,KAAI,CAACV,OAAO,GAAGU,KAAI,CAACa,WAAW,CAACb,KAAI,CAACV,OAAO,EAAEU,KAAI,CAACQ,WAAW,CAAC;MAC/DR,KAAI,CAACjB,UAAU,GAAGiB,KAAI,CAACa,WAAW,CAACb,KAAI,CAACjB,UAAU,EAAE,IAAI,EAAE,CAAC+B,GAAG,EAAEhC,KAAK,KAAK;QACxEkB,KAAI,CAACY,oBAAoB,CAACE,GAAG,CAAC,GAAGhC,KAAK;MACxC,CAAC,CAAC;MACF,OAAO,IAAI;IAAA;EACb;EAEQ6B,gBAAgBA,CAAA,EAAG;IACzB,IAAI,IAAI,CAACxC,MAAM,CAACC,OAAO,KAAK,KAAK,EAAE;MACjC,MAAM;QAAE2C;MAAO,CAAC,GAAG,IAAI,CAACC,UAAU,CAAC,IAAI,CAACb,SAAS,CAAC;MAClD,IAAI,CAACA,SAAS,CAACc,QAAQ,CAACC,IAAI,CAACH,MAAM,GAAG,GAAG,CAAC;IAC5C,CAAC,MACI;MAAE,IAAI,CAACZ,SAAS,CAACc,QAAQ,CAACC,IAAI,CAAC,CAAC,CAAC;IAAC;EACzC;EAEQd,SAASA,CAACxC,GAAW,EAAE;IAC7B,OAAO,IAAIuD,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtC5C,IAAI,CAAC6C,QAAQ,CAAC;QACZC,GAAG,EAAE3D,GAAG;QACR4D,YAAY,EAAE,KAAK;QACnBC,OAAO,EAAE,IAAI;QACbC,KAAK,EAAE,IAAI;QACXC,MAAM,EAAGC,IAAI,IAAK;UAChBR,OAAO,CAACQ,IAAI,CAACC,KAAK,CAAC;QACrB,CAAC;QACDC,OAAO,EAAEA,CAAA,KAAM;UACb;UACAT,MAAM,CAAC,IAAI,CAAC;QACd;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEQjC,YAAYA,CAAA,EAAG;IACrB,MAAM;MAAE2C,YAAY;MAAEC;IAAe,CAAC,GAAGtE,YAAY;IACrD,MAAMuE,aAAa,GAAG,IAAIhF,cAAc,CAAC;MACvCiF,QAAQ,EAAE;QACR5D,KAAK,EAAE;UAAEQ,KAAK,EAAE,IAAIjC,KAAK,CAAC,IAAI,CAACwC,QAAQ,CAAC,CAAC;QAAE;MAC7C,CAAC;MACD0C,YAAY;MACZC,cAAc;MACdG,WAAW,EAAE,IAAI;MACjB;MACAC,IAAI,EAAE,CAAC;MACP;MACAC,SAAS,EAAE,IAAI;MACfC,UAAU,EAAE;IAEd,CAAC,CAAC;IACF,MAAMC,cAAc,GAAG,IAAIvF,iBAAiB,CAAC;MAAEsB,KAAK,EAAE,IAAI,CAACe,QAAQ,CAAC;IAAE,CAAC,CAAC;IAExE,IAAI,CAACc,SAAS,CAACqC,QAAQ,CAAEC,MAAM,IAAK;MAClC,IAAIA,MAAM,CAAC1E,IAAI,KAAK,MAAM,EAAE;QAC1B,MAAM2E,IAAI,GAAGD,MAAc;QAC3B,IAAIC,IAAI,CAACC,IAAI,KAAK,MAAM;UAAE;UACxBD,IAAI,CAACE,QAAQ,GAAGL,cAAc;QAChC,IAAIG,IAAI,CAACC,IAAI,KAAK,QAAQ,EACxBD,IAAI,CAACE,QAAQ,GAAGX,aAAa;QAC/B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;MACF;IACF,CAAC,CAAC;EACJ;EAEQ5C,QAAQA,CAAA,EAAG;IACjB,OAAOd,MAAM,CAAC,IAAI,CAACV,KAAK,CAAC;EAC3B;;EAEA;EACagF,MAAMA,CAACC,KAAa,EAAE;IAAA,IAAAC,MAAA;IAAA,OAAA9C,iBAAA;MAAA,IAAA+C,qBAAA;MACjC,MAAMD,MAAI,CAACpE,KAAK;MAChB,CAAAqE,qBAAA,GAAAD,MAAI,CAACnC,oBAAoB,cAAAoC,qBAAA,eAAzBA,qBAAA,CAA2BH,MAAM,CAACC,KAAK,CAAC;IAAA;EAC1C;;EAEA;EACaG,IAAIA,CAAClF,IAAyB,EAAE;IAAA,IAAAmF,MAAA;IAAA,OAAAjD,iBAAA;MAC3C,MAAMiD,MAAI,CAACvE,KAAK;MAChBuE,MAAI,CAACtC,oBAAoB,CAACqC,IAAI,CAAClF,IAAI,CAAC;IAAA;EACtC;;EAEA;EACaoF,IAAIA,CAACpF,IAAyB,EAAE;IAAA,IAAAqF,MAAA;IAAA,OAAAnD,iBAAA;MAC3C,MAAMmD,MAAI,CAACzE,KAAK;MAChByE,MAAI,CAACxC,oBAAoB,CAACuC,IAAI,CAACpF,IAAI,CAAC;IAAA;EACtC;EAEQiD,UAAUA,CAAC0B,IAAI,EAAE;IACvB;IACA,MAAM;MAAExD,GAAG;MAAEC;IAAI,CAAC,GAAG,IAAIvC,IAAI,CAAC,CAAC,CAACyG,aAAa,CAACX,IAAI,CAAC;IACnD,OAAO;MAAEY,KAAK,EAAEpE,GAAG,CAACqE,CAAC,GAAGpE,GAAG,CAACoE,CAAC;MAAExC,MAAM,EAAE7B,GAAG,CAACsE,CAAC,GAAGrE,GAAG,CAACqE;IAAE,CAAC;EACxD;;EAEA;EACOC,OAAOA,CAAA,EAAG;IACf,IAAI,IAAI,CAAC7C,oBAAoB,EAAE;MAC7B,IAAI,CAACA,oBAAoB,CAAC8C,OAAO,CAAC,CAAC;MACnC,IAAI,CAAC9C,oBAAoB,GAAG,IAAI;IAClC;EACF;AACF;AAEA,SAASlC,IAAI,EAAElB,kBAAkB"}
|
|
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","_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","Color","Group","LoaderModule","MeshBasicMaterial","ShaderMaterial","_","StrategyManage","BubbleStrategy","ObjectLayer","SOURCE_BASE_PATH","ELevel","EMarkAnimationType","KeyframeAnimation","TanhaoShader","DEFAULT_OPTION","uri","level","animation","Bounce","duration","enable","bubble","visible","radius","color","COLORS","MODEL_URI","concat","load","Mark","_ObjectLayer","_super","option","_this","param","mergeWith","cloneDeep","arrayMergeCustomizer","_param$level","Low","_uri","_animation","_level","Math","max","min","_bubble","getColor","_readyPromise","init","get","set","setMeshLevel","_init","_callee","_this2","group","BubbleClass","_callee$","_context","loadModel","_markMesh","add","dynamicCircle","_bubbleMesh","_mesh","setModelPosition","_animationController","createProxy","_this$getBoxSize","getBoxSize","height","position","setY","loadGLTF","url","autoBackward","isCache","draco","onLoad","gltf","scene","onError","vertexShader","fragmentShader","panelMaterial","uniforms","transparent","side","depthTest","depthWrite","borderMaterial","traverse","object","mesh","material","_update","_callee2","delta","_this$_animationContr","_callee2$","_context2","ready","update","_x","_play","_callee3","_callee3$","_context3","play","_x2","_stop","_callee4","_callee4$","_context4","_x3","_Box3$setFromObject","setFromObject","width","x","dispose","destroy"],"sources":["../../../src/business/Mark/index.ts"],"sourcesContent":["import type { Mesh } from '@anov/3d-core'\nimport { Box3, Color, Group, LoaderModule, MeshBasicMaterial, ShaderMaterial, utils } from '@anov/3d-core'\nimport _ from 'lodash'\nimport { StrategyManage as BubbleStrategy } from '../Poi/particle/index'\nimport ObjectLayer from '../Base/ObjectLayer'\nimport type DynamicCircleMesh from '../Poi/particle/DynamicCircle'\nimport { SOURCE_BASE_PATH } from '../Utils/constant'\nimport type { Option } from './type'\nimport { ELevel } from './type'\nimport type { AnimationOption } from './KeyframeAnimation'\nimport { EMarkAnimationType, KeyframeAnimation } from './KeyframeAnimation'\nimport TanhaoShader from './shader/tanhao'\n\nconst DEFAULT_OPTION = {\n uri: '', // 统一资源标识符,既可以是code也是可以资源路径\n level: 0,\n animation: {\n type: [EMarkAnimationType.Bounce], // 动画类型:\"pulse\"(脉冲)、\"flash\"(闪烁)、\"bounce\"(弹跳),默认\"pulse\"\n duration: 1,\n enable: true,\n },\n bubble: {\n uri: '',\n visible: true,\n radius: 0.5,\n color: '',\n },\n}\n\nconst COLORS = ['#538FFF', '#FFA753', '#FF6353']\nconst MODEL_URI = `${SOURCE_BASE_PATH}/models/mark.glb`\nconst load = new LoaderModule()\n\nclass Mark extends ObjectLayer {\n private _uri: string\n private _level: ELevel\n private _animation: Option['animation']\n private _bubble: Option['bubble']\n\n private _readyPromise: Promise<boolean>\n private _mesh: Group\n private _markMesh: Group\n private _bubbleMesh: DynamicCircleMesh\n // 动画相关参数\n private _animationController: KeyframeAnimation\n\n public get ready() {\n return this._readyPromise\n }\n\n public get uri(): string {\n return this._uri\n }\n\n public set uri(value: string) {\n this._uri = value\n }\n\n public get animation(): AnimationOption {\n return this._animation\n }\n\n public get level(): ELevel {\n return this._level\n }\n\n public set level(value: ELevel) {\n if (this._level === value)\n return\n this._level = Math.max(0, Math.min(value, 3))\n this.setMeshLevel()\n this.bubble.color = this.getColor()\n }\n\n public get bubble(): Option['bubble'] {\n return this._bubble\n }\n\n public set bubble(value: Option['bubble']) {\n this._bubble = value\n }\n\n constructor(option: Option) {\n super()\n\n const param = _.mergeWith(_.cloneDeep(DEFAULT_OPTION), option, this.arrayMergeCustomizer)\n const { uri, animation, level = ELevel.Low, bubble } = param\n this._uri = uri\n this._animation = animation\n this._level = Math.max(0, Math.min(level, 3))\n this._bubble = bubble\n if (!bubble.color)\n this._bubble.color = this.getColor()\n\n this._readyPromise = this.init()\n }\n\n // 动画设置\n private async init() {\n const group = new Group()\n this._markMesh = await this.loadModel(MODEL_URI) as Group\n group.add(this._markMesh)\n\n // 气泡\n const BubbleClass = await BubbleStrategy.dynamicCircle()\n this._bubbleMesh = new BubbleClass({ radius: 0.5, ...this.bubble })\n group.add(this._bubbleMesh)\n\n this._mesh = group\n this.add(this._mesh)\n\n this.setMeshLevel()\n this.setModelPosition()\n\n this._animationController = new KeyframeAnimation(this._markMesh, this._animation)\n\n this._bubble = this.createProxy(this._bubble, this._bubbleMesh)\n this._animation = this.createProxy(this._animation, null, (key, value) => {\n this._animationController[key] = value\n })\n return true\n }\n\n private setModelPosition() {\n if (this.bubble.visible !== false) {\n const { height } = this.getBoxSize(this._markMesh)\n this._markMesh.position.setY(height * 0.5)\n }\n else { this._markMesh.position.setY(0) }\n }\n\n private loadModel(uri: string) {\n return new Promise((resolve, reject) => {\n load.loadGLTF({\n url: uri,\n autoBackward: false,\n isCache: true,\n draco: true,\n onLoad: (gltf) => {\n resolve(gltf.scene)\n },\n onError: () => {\n // eslint-disable-next-line prefer-promise-reject-errors\n reject(null)\n },\n })\n })\n }\n\n private setMeshLevel() {\n const { vertexShader, fragmentShader } = TanhaoShader\n const panelMaterial = new ShaderMaterial({\n uniforms: {\n color: { value: new Color(this.getColor()) },\n },\n vertexShader,\n fragmentShader,\n transparent: true,\n // 设置材质双面渲染,确保从正反两面都能正确显示\n side: 2,\n // 关闭深度测试\n depthTest: true,\n depthWrite: false,\n\n })\n const borderMaterial = new MeshBasicMaterial({ color: this.getColor() })\n\n this._markMesh.traverse((object) => {\n if (object.type === 'Mesh') {\n const mesh = object as Mesh\n if (mesh.name === 'Mesh') // TODO:等确定命名规范\n mesh.material = borderMaterial\n if (mesh.name === 'Mesh_1')\n mesh.material = panelMaterial\n // // 处理材质数组\n // if (Array.isArray(mesh.material)) {\n // // 如果是多材质对象\n // (mesh.material as Material[]).forEach((material) => {\n // (material as MeshBasicMaterial).color.set(this.getColor())\n // })\n // }\n // else {\n // // 单一材质\n // (mesh.material as MeshBasicMaterial).color.set(this.getColor())\n // }\n }\n })\n }\n\n private getColor() {\n return COLORS[this.level]\n }\n\n // 更新动画混合器\n public async update(delta: number) {\n await this.ready\n this._animationController?.update(delta)\n }\n\n // 播放动画\n public async play(type?: EMarkAnimationType) {\n await this.ready\n this._animationController.play(type)\n }\n\n // 播放动画\n public async stop(type?: EMarkAnimationType) {\n await this.ready\n this._animationController.stop(type)\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 // 销毁资源\n public dispose() {\n if (this._animationController) {\n this._animationController.destroy()\n this._animationController = null\n }\n }\n}\n\nexport { Mark, EMarkAnimationType }\n"],"mappings":"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"}
|
|
@@ -1,45 +1,12 @@
|
|
|
1
1
|
import { Color } from '@anov/3d-core';
|
|
2
|
-
|
|
2
|
+
var TanhaoShader = {
|
|
3
3
|
uniforms: {
|
|
4
4
|
color: {
|
|
5
5
|
value: new Color(0, 0, 0)
|
|
6
6
|
}
|
|
7
7
|
},
|
|
8
|
-
vertexShader:
|
|
9
|
-
|
|
10
|
-
#include <logdepthbuf_pars_vertex>
|
|
11
|
-
varying vec3 vNormal; // 用于传递法线方向
|
|
12
|
-
varying vec2 vUv;
|
|
13
|
-
varying vec3 vWorldPosition;
|
|
14
|
-
void main() {
|
|
15
|
-
#include <begin_vertex>
|
|
16
|
-
#include <project_vertex>
|
|
17
|
-
#include <logdepthbuf_vertex>
|
|
18
|
-
// gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
19
|
-
vUv = uv;
|
|
20
|
-
vNormal = normalize(mat3(modelMatrix) * normal); // 使用模型矩阵旋转法线
|
|
21
|
-
vec4 modelPosition = modelMatrix * vec4(position, 1.0);
|
|
22
|
-
vWorldPosition = modelPosition.xyz;
|
|
23
|
-
gl_Position = projectionMatrix * viewMatrix * modelPosition;
|
|
24
|
-
}
|
|
25
|
-
`,
|
|
26
|
-
fragmentShader: `
|
|
27
|
-
#include <common>
|
|
28
|
-
#include <logdepthbuf_pars_fragment>
|
|
29
|
-
varying vec3 vNormal; // 用于传递法线方向
|
|
30
|
-
varying vec2 vUv;
|
|
31
|
-
varying vec3 vWorldPosition;
|
|
32
|
-
|
|
33
|
-
uniform vec3 color;
|
|
34
|
-
|
|
35
|
-
void main() {
|
|
36
|
-
#include <logdepthbuf_fragment>
|
|
37
|
-
float height = 50.;
|
|
38
|
-
float button = 0.;
|
|
39
|
-
// vec3 myWp=(vWorldPosition-button)/height;
|
|
40
|
-
gl_FragColor = vec4(color,pow(1.-clamp(1.-vUv.y,0.,1.),2.)) ;
|
|
41
|
-
}
|
|
42
|
-
`
|
|
8
|
+
vertexShader: "\n #include <common>\n #include <logdepthbuf_pars_vertex>\n varying vec3 vNormal; // \u7528\u4E8E\u4F20\u9012\u6CD5\u7EBF\u65B9\u5411\n varying vec2 vUv;\n varying vec3 vWorldPosition;\n void main() {\n #include <begin_vertex>\n #include <project_vertex>\n #include <logdepthbuf_vertex>\n // gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n vUv = uv;\n vNormal = normalize(mat3(modelMatrix) * normal); // \u4F7F\u7528\u6A21\u578B\u77E9\u9635\u65CB\u8F6C\u6CD5\u7EBF\n vec4 modelPosition = modelMatrix * vec4(position, 1.0);\n vWorldPosition = modelPosition.xyz;\n gl_Position = projectionMatrix * viewMatrix * modelPosition; \n }\n ",
|
|
9
|
+
fragmentShader: " \n #include <common>\n #include <logdepthbuf_pars_fragment>\n varying vec3 vNormal; // \u7528\u4E8E\u4F20\u9012\u6CD5\u7EBF\u65B9\u5411\n varying vec2 vUv;\n varying vec3 vWorldPosition;\n \n uniform vec3 color; \n \n void main() {\n #include <logdepthbuf_fragment>\n float height = 50.;\n float button = 0.;\n // vec3 myWp=(vWorldPosition-button)/height; \n gl_FragColor = vec4(color,pow(1.-clamp(1.-vUv.y,0.,1.),2.)) ; \n }\n "
|
|
43
10
|
};
|
|
44
11
|
export default TanhaoShader;
|
|
45
12
|
//# sourceMappingURL=tanhao.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Color","TanhaoShader","uniforms","color","value","vertexShader","fragmentShader"],"sources":["../../../../src/business/Mark/shader/tanhao.ts"],"sourcesContent":["import { Color } from '@anov/3d-core'\n\nconst TanhaoShader = {\n uniforms: { color: { value: new Color(0, 0, 0) } },\n vertexShader: `\n #include <common>\n #include <logdepthbuf_pars_vertex>\n varying vec3 vNormal; // 用于传递法线方向\n varying vec2 vUv;\n varying vec3 vWorldPosition;\n void main() {\n #include <begin_vertex>\n #include <project_vertex>\n #include <logdepthbuf_vertex>\n // gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n vUv = uv;\n vNormal = normalize(mat3(modelMatrix) * normal); // 使用模型矩阵旋转法线\n vec4 modelPosition = modelMatrix * vec4(position, 1.0);\n vWorldPosition = modelPosition.xyz;\n gl_Position = projectionMatrix * viewMatrix * modelPosition; \n }\n `,\n fragmentShader: ` \n #include <common>\n #include <logdepthbuf_pars_fragment>\n varying vec3 vNormal; // 用于传递法线方向\n varying vec2 vUv;\n varying vec3 vWorldPosition;\n \n uniform vec3 color; \n \n void main() {\n #include <logdepthbuf_fragment>\n float height = 50.;\n float button = 0.;\n // vec3 myWp=(vWorldPosition-button)/height; \n gl_FragColor = vec4(color,pow(1.-clamp(1.-vUv.y,0.,1.),2.)) ; \n }\n `,\n}\n\nexport default TanhaoShader"],"mappings":"AAAA,SAASA,KAAK,QAAQ,eAAe;AAErC,
|
|
1
|
+
{"version":3,"names":["Color","TanhaoShader","uniforms","color","value","vertexShader","fragmentShader"],"sources":["../../../../src/business/Mark/shader/tanhao.ts"],"sourcesContent":["import { Color } from '@anov/3d-core'\n\nconst TanhaoShader = {\n uniforms: { color: { value: new Color(0, 0, 0) } },\n vertexShader: `\n #include <common>\n #include <logdepthbuf_pars_vertex>\n varying vec3 vNormal; // 用于传递法线方向\n varying vec2 vUv;\n varying vec3 vWorldPosition;\n void main() {\n #include <begin_vertex>\n #include <project_vertex>\n #include <logdepthbuf_vertex>\n // gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n vUv = uv;\n vNormal = normalize(mat3(modelMatrix) * normal); // 使用模型矩阵旋转法线\n vec4 modelPosition = modelMatrix * vec4(position, 1.0);\n vWorldPosition = modelPosition.xyz;\n gl_Position = projectionMatrix * viewMatrix * modelPosition; \n }\n `,\n fragmentShader: ` \n #include <common>\n #include <logdepthbuf_pars_fragment>\n varying vec3 vNormal; // 用于传递法线方向\n varying vec2 vUv;\n varying vec3 vWorldPosition;\n \n uniform vec3 color; \n \n void main() {\n #include <logdepthbuf_fragment>\n float height = 50.;\n float button = 0.;\n // vec3 myWp=(vWorldPosition-button)/height; \n gl_FragColor = vec4(color,pow(1.-clamp(1.-vUv.y,0.,1.),2.)) ; \n }\n `,\n}\n\nexport default TanhaoShader"],"mappings":"AAAA,SAASA,KAAK,QAAQ,eAAe;AAErC,IAAMC,YAAY,GAAG;EACnBC,QAAQ,EAAE;IAAEC,KAAK,EAAE;MAAEC,KAAK,EAAE,IAAIJ,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAAE;EAAE,CAAC;EAClDK,YAAY,2rBAiBX;EACDC,cAAc;AAiBhB,CAAC;AAED,eAAeL,YAAY"}
|