unity火灾搭建模型
1.1 系统设计目标
基于真实阴燃火的物理特性,在 Unity 引擎中构建一套可交互、物理合理、性能可控的火势蔓延仿真系统。核心目标包括:
1.支持用户通过鼠标点击地面生成初始火源,实现直观交互
2.模拟阴燃火的随机扩散规律,包含方向、距离、概率等物理特征;
1.2 核心参数配置与物理依据
为保证仿真数据的物理合理性,系统核心参数均基于阴燃火实测数据校准,具体配置如下:
火苗基础配置:
火苗预制体 firePrefab 承载火焰视觉效果与粒子系统,可自定义火焰形态、颜色、持续时间
地面层 groundLayer 用于射线检测,过滤非地面物体,确保火苗仅生成在地面
蔓延规则配置:
蔓延检测间隔 0.5f 秒 控制火势扩散节奏,平衡真实感与性能开销,间隔越短蔓延越快
火苗蔓延距离 1.5f 匹配阴燃火自然扩散的物理范围,定义单步扩散的最大距离
最大蔓延半径 10f 限制火势整体扩散范围,防止火焰无限蔓延导致场景失控
最大火苗数量 50 性能保护阈值,超过数量后不再生成新火苗,避免大量实例化导致帧率下降
蔓延概率 0.7f 控制蔓延密度,取值 0-1,数值越低蔓延越稀疏,更贴近真实火灾随机性
二、核心脚本 FireSpreadSystem.cs 详细实现
2.1变量定义:

2.2 交互点火逻辑
2.2.1 鼠标点击触发
鼠标左键按下事件,调用 SpawnFireAtClickPosition() 处理点火逻辑。
2.2.2 射线检测与位置生成
1.射线检测原理:将屏幕坐标(鼠标位置)转换为世界空间射线,检测是否与地面碰撞。
2.地面约束:通过 groundLayer 过滤非地面物体,确保火苗不会生成在空中或墙体上。
2.3 火苗生成核心方法 SpawnFire
1.性能保护:通过 maxFireCount 限制场景内火苗总数,防止大量 GameObject 实例化导致卡顿
2.位置去重:遍历已有火苗位置,通过距离判断避免重叠生成,保证火焰分布自然
3.生命周期管理:通过 Destroy(fire, delay) 实现火苗自动消失,无需手动管理

2.4 火势蔓延协程 FireSpreadCoroutine()
1.协程优势:通过 yield return new WaitForSeconds() 实现周期性检测,避免 Update() 每帧执行带来的性能开销;
2.随机蔓延:360° 随机方向结合概率控制,模拟阴燃火的不规则扩散;
3.物理约束:最大半径、地面检测、概率阈值三重限制,保证蔓延符合真实物理规律。
2.5 资源清理与内存管理
1. 内存泄漏防护:手动停止协程,防止脚本销毁后协程仍在后台循环执行,占用内存;
2. 自动清理:火苗对象通过 Destroy() 自动回收,无需额外管理。

3.搭建红外火源模型
3.1.
在软件上方菜单选择:
创建 → 基本对象 → 圆柱体
场景中就会生成一个默认的圆柱模型
3.2
选中场景里的圆柱体,确保它处于激活状态。点击左侧工具栏的缩放工具,或按快捷键 T,视图中会出现红绿蓝三色缩放控制器。拖动绿色箭头(Y轴),将圆柱体向上拉长,让原本矮胖的圆柱变成细长的柱状,比例更接近火源、火焰的基础形态。
3.3
在菜单栏选择:创建 → 变形器 → 锥化,给模型加上锥化效果。把锥化变形器放到圆柱体下方,作为子级作用于模型,让模型上端向内收缩、变尖,控制边缘弯曲程度,让过渡更自然,使模型从笔直的圆柱,变成了底部宽、顶部尖的锥形结构,整体形态已经接近火焰、火源的基本轮廓。
3.4
在菜单选择:创建 → 细分曲面,把之前做好的锥形模型拖到细分曲面下方作为子对象。在右侧属性面板调整细分精度:控制编辑器里显示的平滑程度和最终出图的精细度。将原本有明显棱角、边缘生硬的模型,经过细分后表面变得平滑、柔和,整体看起来更圆润饱满,更接近火焰/火源的流畅外形。
3.5

在菜单中选择:创建 → 变形器 → 扭曲,并将扭曲变形器作为模型的子对象。设置扭曲的角度和强度,让模型沿着竖直轴产生螺旋扭转,调整偏移,控制扭曲主要集中在上半部分,让火焰更有向上飘的动感,使模型从笔直的锥形,变成带有自然螺旋弯曲的形态,更贴近真实火焰摇曳、旋转升腾的效果。
3.6

为模型新建材质,设置渐变色彩:底部偏亮、中部橙黄、顶部偏深,模拟火焰/热源的发光与燃烧质感。保留细分曲面效果,模型表面圆润光滑、无棱角,整体形态流畅自然。最终完成一个类似火焰、热源、红外火源的完整3D模型。
4.后续优化
1.增添粒子效果实现由初燃到炽热状态变化
2.添加棉花厂环境
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)