物体中无草

创作者: meh321
已更新:2025-10-06 18:18:29
1.5MB

前置 MOD

使用 物体中无草 时将自动安装

关于此 MOD

阻止草从岩石、地板、睡袋、箱子、道路和其他物体上生长出来。同时允许在已加载单元格之外绘制草。能够为草的 LOD 创建草缓存。请务必阅读兼容性说明和可能的兼容性问题。
描述

阻止草从岩石、地板、睡袋、箱子、道路和其他物体上生长出来。其实现方式是从每个原本应该放置草的位置进行光线投射,如果那里有障碍物阻挡,则不会在那里放置草。

可选的扩展绘制距离。这将允许将草地绘制距离几乎无限扩展(如果您的显卡性能足够)。

可选的超密草地模式。



如何配置(非常重要!!!)

首次使用此模组启动游戏时,配置文件将自动生成。如果您使用 MO2,INI 文件将位于您的覆盖文件夹中。 
打开配置文件 数据/SKSE/插件/GrassControl.ini

我不会列出所有选项,您可以自行在配置文件中查看,但这里有一些重要的选项。

启用光线投射 = true启用或禁用光线投射。这可以防止草从物体内部生长出来。
超密草 = false启用或禁用茂密草地。建议先尝试使用 MinGrassSize 设置并安装更多茂密草地模组。如果仍然不够,您可以尝试启用此功能。
使用草缓存 = false启用或禁用草地缓存。启用后,会在 /Data/Grass/ 目录下创建文件。草地生成后,系统会直接从该文件加载,而不是每次都重新生成。这可以显著加快首次进入该区域后的加载速度。重要提示:如果您更改了任何模组或与草地相关的设置,则需要删除该目录中的所有文件,以便重新生成草地,否则您将看不到任何更改,甚至可能出现诸如草地漂浮(地形更改后)或草地出现在物体上(物体位置更改后)之类的错误。如果您仅更改绘制距离(包括扩展草地距离和动态渲染模式),则无需删除缓存文件。
扩展草地距离 = false启用此功能后,草地绘制距离将远超常规范围。即使在未加载的单元格中,也会开始绘制草地。
覆盖草地距离 = 6000O覆盖草地绘制距离!在此处设置草地的绘制距离。如果您不希望此模组覆盖距离设置,请将此值设置为负数。
Overwrite-grass-fade-range = 3000O覆盖草地逐渐消失的持续时间!在此处设置距离。通常应至少为“距离”的一半左右,否则草地的消失会过于突然。如果您不希望此模组覆盖淡入淡出设置,请将此值设置为负数。
覆盖最小草大小 = -1如果设置为非负值,则此模组会覆盖 iMinGrassSize 设置。我添加此功能是为了将所有草地设置集中在一个地方。
全球草地规模 = 1.0 将此比例应用于所有草地。例如,0.5 会使所有草地缩小一半。


如何在版本 3 或更高版本中预缓存所有草

此操作可消除由该模组引起的任何性能或稳定性问题。它还能解决切换场景时草地闪烁的问题。如果您在使用“扩展草地距离”设置后遇到NPC在您面前异常生成的问题,此操作也能解决。

开始前请注意:此过程可能需要很长时间,并生成高达数GB的文件,根据您的mod安装情况和电脑配置,可能需要超过一个小时。平均而言,对于轻度到中度mod安装的配置,此过程应该需要30-60分钟,并生成120-400MB的文件。典型的重度mod安装配置会产生1-2GB的缓存。然而,非常庞大的mod列表可能需要2.5小时才能完成,并生成7-8GB的文件。时间和文件大小可能会有很大差异,这些数字仅供参考。 

我建议您按照本指南中的说明进行操作。 这里它们与以下步骤相同,只是格式更好。此过程的视频教程由…… biggie_boss 可以找到 这里. 如果你的草地模组(包括原版草地)的杂项文件中包含补丁,则可以使用该补丁来跳过草地边界步骤(SSEdit 和 CK 步骤)。

1. 在配置文件中设置以下选项:

使用草缓存 = true
仅从缓存加载 = 真的

2. 首先检查你的草地模组在“杂项”下是否有兼容补丁,如果有,请安装。原版草地模组也有相应的补丁。然后查看你正在使用的草地模组的页面及其评论,确认它是否兼容生成草地缓存。如果没有相关信息,你可以使用 SSEdit 打开草地模组,点击草地记录进行检查。在顶部有一个名为“对象边界”的记录,如果其中任何一条的值为 (0, 0, 0),则说明该模组需要更新。你可以在评论区留言请求生成补丁。或者,你也可以在 CK 中自行生成补丁。补丁的创建过程在上面链接的 biggie boss 视频中有详细介绍。

