Skyrim Community Shaders
SKSE 核心插件,用于社区驱动的高级图形修改。
要求
- 任意终端(例如,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.json中builtin-baseline指定的 commit id 匹配,否则可能会获取到未固定版本的 vcpkg 依赖项的其他版本,从而导致未定义行为
User Requirements
- Address Library for SKSE
- SSE/AE 所需
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)
按照提示 Configure 并 Build 该项目。
默认情况下,它应在 ./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_PACKAGE、Package-AIO-Manual、Package-Core 和 Package-<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。
- 如果尚未安装,请先安装 Docker。
- 在您选择的 shell 中运行以下命令以切换到 Windows 容器并创建构建容器:
& 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchWindowsEngine; `
docker build -t skyrim-community-shaders .
- 然后运行构建:
docker run -it --rm -v .:C:/skyrim-community-shaders skyrim-community-shaders:latest
- 从
build/aio文件夹中获取生成的构建文件。 - 在后续构建中,仅运行构建步骤(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
- 打开 Steam
- 关闭 ModOrganizer GUI
- 将
ModOrganizer.exe(MO2 Folder) 添加到你的 PATH,或使用其路径 - 运行以下命令:
# 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 包括:
- Skyrim(及其变体)
- 用于启用通过专有 SDK 提供的额外功能的硬件驱动程序,例如 Nvidia DLSS 和 AMD FidelityFX FSR3
Modding Libraries 包括:
- SKSE
- Commonlib(及其变体)。
着色器
请参阅每个目录内的 LICENSE;如果没有,则为 Default
图标
- Community Shaders Logo 不受 GPL-3.0 许可证的约束。它仅用于个人用途(例如,从源代码构建),且只能以未修改的形式使用。对于任何其他用途或分发该标志,均无许可证。未授予该标志的商标许可。未经 Community Shaders 团队的明确书面同意,禁止任何未明确允许的使用。