编译错误
< Zh
注意:本文指的是在 Hammer 中编译地图,而不是在编译源代码时。
通用术语
- 节点 -- 编译器正在计算的固体、边、区域、位置等。
- XXX -- 替换为固体编号或其他唯一标识符。
一般错误
- The system cannot find the file specified
- 如果没有要复制的BSP文件,或者目标不存在,则编译结束时的文件复制操作会输出此错误。这通常意味着VBSP在写入BSP文件之前就遇到了错误。检查VBSP输出是否有任何错误。
- 请确保键入的文件名正确,不包括任何破折号、句点等。如果问题仍然存在,请在保存文件时尝试键入文件扩展名。
- 如果你还没有运行为其制作地图的游戏,或者在你试图编译地图时,你试图放置最终BSP文件的目标路径不存在,则会由于 Hammer 缺乏创建文件夹的能力而出现此错误。这种情况发生在各种人身上,最常见的情况是收到错误的人最近在计算机崩溃、计算机损坏、病毒或其他可能导致计算机数据/内存丢失的原因后重新启动了计算机。如果发生这种情况,你所要做的就是运行你正在为其制作地图的游戏,或者简单地浏览到与你试图在文件浏览器中放置最终.BSP的文件目录最近的文件目录,并创建一个与所选输出文件夹名称相同的文件夹。
- 有关原因的更多信息,请点击此处 。
- Error opening mapname.bsp
- 编译器找不到地图的BSP文件,或者该文件已损坏。可能是由于错误,Vbsp 没有创建BSP。如果没有,请检查路径名。
- SteamStartup() failed
- SteamStartup(0xf,0x12eac4) failed with error 1: The registry is in use by another process, timeout expired
- 尝试重新编译地图或重新启动 Steam。
- WARNING node with unbounded volume
- 当地图的某个部分接触到,或者在 Hammer 地图网格之外时,就会发生这种情况。远离网格的边缘,然后进行编译。
- 试图编译包含 func_instance 且内部启用了警戒线的地图也可能返回此错误。
- 无效的固体 也可能导致这种情况。
BSP (vbsp.exe)
- **** leaked ****
- 你的地图中至少存在有一个泄露 。地图的内部没有正确地密封到外部的空隙中。在 Hammer 中加载pointfile 。从指定实体开始的红线将在某个点穿过泄漏口。在三维视图中跟着它,(用固体)密封泄漏口并重新编译。
- 有时,在复制和/或移动固体实体 后,它们的原点可能会泄漏到边界之外,导致看似不存在的实体泄漏。要解决这个问题,只需选择明显泄漏的实体,右键单击它并选择「Center Origins」。如果你不知道具体是哪个实体导致了泄漏,请尝试将原点集中在同一类的所有实体上(Map → Entity Report → Sort by class)。
- Brush XXX
- WARNING, microbrush
- 固体太小,无法编译(通常小于1个 Hammer 单位)。通过指定的编号搜索该固体 。删除该固体并创建一个更大的固体。
- Brush XXX
- FloatPlane: bad normal
- 固体在「平面」上有一个不必要的顶点。可能是使用顶点工具 的结果。通过指定的编号搜索该固体 。再次使用「顶点工具」(Vertex Tool)通过将不必要的顶点与另一个顶点重合来修复它。创建顶点过多的小型弯曲固体时也可能发生这种情况。
- Can't find surfaceprop for material, using default
- 贴图中有一个纹理没有材质面属性 。可能你在世界固体上使用了「模型」的纹理。使用「替换纹理」对话框 ,在使用过的纹理中搜索「模型」,然后由其他纹理替换。如果使用自定义纹理,请确保它们具有
$surfaceprop
键值。
- Error displacement found on a(n) (entityname) entity - not supported
- 你的地图中有一个绑定到置换表层 的固体实体。置换表层不可能是固体实体。搜索带有置换表层的固体实体,然后移除置换表层或将固体实体移回正常世界固体。
- Error! To use model "filename.mdl" with static_prop, it must be compiled with $staticprop!
- 你的地图中有一个 prop_static 使用了不正确的物理模型。该模型不会出现在游戏中。使用 prop_physics 或 prop_dynamic_override 替代。
- Error loading studio model ""!
- 你的地图中有一个 "prop_" 模型没有使用模型或者使用了不正确的模型文件名。
- Face List Count >= OVERLAY_BSP_FACE_COUNT
- 有一个面上有太多的 Overlay s 或一个 Overlay 应用到了太多的面上。
- 也有可能是在带有多个 info_overlay 的大固体上将光照贴图比例设置更改为低值(1-8)。
- material "" not found
- 面或 Overlay 不使用纹理或纹理文件名不正确。
- Memory leak
- mempool blocks left in memory:
- 一个不会影响地图的长期错误。忽略。
- Too many t-junctions to fix up!
- 目前尚不清楚究竟是什么原因导致了这一问题的出现。已知与泄漏一起出现在近距离地图上。首先,密封泄漏,如果问题仍然存在,请减少你的 func_detail 和 func_brush 实体的数量。
- Bad planenum
- 编辑器没有正确保存文件-重新保存并编译。这也可能是由多个固体与另一个重叠造成的——通常是由糟糕的雕刻造成的。
- Tried parent
- 编译中的节点没有父节点-这是非常罕见的,但很可能是由通过 Hammer 的安全保护的顶点操作错误引起的。想象一个盒子,但整个盒子只是一面。
- XXX with splits
- 固体面已经被切割了,这是一个很大的禁忌。尝试和修复它的最佳方法是寻找微小的固体渗透,例如接触1 x 1 x 1固体侧面的尖端。
- vbsp.exe 崩溃的潜在原因(无错误消息)
- 置换表层上使用了 Playerclip 纹理。
注意:要查找此错误,请取消选中除「Clip/player」之外的所有可见组。
- 1个单位高度的位移,不同侧的单位为4。
- Multiple references for cubemap on texture ../path/stonefloor006a_3328_640_-640!!
- 你有至少一个env_cubemap 的面直接连接到其他多个 cubemap。你需要找到这两个面重叠的 cubemap,并重新分配面给错误的 cubemap。最后一个错误的数字是坐标,你可以使用 View->Go to Coordinates 来去到它们的坐标。
- Material <name> is depending on itself through materialval $bottommaterial!
- 基本上,这个错误表明场景中的材质着色器参数 $bottommaterial 引用了它自己的一个 vmt!只要找到这些材料并将此值替换为你想要的另一个值,例如水就设置为:$bottommaterial" "dev/dev_waterbeneath2" 或其他你想要的。仔细检查材料名称,它可以是相同的名称,但前缀为「a」、「b」,你甚至不会注意到这一点!
VIS (vvis.exe)
- loadportals
- couldn't read filename.prt
- Vvis找不到由vbsp创建的 Portal 文件。vbsp没有创建它是因为错误(泄露?),或者 vvis 使用了不正确的文件路径。(解决方法是确保地图名称没有大写字母或句点。)
- 或者:你创建了一些新的 Areaportal,但使用VBSP的「Only entities」(仅实体)模式进行编译。
- 或者:你不小心将 light_environment 实体放置/移动到了天空盒的边界之外。(这不会产生泄漏吗?)
- Leaf (portal XXX) with too many portals.
- 有一个区域的几何形状太复杂了。尽量简化一些房间和走廊,并使用 func_detail 制作小结构。
RAD (vrad.exe)
- Texture axis perpendicular to face at (XXX, XXX, XXX)
- 在指定的坐标处,存在一个纹理值 不正确的面。试着找到这个面,并确保纹理「与世界对齐」(aligned to world)。
- WARNING
- Too many light styles on a face (XXX,XXX,XXX)
- 在指定的坐标处,有一个面被过多的「效果」灯光照亮。这包括具有名称(即编译了打开和关闭状态的灯光,以便你可以切换它们)或使用闪烁等效果的灯光。删除其中一些,禁用闪烁效果或确保它们没有名称。
注意:一个面最多只能由4个不同目标名 的灯光照亮。这意味着一个面可以被无限的不同灯光样式照亮,只要它们最多共享4个目标名。
- <number> degenerate faces
退化面是计算为没有面积或面积为负的面。这可能会导致照明问题。
- 这也可能与纹理的透明度有关。待完善: 具体来说,因为有多种方法可以制作透明材料。有确凿的证据就好了。
- warning - face vectors parallel to face normal. bad lighting will be produced
- 使用「对齐到纹理」(Align to texture) (Alt + 鼠标右键) 时可能会发生这种情况。要修复,找到引起它的笔刷(回溯最近的更改),将受影响的面与「世界」(World) 或「面」(Face) 对齐,然后手动应用纹理设置。
另请参阅
外部链接
- Interlopers.net - 自动错误检查 - 你还可以上传编译日志。
- HL.LOGOUT.FR - 自动错误检查 - 上述工具的替代方案(法语)。