MO2 用户:
剧透:  
展示
3. 请确保您拥有最新版本的 MO2。
4. 从文件区下载可选的 MO2 插件,并将其放入 MO2 安装目录下的 /plugins 文件夹中。您可以通过点击工具和拼图图标下方的文件夹图标,然后点击“打开 MO2 插件文件夹”来找到插件文件夹。如果您之前打开了 MO2,请确保重启 MO2。插件文件夹应该已经存在,并且其中包含多个文件。
5. 打开 MO2,禁用兼容性列表中所有冲突的模组。然后,点击拼图图标。应该会出现一个新选项“预缓存草地”。如果没有出现,请检查插件是否已正确安装。
6. 点击按钮并等待。如果游戏在草地生成完成前崩溃或关闭,MO2 将自动重启游戏,直到整个过程完成。生成缓存时,会出现加载画面,同时游戏内会弹出消息框提示正在生成。可以通过打开控制台(不推荐,可能会导致更多崩溃)或查看 NGIO-NG.log 文件来检查进度。
7. 生成完成后,会弹出“草地生成成功!”的提示框。生成完成后,草地缓存文件应该位于覆盖文件夹中。将其创建为一个新的模组,并命名为“草地缓存”或其他你喜欢的名称,同时保留草地文件夹中的 .cgid 文件。务必检查草地文件夹中是否存在 .fail 文件,因为你会在相应的单元格中看到空白区域。检查崩溃日志,并在移除有问题的模组后重新生成草地。
8. 任何时候你更改了加载顺序(例如地形编辑、草地编辑、物体放置,甚至草地配置更改),都需要重新生成缓存,方法是再次运行“预缓存草地”选项。如果你只更改了“覆盖草地距离”和“覆盖草地淡化范围”,则无需重新生成缓存,因为它们只会影响绘制距离。 


对于其他用户(非 MO2 用户):
剧透:  
展示
3打开你的模组管理器,禁用兼容性列表中列出的所有冲突模组。 
4. 在 Skyrim 根文件夹(与 SkyrimSE.exe 位于同一位置)中创建一个新的空文本文件,文件名设为 PrecacheGrass.txt
5. 正常启动游戏,进入主菜单后,游戏会自动预生成所有草地。如果游戏崩溃,请重新启动游戏继续。或者,您可以使用类似这样的程序。 崩溃后重新启动.
6. 最后,所有草地文件都将位于 /Data/Grass 文件夹中。这些文件可能占用数 GB 的空间!缓存生成期间,会出现加载画面,同时游戏内会弹出消息框提示正在生成。您可以通过打开控制台(不推荐,可能会导致游戏崩溃)或查看 NGIO-NG.log 文件来检查进度。
7. 生成完成后,会弹出“草地生成成功!”的提示框。检查草地文件夹中是否存在 .fail 文件,因为对应的单元格中会出现空白区域。检查崩溃日志,移除有问题的模组后重新生成草地。
8. 任何时候你更改了加载顺序(例如地形编辑、草地编辑、物体放置,甚至草地配置更改),都需要通过在主文件夹中创建另一个 PrecacheGrass.txt 文件来重新生成缓存。如果你只更改了 Overwrite-grass-distance 和 Overwrite-grass-fade-range,则无需重新生成缓存,因为它们只会影响绘制距离。


生成缓存后,您可能需要考虑将缓存打包到 ba2 中,以减少卡顿和加载时间。 

如果你总是反复在同一个单元格崩溃(完全无法继续游戏),那就说明你在该单元格中使用的模组存在严重问题。即使不使用这个模组,正常进入该单元格也会崩溃。我建议你查看崩溃日志,找出是哪个模组导致了问题。你也可以将该世界空间添加到这个草地模组的配置文件中的例外列表中,但这会导致该世界空间内没有草地(不过这可能无关紧要,因为你无论如何都会在该单元格崩溃)。

