4.8 KiB
4.8 KiB
12/index.vue 详细注释说明
概述
已为 src/views/three/12/index.vue 文件添加了详细的中文注释,涵盖了所有关键代码部分。
注释内容分类
1. 文件头部注释
- 文件功能描述
- 主要特性列表(8大功能点)
- 作者信息和时间戳
2. 导入和变量声明注释
-
公共 Composables:详细说明每个导入函数的用途
useThreeScene()- 场景基础设置useEnvironment()- 环境相关功能useParticleSystem()- 粒子系统usePostProcessing()- 后期处理useThreeLighting()- 灯光系统
-
状态变量:按功能分类注释
- Three.js 核心对象(场景、相机、渲染器等)
- 粒子系统(蒸汽、火焰)
- 火焰蔓延相关变量
- 设备告警系统
- 物体选择与信息显示
- 射线检测
3. 核心函数注释
init() - 初始化函数
-
分为多个逻辑块,每个块都有标题注释:
- 初始化公共工具函数
- 创建场景
- 创建环境背景
- 创建相机
- 创建渲染器
- 创建控制器
- 设置灯光系统
- 创建地板
- 设置后期处理
- 初始化射线检测
- 加载 3D 模型
- 事件监听
- 启动动画循环
-
每个配置参数都有说明
loadModel() - 模型加载函数
- 遍历模型子对象的处理逻辑
- 特定设备的识别和初始化
- 蒸汽和火焰效果的创建
spreadFire() - 火焰蔓延函数
- 蔓延算法说明
- 距离计算逻辑
- 阈值判断说明
- 中心大火触发条件
removeInitialFire() - 移除初始火焰
- 功能说明和调用时机
createCenterFire() - 创建中心大火
- 多层火焰效果的创建逻辑
- 四周火焰柱的配置
- 参数计算说明
animate() - 动画循环函数
- 各个系统的更新逻辑
- 火焰蔓延时间控制
- 告警闪烁效果计算
- 标签位置更新
updateLabelPosition() - 标签位置更新
- 3D 到 2D 坐标转换
- 屏幕像素坐标计算
onCanvasClick() - 点击事件处理
- 归一化设备坐标转换
- 射线检测逻辑
- 材质信息获取
- 轮廓描边设置
showDeviceDialog() - 显示设备弹窗
- 弹窗内容配置
clearSelection() - 清除选择
- 状态重置
toggleAlert() - 切换告警状态
- 开启告警的视觉效果
- 关闭告警的状态恢复
toggleParticles() - 切换蒸汽效果
- 粒子发射器控制
toggleFlame() - 切换火焰效果
- 火焰系统的完整启停逻辑
- 状态重置和资源清理
closeDialog() - 关闭弹窗
onResize() - 窗口大小变化处理
- 相机和渲染器尺寸更新
生命周期钩子
onMounted- 组件挂载时初始化onUnmounted- 组件卸载时资源清理
4. 模板部分注释
- Three.js 渲染容器:说明用途
- 物体信息标签:
- 显示时机
- 位置动态跟随
- 内容结构(名称、材质、坐标)
- 设备详情弹窗:
- 触发条件
- 告警/正常状态展示
- 关闭逻辑
- 控制面板:
- 场景特性列表
- 设备控制按钮
- 交互说明
- 技术信息
5. 样式部分注释
- 文件级说明:主题色和样式分类
- 物体信息标签:
- 定位和动画
- 内容样式
- 弹窗:
- 遮罩层和主体
- 告警状态特殊样式
- 动画效果
- 控制面板:
- 布局和定位
- 按钮样式和交互效果
- 自定义滚动条
注释特点
- 结构清晰:使用分隔线和标题组织注释
- 说明详细:不仅说明"是什么",还说明"为什么"
- 中文友好:所有注释均使用中文
- 参数说明:配置项都有注释解释
- 逻辑分组:相关代码按功能分组并添加标题注释
涉及的技术点
- Three.js 核心:场景、相机、渲染器、控制器
- 模型加载:GLTFLoader
- 粒子系统:蒸汽效果、火焰效果、火焰蔓延
- 后期处理:轮廓描边(OutlinePass)
- 射线检测:物体点击选择
- 材质系统:发光效果(emissive)
- 动画系统:requestAnimationFrame 循环
- 坐标转换:3D 世界坐标到 2D 屏幕坐标
- Vue 3:Composition API、响应式状态、生命周期钩子
- CSS 动画:淡入、滑入、脉冲动画
使用的公共 Composables
useThreeScene()- 场景、相机、渲染器、控制器的创建useEnvironment()- 天空盒、地板、网格、流动光效useThreeLighting()- 多光源照明系统usePostProcessing()- 后期处理合成器和效果useParticleSystem()- 粒子发射器(蒸汽、火焰)
文件统计
- 总行数:约 1260 行
- 注释覆盖:
- 脚本部分:每个函数和重要代码块都有注释
- 模板部分:每个主要组件都有说明
- 样式部分:添加了分类和关键样式说明