在本练习中,你将:
- 提取现有纹理。
- 显示它们的位置。
- 编辑图像集并提取图像。
- 重新估计它们的位姿以进行修正,和/或检查它们的外部参数(每张影像各不相同)与内部参数(每台相机各不相同),以实现非常精确的纹理映射。
- 重新应用纹理。
- 调整纹理。
- 导出带纹理的网格,或重新保存文档(会创建一个包含这些影像的新文件夹)。
打开文件并启动命令
打开文件 TextureParam&CameraPath.3dr(下载)。
选中网格 "CliffTextured",转到 Extract Texture。
这些影像将作为一个图像集出现在对象浏览器中(Images Group 文件夹)。
显示每张影像的位置
按 Shift + S,或单击图形场景中的扫描位置图标,即可通过一个红色球体显示各影像的位置。
你可以双击红色球体跳到该相机视点,并显示对应的影像(默认启用全景相机模式)。切换相机模式即可在图形场景中隐藏该影像。
编辑图像集并分离影像
在树视图中双击 Set of images(或右键单击并在上下文菜单中选择 Edit),即可显示图像集的内容。
用 Ctrl + A 全选,将光标移到影像列表上并选择其中一个箭头,即可把选中的影像与位置移出列表。
如果要提取所有影像与位置,单击 OK。

待贴图的网格与相机参数
检查外部与内部参数
在树视图中选中一张影像(Images Group),例如 1029,然后启动 Edit Image。外部与内部参数已经填好,因为这张影像来自一个已有的带纹理网格。
在多数情况下,你需要自行定义这些参数。
外部参数可以通过 Estimate Pose 计算。
内部参数可以通过 Calibrate Camera 计算。
Edit Image 对话框的作用就是手动编辑这些数据。之后你可以保存或载入这些参数(excam、incam 文本文件或 xml)。内部参数包括:
- 传感器尺寸与像元尺寸
- 焦距
General 选项卡
- 镜头失调
- 自准直主点 - PPA(相对 PPS 的偏移)
- 对称主点 - PPS(相对 CCD 中心的偏移)
Distortion 选项卡
- 径向畸变(k0 到 k6)
- 切向畸变(p1 到 p2)

相机内部参数
外部参数包括:
- 相机位置
- 相机旋转
了解更多:Edit Image
应用纹理
所有纹理的参数(内部与外部)都输入完成后,只显示网格 MeshToTexture,选中它和三张影像,然后转到 Standard Texture。贴图对象选择 Fully visible triangles(完全可见三角形),影像选择方式选 Best Projection。
如果仔细观察结果,你会发现某些三角形没有被贴图,因为它们从任何与相机位置对应的视角都不可见:
- 有些部分是一大片表面,可以视为"正常"区域,尤其是图 1029 的左侧部分。
- 有些部分是极小的表面(1 或 2 个三角形),位于岩石很深的孔洞中。
你可以尝试其他选项(At least one visible vertex 与 Invisible parts)来给空白区域贴图。再次单击 Preview 查看差异。

以透视视角贴图后的崖壁
调整纹理
默认情况下,当一个三角形可由多张影像贴图时,系统会依据两个参数做出选择:
- 相机位置与三角形之间的距离。
- 相机朝向与三角形法线之间的夹角。
不过在有些情况下,你可能想手动选择要应用的纹理。为此,只显示带纹理的网格,选中它,然后转到 Adjust Texture。
借助该对话框,你可以为各纹理指定唯一的颜色,或把它们分别显示出来,以便更直观地看到每张纹理映射在网格上的位置。你还有在三维场景中显示影像的工具。
在中央工具栏中,有选择工具、作用于选择集的过滤器,以及对下一次选择执行的操作。例如,选中纹理 1032(在本例中显示为红色):
- 显示 Colors,以便更好地了解当前各纹理的应用位置,
- 用 Select through 选择从用户视角被遮挡的三角形,
- 选择 No Filter 以选择从相机视角被遮挡的三角形,
- 选择 Update 纹理以替换之前应用的纹理,
- 按下图绘制一个矩形

Adjust Textures 对话框

Adjust Textures 的结果
所选区域将使用影像 1032 贴图。
然后选择 Remove Current Texture 选项,"擦除"右侧的一些三角形。它们会变为白色,表示不会被贴图。单击 OK 确认。
导出带纹理的网格
纹理已应用并调整完毕,现在可以导出网格了。你可以选中它,然后转到 Export。OBJ、GLB 与 FBX 格式支持导出带纹理的网格。注意有些软件无法处理坐标值很大的文件,因此你可能需要把网格平移到靠近原点处,以去掉这些大坐标。
保存新的 Cyclone 3DR 文件时,会在其旁边创建一个文件夹,其中包含这些影像。