更新缓存
更新缓存有两种方法。如果您的 GrassControl.ini 文件是在 1.1.5 版本之前生成的,则需要在文件末尾添加 Updating-Cache = true。
  • 更新单个细胞:
    剧透:  
    展示
    当您安装了一个仅影响特定单元格的新模组时,这样做可能更方便。首先,删除旧模组。 世界空间x0001y0001.cgid (缓存文件)位于 data/grass 文件夹中,用于指定该区域。Worldspace 通常指单元格所在的 Worldspace。 泰姆瑞尔其中数字代表单元格的坐标。您可以通过以下两种方式找到单元格的 x、y 坐标:一是使用 xEdit/SSEdit 打开模组,查看它在世界空间中编辑了哪些单元格;二是加载修改后的区域。 信息更丰富的控制台 安装后,点击单元格内的对象并按住 Shift 键即可查看单元格/世界空间选项卡,其中会列出单元格坐标(x、y),或者您也可以使用此方法查找所需的单元格。 地图现在设置 更新缓存 真实且 仅从缓存加载 在 GrassControl.ini 文件中将 GrassControl 的值设置为 false。同时禁用 Grass 缓存助手。然后,使用保存操作或控制台命令加载单元格。 奶牛 worldspaceName xy,你应该会被传送到该单元格,并且会生成 cgid 文件。
  • 更新整个世界空间: 
    剧透:  
    展示
    首先,移动或重命名现有的草地文件夹。然后,将你想要生成的世界空间添加到该文件夹中。 仅预生成世界空间现在可以生成新文件了,生成后将它们复制到旧文件夹并替换旧文件。然后将文件夹移动/重命名回原来的位置。


常见问题
某些改装的内饰可能会导致无限加载画面,尤其是lux和jk的。预先缓存草地可以解决这个问题。

模组只有在你移动几个单元格(或快速旅行到其他地方)后才会生效。卸载也是如此。

切换单元格时可能会出现加载时间延长或卡顿。预先缓存所有草地即可解决此问题。

如果您已经使用了增加草密度的模组,并在配置中启用了超密集模式,那么草可能会变得异常茂密。

一些草地模组会在新版本中添加非常宽的草地网格,例如三叶草。 3D松树草 这个mod(顺便说一句,它非常棒,强烈推荐去看看)意味着,即使放置草丛的中心点不在地板上,宽阔的草丛仍然可以蔓延到地板等被遮挡的区域(希望我的解释没有太让人困惑)。同样地,即使是原版游戏中的一些草丛,如果放置在未被遮挡但非常靠近墙壁、岩石或其他物体的位置,仍然可能会发生穿模,植物的某些边缘在这种情况下仍然会穿模。

有时你会看到较大的灌木丛出现在岩石上或路上。那是因为它不是草,而是CK(Creative Cloud)中放置的物体。我对此无能为力。你可以制作一个esp mod来移动或删除它们。

如果生成草料缓存的速度比预期快,或者立即完成并显示成功消息,请仔细检查 Only-pregenerate-world-spaces。确保 worldspaces 与 Only-pregenerate-world-spaces 位于同一行。例如,请查看…… 
跳过预生成世界空间 = DLC2ApocryphaWorld;DLC01Boneyard;WindhelmPitWorldspace。

如果在使用 MO2 时草丛生成持续自动开始或完成,请检查是否安装了 Root Builder。如果已安装,请将 PrecacheGrass.txt 添加到 Root Builder 的排除列表中。

使用时 Extend-grass-distance 或 NGIO 的 DynDOLOD-Grass-Mode 2, 强烈建议使用“仅从缓存加载”功能。 = 否则,该模式将无法完全正常运行,您将会遇到问题。.

如果您遇到性能问题,或者为了获得更好的性能,建议使用 草丛FPS增强器 并降低草地 LOD 密度 人类 并使用 草地 LOD 模式 1 人类  和 NGIO

如果您在使用 MO2 时卡在主菜单且没有任何反应,请检查您的文件中是否存在第二个 GrassControl.ini 文件并将其删除。

如果在缓存过程中遇到卡顿,请尝试将以下内容添加到 SkyrimCustom.ini 文件中:
[Bethesda.net]
bEnablePlatform=0

如果在生成缓存后您的 grass 文件夹为空,请尝试使用 1.2.4 版本。

如果遇到任何异常问题,我建议您检查“文档/我的游戏/Skyrim Special Edition/SKSE/”文件夹中的 NGIO-NG.log 文件和任何崩溃日志。 

如果遇到其他问题,请查看“问题”下的“已知问题”并查看其他用户的评论,如果找不到解决方案,请在评论中告诉我。

