用于UE仿真的真实场景的简单扫描处理
约 1172 字大约 4 分钟
2026-01-12
整体思路:手机扫描导出 -> Blender做一些简单处理(可选) -> 导入UE做碰撞测试 -> AirSim作为环境运行
手机激光雷达扫描
1. 软件选择
使用的手机软件:3D Scanner app(使用iphone扫描)
安卓手机可以尝试类似软件,效果基本一致:Polycam
2. 扫描方式
使用基于雷达的视频扫描模式,对需要扫描的场景进行扫描,按提示扫描即可。
3. 快速上手
一个参考视频:快速上手3d scanner,建议导出为.FBX格式文件。
4. 局限
首先需要有支持激光雷达的手机。
其次,仅用手机扫描无法扫描精细化的物体,对于整个室内以及各种杂物的建模极其粗糙,建议只扫描一个主要的,不精细的场景(比如堆一些箱子作为障碍物)。如果需要整个精细室内环境,甚至是室外环境,建议找专业人士用专业设备扫描。
Blender处理
1. FBX导入Blender
打开Blender,点击File → New → General
删除默认立方体(按X)
设置单位,右侧 Scene Properties:
Units下选择Unit System:Metric和Unit Scale:1.0。如下图。
导入FBX,File → Import → FBX (.fbx)

此时可以看到已经导入,点击右上角的第三个球体,才可以显示出颜色。

2. 裁剪与地面设置
可以看到,我导入的场景有不规则的地面,还有一些障碍物在上面。我这里打算把地面裁剪为一个长方形,然后手动添加四面墙来作为环绕,构建一个室内的环境。
通过cube来裁剪,添加裁剪框
Shift + A → Mesh → Cube,调整右边的cube参数,让它变成一个长方形,覆盖需要裁剪的地面范围,略高于地面即可。
Bollean裁剪
选中 扫描模型,右侧 → Modifier(扳手图标),Add Modifier → Boolean,选择Intersect,然后Object:选择刚刚的 Cube → Apply → 删除 Cube。

拉平地面(可选)
选中扫描模型
Tab→ Edit Mode,按键盘上的1(非小键盘)切到「顶点选择模式」,然后按小键盘的1切换正视,再按小键盘的5切换正交视图。从最底部往上框选一小段高度的顶点(只框地面那一层),即可选择地面,按下S → Z → 0 → Enter,拉平地面。

地面对齐 Z=0
回到 Object Mode,按下G → Z,调整move,使得坐标原点在地面。
然后选中扫描模型,Ctrl + A,选择:✅ Apply Location✅ Apply Rotation✅ Apply Scale,按N发现,地面 = 世界坐标 Z = 0。
3. 手动添加墙体,构造室内环境
建第一面墙。
确保在 Object Mode,Shift + A,Mesh → Plane,此时一个平面出现在地面中心。
选中 Plane,按G,把它拖到你地面的一条边上,调整角度为90。
默认旋转后,墙可能是一半在地下,按 G,按Z,把 Plane 的底边贴到地面,此时底边应刚好在 Z = 0。
拉出墙的高度,我这边设置的2m。
拉出墙的厚度,选中墙,右侧 → 扳手图标(Modifier),Add Modifier → Solidify,设置:Thickness:0.1,Offset:0。墙变成有厚度的实体。
在 Solidify 修改器中,点击 Apply。
如下图,完成第一面墙。

复制出另外三面墙。

4. 调整场景大小
框选 所有物体(A),按S,可以拖动来修改大小。
5. 导出的参数选择
File → Export → FBX (.fbx)
Transform
Scale: 1.0 Apply Transform: ✔ Forward: -Z Forward Up: Y UpGeometry
Apply Modifiers: ✔ Smoothing: FaceArmature
❌ Add Leaf Bones(关掉)Path Mode(重要,否则导入ue没有材质)
Copy Copy右边的Embed Textures ✔(如果你地面贴图在用)
导入UE
1. 新建UE项目导入fbx文件
项目类型选择:游戏。
模板选择:空白。
直接将fbx文件,拖入左下角内容浏览器,导入。
不要勾选骨骼网格体,勾选下面的合并网格体

然后把内容浏览器里面导入的模型拖入场景中,把原来的floor隐藏。

2. 设置碰撞
双击内容浏览器里面的IndoorRoom_AirSim,点击右边细节框里面的碰撞,选择复杂碰撞,左上角保存。

