AI生成的3D白模,单帧看起来清楚,不代表沿整条镜头路线都能看见关键目标。判断遮挡是否需要修改,不能只看目标有没有消失,而要先约定:谁在什么位置,必须看见什么信息。
建议按六步排查:确定视觉目标→冻结相机条件→设置检查点→记录遮挡→单变量修改→沿原路线复测。这套流程检查的是相机视线和构图,不替代净空、碰撞、导航或性能测试。
一、第1步:先确定视觉目标,以及必须看见它的时机
设想一条白模走廊:入口处能看到远处门牌,向前走几步,门牌却被横梁挡住。如果门牌承担出口引导,遮挡可能影响识别;如果设计本来要求走到横梁下方才揭示入口,短暂遮挡也可能是有意安排。
因此,第一步不是删掉遮挡物,而是列出真正影响任务的目标,例如:
- 出口和方向标志;
- 需要建立空间关系的地标;
- 当前镜头中的主要角色;
- 必须被理解的结构节点;
- 需要读取的文字或图形信息。
再为每个目标选择一条可见规则:
| 可见规则 | 适用情况 | 检查重点 |
|---|---|---|
| 始终可见 | 持续承担引导的地标或标志 | 路线中是否出现中断 |
| 在指定节点出现 | 转角、揭示或叙事节点 | 是否在预定位置准时出现 |
| 允许短暂遮挡 | 不承担当前操作提示的背景元素 | 遮挡是否影响理解或操作 |
还要写清"看见"的标准。门牌只露出轮廓,不等于文字可读;角色露出一只手,也不代表观众能识别角色动作。
观察者类型同样要固定:自由镜头、第一人称视角和第三人称跟随镜头的高度、位置与偏移都不同。自由镜头看得到,不能证明玩家视角也看得到。

图注:入口视角可以帮助标记横梁、侧栏和远处目标等候选检查对象;画面不能证明通道尺寸、对象层级、相机参数或碰撞设置。
二、第2步:冻结相机和显示条件,让前后对比有意义
开始测试前,先保存场景版本,并记录相机条件。
透视相机至少记录:
- 相机位置和离地高度;
- 朝向或观察目标;
- 视野角FOV;
- 近、远裁剪面;
- 画幅比例与输出分辨率。
正交相机则记录正交尺度。FOV可以理解为镜头能够容纳多宽的视角范围;FOV变化后,同一结构在画面中的大小和遮挡关系也会变化。
移动路线必须可复现。可以保存相机动画路径,也可以记录关键位置、朝向和移动顺序。第三人称跟随镜头还要保留同一角色状态、跟随距离和镜头偏移。
灯光和曝光也应固定到不会干扰判断。自动曝光可能让目标在暗处变得不可读,但这与几何遮挡不是同一个问题。必要时先固定曝光,完成结构检查后再单独测试光照表现。
不要同时修改几何和FOV。画面即使改善,也无法判断是结构让开了视线,还是镜头变宽造成的。
三、第3步:沿路线设置少量但有效的检查点
检查点不是越多越好,而是要覆盖可能改变目标可见性的关键位置。走廊类场景可以优先设置:
- 入口或路线起点;
- 大型突出体之前;
- 横梁或门架下方;
- 转弯及镜头朝向明显改变的位置;
- 目标附近或路线终点。
每个检查点记录相机位置、朝向和本点需要回答的问题。例如:
检查点B:进入横梁前,出口门牌文字是否仍可读?
这种写法比"看看这里构图好不好"更容易复查,也方便下一轮只修改相关变量。
如果使用手动镜头,至少保存位置和朝向;如果使用相机动画,应保留路径、关键帧和场景版本。只保存几张截图,不足以恢复完整检查条件。
四、第4步:连续录屏找区间,静帧定位遮挡物
每个检查点至少记录三件事:
- 目标是否满足约定的可见规则;
- 实际挡住目标的对象是什么;
- 遮挡是否影响当前镜头或操作任务。
若只能确认目标看不到,就先写"遮挡物待定位",不要凭印象指定某个构件。
测试时先沿路线连续录屏,找出遮挡开始和结束的区间,再暂停到对应位置,用静帧检查前后物体的重叠关系。连续视频适合发现短暂遮挡,静帧适合标注具体对象,两者不能相互替代。
只有入口和终点两张截图,无法排除中间一瞬间的遮挡。同一目标在相邻检查点的状态应连起来读:从哪里开始被挡,又在哪里重新出现。
记录时不要只写"可见"或"不可见"。如果目标仅露出一小部分,应按照第一步的规则判断:轮廓是否足以识别,文字是否仍能读取,操作提示是否仍有意义。
也要排除其他原因:目标可能移出画幅、被近裁剪面切掉,或者在明暗关系中失去可读性。"此点看不到目标"是观察事实;"目标网格缺失"则是原因判断,需要对象列表或其他视角支持。