兼容性

  • 本模组不支持《上古卷轴5:天际》四季模组的季节性草料缓存,如需支持,请使用 草藏宝助手NG如果遇到问题,请尝试禁用 NGIO。
  • 天际之魂 会导致草料缓存卡在主菜单。缓存期间禁用此功能,缓存生成后可以重新启用。.
  • TrueHUD 和自动视差 生成 Grass 缓存时会导致崩溃。缓存期间禁用此功能,缓存生成后可以重新启用。
  • 天际战争 生成缓存时禁用此功能会导致崩溃,生成缓存后可以重新启用。
  • 蜜蜂 可能会导致崩溃(用户报告不一),仅当您遇到频繁崩溃时才禁用它及其依赖的模组。BackportedESLSupport.log 位于 文档/我的游戏/上古卷轴5:天际特别版/SKSE/ 列出 BEES 所需的插件。
  • 私人资料重定向器 如果遇到此问题,可能会导致无法生成缓存文件,请尝试在过程中禁用此模组。
  • Discord 丰富存在感 崩溃时 缓存过程中可以禁用缓存功能,之后可以重新启用。
  • 沉浸式黎明守卫晨曦通行证 生成缓存时会导致崩溃,应该禁用。 
  • EasyRider 的地牢包 在为新增的世界空间生成缓存时可能会崩溃,请将世界空间添加到 Skip-pregenerate-world-spaces 中。该模组的世界空间包括:;ERDPStonehillRefugeWorld01;ERDPStonehillRefugeWorld02;ERDPWelkinspireWorld01;ERDPRimewakeGrottoWorld01;ERDPIsleofAshes;ERDPGrimrootHollowWorld01
  • 山谷创世的回响 缓存时崩溃,请将以下内容添加到 Skip-pregenerate-world-spaces 中:;FVECampResolveWorld01;FVEInitiatesRestWorld01
  • 吟游诗人学院扩展创建 缓存时崩溃,请将以下内容添加到 Skip-pregenerate-world-spaces: ;kgcBardDragonLair;kgcBardDungeon01Part01;kgcBardPocketDimension;kgcBardPocketDimensionPlayer;
  • 北部公路 移除道路物体并将其替换为景观纹理。要从新建道路上移除草地,请在 GrassControl.ini 文件中添加以下代码行以生成缓存:
    剧透:  
    展示
    Ray-cast-texture-forms = 112D5520:Northern Roads.esp;112D5521:Northern Roads.esp;1148E3C8:Northern Roads.esp;110425FE:Northern Roads.esp;1105190C:Northern Roads.esp;110A7B23:Northern Roads.esp;112C6203:Northern Roads.esp;112D551F:Northern Roads.esp;112DA624:Northern Roads.esp;112DF729:Northern Roads.esp;112DF72A:Northern Roads.esp;112DF72B:Northern Roads.esp;113684BB:Northern Roads.esp
  • 季节性景观 替换原版草地悬崖,因此必须将其各个版本的 formID 添加到 Grass Control.ini 文件中 Grass-cliffs-forms 的末尾,它们如下所示:
    剧透:  
    展示
    ;82A:季节性景观.esp;82B:季节性景观.esp;82C:季节性景观.esp;82D:季节性景观.esp;82E:季节性景观.esp;82F:季节性景观.esp;830:季节性景观.esp;831:季节性景观.esp;832:季节性景观.esp;833:季节性景观.esp;834:季节性景观.esp;835:季节性景观.esp;836:季节性景观.esp;837:季节性景观.esp;838:季节性景观.esp;839:季节性景观.esp;83A:季节性景观.esp;876:季节性景观.esp;877:季节性景观景观.esp;878:季节性景观.esp;879:季节性景观.esp;87A:季节性景观.esp;87B:季节性景观.esp;87C:季节性景观.esp;87D:季节性景观.esp;87E:季节性景观.esp;87F:季节性景观.esp;880:季节性景观.esp;881:季节性景观.esp

要求

天际脚本扩展器 (SKSE64)

SKSE插件的地址库

[size=5]安装


请确保已正确安装上述框架。

您可以使用模组管理器或手动安装此模组。此模组的 DLL 文件应安装在此处:
数据/SKSE/插件/

在游戏过程中安装或卸载应该都是安全的。可能需要稍微移动一下地图,这个mod才会生效。

卸载


使用模组管理器卸载,或从上述路径中删除 DLL 文件。可能需要稍微移动一下才能使草地恢复正常。


鸣谢
源代码

来自 Skyrimmods Discord 的 Fuzzles——协助测试
来自 skyrimmods discord 的 ws - 提供了很多测试方面的帮助。
AL - 为 MO2 创建了用于预缓存草的插件。
DoubleYou——协助进行测试并找到了卡顿错误。

灵兽江湖 的热门 MOD

探索适用于 灵兽江湖 的最佳MOD,带来新功能、升级画面,以及令人兴奋的方式来改变您的游戏体验。

使用 Xmod 解锁 灵兽江湖 的全部潜力 — 今天就探索这些顶级 MOD!