ITADN
doodlum/skyrim-community-shaders
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Latest Release License Last Commit Build Status Discord Open Issues Contributors Stars

Pre-commit CI CodeRabbit Pull Request Reviews

Ask DeepWiki

Skyrim Community Shaders

SKSE 核心插件,用于社区驱动的高级图形修改。

Nexus User Wiki

要求

  • 任意终端(例如,PowerShell)
  • Visual Studio Community 2026
    • Desktop development with C++
    • CMake Tools for Windows
    • HLSL Tools
  • Git
    • 编辑 PATH 环境变量,并将 Git.exe 的安装路径添加为新值

可选要求

CMake & Vcpkg comes with Visual Studio in Developer Command Prompts already.
Install them manually only if you want them in everywhere.
  • CMake
    • 如果已安装 Visual Studio CMake Tools,则无需手动安装
    • 现在要求使用 CMake 4.2+
    • 编辑 PATH 环境变量,并将 cmake.exe 的安装路径作为新值添加
    • 查找和编辑 PATH 环境变量的说明可在此处找到 here
  • Vcpkg
    • 按照 vcpkg 的 Quick Start Guide 中的说明安装 vcpkg
    • 安装后,添加一个名为 VCPKG_ROOT 的新环境变量,其值为包含 vcpkg 的文件夹路径
    • 确保本地 vcpkg 仓库与 vcpkg.jsonbuiltin-baseline 指定的 commit id 匹配,否则可能会获取到未固定版本的 vcpkg 依赖项的其他版本,从而导致未定义行为

User Requirements

Build Instructions

Clone the Repository with submodules

要在终端中克隆包含所有子模块的仓库,请运行以下命令:

git clone https://github.com/doodlum/skyrim-community-shaders.git --recursive
cd skyrim-community-shaders

Visual Studio 构建

要构建该项目,只需使用 Visual Studio 的“打开文件夹”功能打开 ./skyrim-community-shaders。(确保在安装 VS 时已选择 CMake Tools for Windows

按照提示 ConfigureBuild 该项目。 默认情况下,它应在 ./build/ALL/aio 文件夹中生成 AIO 包。

Zip 包与可选目标

如果将 Solution Explorer 更改为 CMake Targets View,您可以找到用于为每个功能创建 zip 包的可选目标。 右键单击该目标并选择 Build,以在 ./dist/ 中创建 zip 包。

使用 CMake 在命令行中进行高级构建

打开“Developer PowerShell for VS 2026”或“x64 Native Tools Command Prompt”(这些会为您设置 Visual Studio 工具链)。

然后从仓库根目录运行:

# Generate the build files (uses the ALL preset)
cmake --preset ALL

# Build using the preset
cmake --build --preset ALL

# Install an AIO package somewhere, e.g. $MOD_FOLDER
cmake --install --preset ALL -- --prefix $MOD_FOLDER

备注

  • 如果你更喜欢手动运行 VC 环境,请启动 Developer PowerShell 或 x64 Native Tools 提示符,而不是直接从 PowerShell 调用 vcvarsall.bat。
  • 便捷封装器 BuildRelease.bat 也捕获了这些步骤。

构建 zip 包

你可以为可选的 cmake 目标构建 zip 包。 目前支持 AIO_ZIP_PACKAGEPackage-AIO-ManualPackage-CorePackage-<Feature>

# Create a AIO package in ./dist/
# Automated AIO zip (requires AIO_ZIP_TO_DIST=ON)
cmake --build ./build/ALL --config Release --target AIO_ZIP_PACKAGE

# Manual AIO package (install + tar)
cmake --build ./build/ALL --config Release --target Package-AIO-Manual

# Create a CommunityShaders core package in ./dist/
cmake --build ./build/ALL --config Release --target Package-Core

# Create a feature package in ./dist/ (example: GrassLighting)
cmake --build ./build/ALL --config Release --target Package-GrassLighting

有关打包目标、选项以及自动打包与手动打包之间差异的更多详细信息,请参阅 .claude/CLAUDE.md 中的“手动打包目标(详细)”部分。

CMAKE 选项(可选)

如果您需要一个 CMakeUserPreset 示例作为起点,您可以复制 CMakeUserPresets.json.template -> CMakeUserPresets.json

AUTO_PLUGIN_DEPLOYMENT

  • 此选项默认值为 "OFF"
  • 确保在 CMakeUserPresets.json 中将 "AUTO_PLUGIN_DEPLOYMENT" 设置为 "ON"
  • "CommunityShadersOutputDir" 的值更改为与您期望的输出相匹配,如果您想要多个文件夹,可以使用 ; 分隔,模板示例中已展示

TRACY_SUPPORT

  • 此选项默认值为 "OFF"
  • 这将启用 tracy 支持,更改此选项时可能需要删除 build 文件夹

使用自定义预设时,您可以调用 BuildRelease.bat 并传入一个参数来指定要配置的预设,例如: .\BuildRelease.bat ALL-WITH-AUTO-DEPLOYMENT

在不同预设之间切换时,您可能需要删除 build 文件夹

使用 Docker 构建

对于不想在机器上安装 Visual Studio 或其他构建依赖项的用户,此方法将其封装起来。这使用 Windows 容器,因此目前不支持 WSL。

  1. 如果尚未安装,请先安装 Docker
  2. 在您选择的 shell 中运行以下命令以切换到 Windows 容器并创建构建容器:
& 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchWindowsEngine; `
docker build -t skyrim-community-shaders .
  1. 然后运行构建:
docker run -it --rm -v .:C:/skyrim-community-shaders skyrim-community-shaders:latest
  1. build/aio 文件夹中获取生成的构建文件。
  2. 在后续构建中,仅运行构建步骤(3.)

使用 Docker 构建的故障排除

如果在步骤 3 中遇到 Access violation 构建错误,您可以尝试添加 --isolation=process:

docker run -it --rm --isolation=process -v .:C:/skyrim-community-shaders skyrim-community-shaders:latest

调试

从命令行启动 MO2-SKSE-Skyrim

  1. 打开 Steam
  2. 关闭 ModOrganizer GUI
  3. ModOrganizer.exe (MO2 Folder) 添加到你的 PATH,或使用其路径
  4. 运行以下命令:
# Change Working Directory
cd "C:/Program Files (x86)/Steam/steamapps/common/Skyrim Special Edition"
# Launch SKSE with MO2
ModOrganizer.exe --log run "C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\skse64_loader.exe"

使用 RenderDoc 捕获

在启动应用程序菜单中,使用以下设置:

  • 可执行文件路径:PATH/TO/ModOrganizer.exe
  • 工作目录:C:/Program Files (x86)/Steam/steamapps/common/Skyrim Special Edition
  • 命令行参数:--log run "C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\skse64_loader.exe"
  • 捕获子进程

许可证

默认

GPL-3.0-or-later 附带 Modding Exception AND GPL-3.0 Linking Exception (with Corresponding Source)
具体而言,Modded Code 包括:

Modding Libraries 包括:

  • SKSE
  • Commonlib(及其变体)。

着色器

请参阅每个目录内的 LICENSE;如果没有,则为 Default

图标

  • Community Shaders Logo 不受 GPL-3.0 许可证的约束。它仅用于个人用途(例如,从源代码构建),且只能以未修改的形式使用。对于任何其他用途或分发该标志,均无许可证。未授予该标志的商标许可。未经 Community Shaders 团队的明确书面同意,禁止任何未明确允许的使用。