跳转到内容

Q3Map2/BSP

来自维基教科书,开放世界中的开放书籍

BSP 阶段次要开关

[编辑 | 编辑源代码]

-custinfoparms

[编辑 | 编辑源代码]
  • 允许游戏模组使用自定义表面参数,无需重新编译 Q3Map2 本身。自定义表面参数存储在 "scripts" 目录下的 custinfoparms.txt 中。自定义表面参数遵循以下格式

// Contentflags

{
surfaceparmName 0x0000 //whatever bitflag is used by your mod for said surfaceparm
}

// Surfaceflags

{
surfaceparmName 0x0000 //whatever bitflag is used by your mod for said surfaceparm
}

-debuginset

[编辑 | 编辑源代码]
  • 启用表面三角形内嵌的调试。// 我完全不确定这是什么?

-debugportals

[编辑 | 编辑源代码]
  • 将门户绘制为半透明多边形。为了获得最佳的 -debugportals 结果,请省略 -vis 和 -light。

-debugsurfaces

[编辑 | 编辑源代码]
  • 为每个表面着色不同的颜色(非常迷幻)。为了获得最佳的 -debugsurfaces 结果,请省略 -vis 和 -light。
  • 创建一个新的 .map 文件,其中包含一个空白的 worldspawn 实体和来自原始 .map 文件的所有世界刷子。// 对这个不太了解。
  • 启用对耀斑的支持。它们用于在明亮的光源上生成眩光效果。仅受 Quake3 引擎的某些版本支持,例如 Raven 作品中使用的版本或 ioQuake3
  • 强制给定表面的所有纹理坐标到最适合分配纹理的平均颜色的像素。

-fulldetail

[编辑 | 编辑源代码]
  • 将导致所有细节刷子被视为结构刷子。

-leaktest

[编辑 | 编辑源代码]
  • 如果遇到泄漏,将导致 Q3Map2 终止编译。
  • 曾经,关于 -meta 开关的作用有一个明确的定义。现在,它已成为大多数 Q3Map2 高级功能所需的“魔法”开关。始终使用 -meta,并始终使用 -v。
  • 将每个表面上的最大索引计数设置为 N。
  • 将每个表面上的最大顶点计数设置为 N。

-nocurves

[编辑 | 编辑源代码]
  • 不会将补丁网格编译到 .bsp 中。

-nodetail

[编辑 | 编辑源代码]
  • 不会将细节刷子编译到 .bsp 中。
  • 不会将雾刷子编译到 .bsp 中。
  • 不会将提示刷子编译到 .bsp 中。

-nosubdivide

[编辑 | 编辑源代码]
  • 可见表面不会被分割。TessSize 被忽略。
  • 不会修复 T 形交叉口(可能会导致闪光和 LOD 裂缝)。
  • 不会将液体刷子编译到 .bsp 中。

-np <shadeangle (1 through 179)>

[编辑 | 编辑源代码]
  • 强制所有平面着色器变为非平面,并使用指定的 shadeangle。

-onlyents

[编辑 | 编辑源代码]
  • 仅更改已编译 .bsp 中的实体。需要已编译的 .bsp 和新的实体文件 (.ent)

-patchmeta

[编辑 | 编辑源代码]
  • 从补丁网格创建元表面。这将“烘焙”一组 LOD 到 .bsp 中的补丁。
  • 启用修复有问题的 ATI GL_CLAMP 行为。始终使用此选项。

旁注:ATI 的行为是正确的。错误出现在 *NVIDIA* 驱动程序无法区分 GL_CLAMP 和 GL_CLAMP_TO_EDGE,而 Q3 使用了错误的一个:由于 Q3 的开发主要在 nVidia 硬件上进行,因此直到太晚才有人注意到它。

  • 启用轴向斜角平面捕捉,以减少裁剪的模型平面数量(谨慎使用)。//我完全不知道这方面的事情。

-texrange <N>

[编辑 | 编辑源代码]
  • 将每个表面的纹理像素计数限制为 N。
  • 启用 bsp 阶段的详细模式。始终使用此选项。

-verboseentities

[编辑 | 编辑源代码]
  • 输出更多关于将实体子模型编译到 .bsp 中的信息。
华夏公益教科书