图注:后续画面中的横梁和侧向体块呈现了不同的重叠关系,可用于说明沿路线检查的必要性;两张截图不能证明相机连续移动,也不是修改前后的效果对比。
五、第5步:先判断问题类型,再做单变量修改
出现遮挡后,先判断问题属于相机、结构布局、物理尺度,还是表面可读性,再选择修改方式。
| 观察现象 | 优先核查 | 下一步处理 |
|---|---|---|
| 横梁挡住既定目标 | 相机位置、目标规则和结构关系 | 根据既定约束,单独调整横梁或相机 |
| 重复构件遮住路线终点 | 构件间距及各检查点的重叠 | 测试局部布局修改,并检查是否产生新遮挡 |
| 画面清楚,但实际净空未知 | 尺寸与通行对象占据的空间 | 量测尺寸,并另做碰撞或通行测试 |
| 目标在暗处不易识别 | 固定结构后的材质与光照 | 另开一轮表面和照明测试 |
| 目标突然从画面中消失 | 画幅、裁剪面和对象可见状态 | 先确认不是相机或渲染设置问题 |
如果相机是产品既定规则,例如第一人称视角高度不能随意改变,应优先检查局部结构是否可以调整。如果构图本身仍在设计阶段,则可以单独建立相机方案。
每轮都要保留修改前版本,并写明修改了哪个对象、哪个属性、为什么修改。一次只改变一个关键因素,才能判断改善究竟来自哪里。
需要用自然语言组织后续场景修改时,可以通过用自然语言迭代3D内容描述目标、保留项和允许修改的范围。该入口不代表会自动建立或验证相机路线,修改结果仍需按同一套规则复测。
六、第6步:沿原路线复测,并保留未验证项
结构修改后,应使用相同的相机参数、路线和检查点复测。不要换到更有利的新机位,再用一张"看起来正常"的截图证明原问题已经解决。
如果本轮测试的变量就是相机,应明确记录唯一改变的相机参数,其余条件保持不变。这样既保留可比性,也不会与"相机方案测试"本身发生矛盾。
复测记录至少包括:
| 字段 | 应记录的内容 |
|---|---|
scene_version |
场景版本与修改文件 |
camera_state |
相机参数、路线和记录位置 |
target_feature |
目标及其可见规则 |
checkpoint |
检查点和路线中的位置 |
occluder |
遮挡物;不确定时写"待定位" |
change |
本轮唯一修改及原因 |
retest_result |
改善、残余遮挡和新增问题 |
unverified_items |
尚未执行的净空、碰撞、导航和性能测试 |
下面是一条教学示例,不是本文素材的实测结果:
text
scene_version: corridor_v02
camera_state: 沿用基线相机与路线A
target_feature: 出口门牌;要求在检查点B文字可读
checkpoint: 突出体前B点
occluder: 横梁
change: 仅调整该横梁位置
retest_result: B点门牌可读;梁下仍有短暂遮挡;其他点未发现新增问题
unverified_items: 实际净空、角色碰撞、导航与性能
原路线通过后,可以再检查邻近路线,避免局部优化牺牲其他视角。但新路线是扩展测试,不能代替原路线的修改前后对照。
视觉复测通过,只说明本轮约定的可见性条件得到满足。净空需要量测,碰撞需要使用实际对象测试,导航要检查寻路数据,性能则要在目标环境中采样。
七、四个容易混淆的问题
1. 遮挡一定是场景缺陷吗?
不一定。先看目标在该位置是否必须可见。有意安排的揭示,以及不影响当前任务的短暂遮挡,都可以保留。
2. 两张截图能证明沿途没有问题吗?
不能。它们只能证明两个时刻的画面。中间区间需要连续观察,并在异常位置补充检查点。
3. 相机穿过物体,就是碰撞失败吗?
不一定。编辑器自由相机、游戏相机和角色可能采用不同约束。应检查实际运行对象的碰撞配置和移动方式,不能用视觉路线代替物理测试。
4. 为什么修改后还要走原路线?
为了保持前后条件一致,确认原问题是否真正改善,同时检查沿途有没有新增遮挡。换一个更有利的机位,只能说明新机位看起来正常。
八、收藏清单
- 目标对象和可见规则已经写清。
- 相机、FOV、裁剪面、画幅和分辨率已经固定。
- 路线关键位置已经设置检查点。
- 连续录屏和静帧承担不同检查任务。
- 遮挡现象与原因判断已经分开记录。
- 每轮只修改一个关键变量。
- 修改后沿原路线和原检查点复测。
- 净空、碰撞、导航和性能仍按独立项目验收。
你的场景是某一个固定机位被挡,还是只有镜头沿路线移动时才短暂看不到目标?