Difference between revisions of "Modding Guide/zh"
(→游戏目录结构) |
|||
(18 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | {{under Construction}} | ||
{{DISPLAYTITLE:MOD制作指南}} | {{DISPLAYTITLE:MOD制作指南}} | ||
{{tocright}} | {{tocright}} | ||
==说明== | ==说明== | ||
:本页主要提供入门模组制作前的基本信息,辅助了解各种模组制作可涉及的范畴和能力。 | :本页主要提供入门模组制作前的基本信息,辅助了解各种模组制作可涉及的范畴和能力。 | ||
− | :可先阅览 '''[https://www.spaceengineersgame.com/modding-guides/ 官方的模组制作指引页面(英文)]''' | + | :可先阅览 '''[https://www.spaceengineersgame.com/modding-guides/ 官方的模组制作指引页面(英文)]'''。 |
− | == | + | ==模改时 需知目录问题== |
− | + | mod文件夹必须包含一个名为Data的子文件夹,其中包含添加或更新的mod的定义文件。几乎所有内容都可以由modder替换/更新(音频、视频、纹理、模型、gui等)。Mods仅限于一个世界,不能改变这个世界范围之外的任何东西。例如,虽然你可以替换块mod的GUI图标之类的东西,但你不能替换整个UI的图形,因为它存在于加载mod的世界之外。? | |
− | |||
− | == | + | ==教程和指引 Tutorials/Guides== |
− | + | * [[How to Mod Blocks]] | |
− | + | * [[How to Mod the Skybox]] | |
− | + | * [[How to Mod Characters]] | |
− | + | * [[How to Mod Character Animations]] | |
− | + | * [[How to Mod Ore]] | |
− | + | * [[How to Mod Production]] | |
− | + | * [[How to Mod Script]] | |
− | + | * [[How to Mod Respawn Ships]] | |
− | + | * [[How to Mod NPC Cargo Ships]] | |
− | + | * [[How to Mod Exploration]] | |
− | + | * [[How to Mod Scenarios]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | * | ||
− | |||
− | * | ||
− | |||
− | |||
− | * [ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | [[ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | [[ | ||
− | + | *[https://www.spaceengineersgame.com/visual-scripting-tool/ Visual Script Tool] | |
− | + | *[https://www.spaceengineersgame.com/plugins/ Plugin] | |
− | + | *[https://www.spaceengineersgame.com/troubleshooting/ 查错] | |
− | |||
− | + | *[https://www.spaceengineersgame.com/modding/ Modding Basics] | |
+ | *[https://www.spaceengineersgame.com/modding-guides/space-engineers-workshop-guide/ How to use Workshop in Space Engineers]() | ||
+ | *[https://www.spaceengineersgame.com/modding-guides/ship-speed/ Modding Guide: Ship Speed]() | ||
+ | *[https://www.spaceengineersgame.com/modding-guides/modding-guide-weather-effects/ Modding Guide: Weather Effects]() | ||
+ | *[https://www.spaceengineersgame.com/modding-guides/modding-guide-automatic-weather-system/ Modding Guide: Automatic Weather System]() | ||
+ | *[https://www.spaceengineersgame.com/modding/advanced-3d-models-guide/ Advanced 3D Models Guide]() | ||
+ | *[https://www.spaceengineersgame.com/modding/moddable-collision-models/ Moddable Collision Models]() | ||
+ | *[https://www.spaceengineersgame.com/modding/model-viewer/ Model-viewer]() | ||
− | == | + | ==FAQ== |
− | + | ===着色器脚本 Shaders 问题=== | |
+ | :版本1.202.124 着色器脚本 是 hlsl 和 hlsli | ||
+ | :<s>旧版游戏着色器脚本由 fx fxh 组成每次执行会根据 fx 编译 fxo在游戏目录\Content\Effects2\中</s> | ||
− | + | ===材质贴图 Textures问题=== | |
− | + | :[[File:6367154.jpg|framed|PS插件DDS导出设置]] | |
− | + | :DirectX *.dds 格式(DXT5压缩) 需要对应工具才能处理, | |
+ | :若你可以使用Adobe Photoshop,推荐用[https://developer.nvidia.com/nvidia-texture-tools-adobe-photoshop 安装此插件]来导出。 | ||
+ | :游戏的贴图素材目录有些子分类比如: GUI界面, particles粒子, lights光, models模型, voxels体素 等 | ||
+ | *贴图尾缀“_ns” 代表了三色通道均为 "normal map" 且 ALPHA 通道则是"specular map"。 | ||
+ | *贴图尾缀“_de” 代表了三色通道均为 "diffuse map"且 ALPHA 通道则是"emissive map"。 | ||
+ | :这些贴图形式主要用于方块或菜单图标的GUI内容。 | ||
+ | ;随着Space Engineers从DX9 PBR<ref>Physicallly-Based Rendering 物理性渲染</ref>纹理转移到DX11 PBR纹理,创建纹理的方法发生了变化 | ||
+ | :最简单的方法是将制作的材质图片素材存档为 PNG 或TIFF格式并通过[http://steamcommunity.com/sharedfiles/filedetails/?id=635927143 Texture Packing Tool]编码为 DDS 贴图 | ||
+ | :DX11贴图采用了多种压缩方式(BC3到BC7)<ref>[https://learn.microsoft.com/zh-cn/windows/win32/direct3d11/texture-block-compression-in-direct3d-11 Direct3D 11 中的纹理块压缩]</ref>由此导致仍然停留在DX9的图形插件无法打开和存为这种DDS | ||
+ | :这些DX11贴图是有这些命名尾缀 | ||
+ | *“_cm”-颜色(反照率)和Metaness贴图(alpha)。 | ||
+ | *“_ng”-法线贴图和光泽贴图(alpha)。 | ||
+ | *“_add”-添加纹理-尚未指定AO(红色通道)、G(发射)和B通道以及自定义颜色遮罩(alpha通道)。 | ||
+ | *“_alphamask”-阿尔法映射。 | ||
+ | <!-- | ||
* “_cm” - Color(albedo) and Metalness map (alpha). | * “_cm” - Color(albedo) and Metalness map (alpha). | ||
* “_ng” - Normal map and Gloss map (alpha). | * “_ng” - Normal map and Gloss map (alpha). | ||
* “_add” - Add texture - AO (Red channel), G (emissive) and B channels are not specified yet and Custom Color mask (alpha channel). | * “_add” - Add texture - AO (Red channel), G (emissive) and B channels are not specified yet and Custom Color mask (alpha channel). | ||
* “_alphamask” - alpha map. | * “_alphamask” - alpha map. | ||
+ | --> | ||
+ | :<hr/> | ||
+ | :[https://steamcommunity.com/sharedfiles/filedetails/?id=395248715 here]提供了更多信息,虽然这个链接是《太空工程师》的姊妹游戏《中世纪工程师》的链接,但游戏共享一个共同的代码库,两款游戏的修改过程几乎相同。 | ||
− | + | <references/> | |
− | |||
− | |||
− | |||
− | + | ===建模方式问题=== | |
− | + | mwm模型是由MwmBuilder基于fbx文件生成的 | |
− | + | fbx? filmboX 模型交换格式.adobe fbx | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
MwmBuilder Location: | MwmBuilder Location: | ||
Line 157: | Line 88: | ||
Moddable collision models: [http://www.spaceengineersgame.com/moddable-collision-models.html Adding new model with collision geometry]. | Moddable collision models: [http://www.spaceengineersgame.com/moddable-collision-models.html Adding new model with collision geometry]. | ||
− | == | + | ===模改脚本方式=== |
Creating a working script is a difficult process for a single individual to do, and to facilitate easy creation of scripts an API is required to guide a prospective modder in the correct direction. Initially the community did this themselves with the [[Mod:SEModAPI]], but in [[Update 01.048]] Keen released an official API as well. SEModAPI is no longer in development and should no longer be used. This guide and others like it on the official wiki will only discuss how to use the official API. | Creating a working script is a difficult process for a single individual to do, and to facilitate easy creation of scripts an API is required to guide a prospective modder in the correct direction. Initially the community did this themselves with the [[Mod:SEModAPI]], but in [[Update 01.048]] Keen released an official API as well. SEModAPI is no longer in development and should no longer be used. This guide and others like it on the official wiki will only discuss how to use the official API. | ||
Line 168: | Line 99: | ||
The current implementation of the API includes all three methods. Since these mods can be subscribed to and downloaded within Steam's infrastructure, certain limitations are in place to make sure that malicious mods cannot do irreversible damage (such as deleting files on the hard drive, etc). As such, not every in-game or out-of-game function can be used. See the [[Scripting Whitelist]] page for more information. | The current implementation of the API includes all three methods. Since these mods can be subscribed to and downloaded within Steam's infrastructure, certain limitations are in place to make sure that malicious mods cannot do irreversible damage (such as deleting files on the hard drive, etc). As such, not every in-game or out-of-game function can be used. See the [[Scripting Whitelist]] page for more information. | ||
− | ===插件模组 Plug-in DLL mods=== | + | ====插件模组 Plug-in DLL mods==== |
These can bypass all protections in place in the game for preventing malicious code. That is what makes them so powerful as they can use functions normally restricted. They can do things like changing the GUI menus to add custom screens or add custom functions to blocks which are normally hard coded in the game. They are not available as workshop mods and are manually downloaded and loaded in the game with a specially created shortcut to SpaceEngineers.exe. It is advisable to only use plugins from a trusted programmer, or one that has the plugin source publicly viewable. Some plugins also have their own mods that need to be subscribed and added to a world through the Steam Workshop in addition to manually installing the plugin. Because of the potential for plugins to cause damage to not only the game saves, but to an individual PC, they are not officially supported by KSH. | These can bypass all protections in place in the game for preventing malicious code. That is what makes them so powerful as they can use functions normally restricted. They can do things like changing the GUI menus to add custom screens or add custom functions to blocks which are normally hard coded in the game. They are not available as workshop mods and are manually downloaded and loaded in the game with a specially created shortcut to SpaceEngineers.exe. It is advisable to only use plugins from a trusted programmer, or one that has the plugin source publicly viewable. Some plugins also have their own mods that need to be subscribed and added to a world through the Steam Workshop in addition to manually installing the plugin. Because of the potential for plugins to cause damage to not only the game saves, but to an individual PC, they are not officially supported by KSH. | ||
− | = | + | ===另见 See also=== |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ==另见 See also== | ||
* [https://github.com/gilgame/SEWorkbench SE Workbench] - an [https://forum.keenswh.com/threads/beta-space-engineers-workbench-a-feature-rich-ide-for-space-engineers-program-development.7375609/ independent] scripting [[wikipedia:Integrated development environment|IDE]] | * [https://github.com/gilgame/SEWorkbench SE Workbench] - an [https://forum.keenswh.com/threads/beta-space-engineers-workbench-a-feature-rich-ide-for-space-engineers-program-development.7375609/ independent] scripting [[wikipedia:Integrated development environment|IDE]] | ||
− | + | ===工具=== | |
− | ==工具== | ||
There are many different workflows used by various modders. There is also not a universal workflow that works for everyone. However, the following tools are recommend by most modders and make it much easier to create mods: | There are many different workflows used by various modders. There is also not a universal workflow that works for everyone. However, the following tools are recommend by most modders and make it much easier to create mods: | ||
* Notepad++ (For XML, SBC, and general text editing) | * Notepad++ (For XML, SBC, and general text editing) | ||
Line 196: | Line 112: | ||
* Harag's [http://forum.keenswh.com/threads/se-block-tools-for-blender.7285972/ plugin] for easily configuring blender and exporting 3d models into VRage format. | * Harag's [http://forum.keenswh.com/threads/se-block-tools-for-blender.7285972/ plugin] for easily configuring blender and exporting 3d models into VRage format. | ||
* Paint.NET (Photoshop also works if you have [https://developer.nvidia.com/nvidia-texture-tools-adobe-photoshop this] plugin for exporting in the dds format) | * Paint.NET (Photoshop also works if you have [https://developer.nvidia.com/nvidia-texture-tools-adobe-photoshop this] plugin for exporting in the dds format) | ||
− | |||
− | |||
− | |||
− | |||
---- | ---- |
Latest revision as of 07:06, 29 August 2023
🚧🚧🚧 Under Construction 🚧🚧🚧 |
---|
Attention - This page is currently being actively worked on, and may contain incomplete information
|
说明
- 本页主要提供入门模组制作前的基本信息,辅助了解各种模组制作可涉及的范畴和能力。
- 可先阅览 官方的模组制作指引页面(英文)。
模改时 需知目录问题
mod文件夹必须包含一个名为Data的子文件夹,其中包含添加或更新的mod的定义文件。几乎所有内容都可以由modder替换/更新(音频、视频、纹理、模型、gui等)。Mods仅限于一个世界,不能改变这个世界范围之外的任何东西。例如,虽然你可以替换块mod的GUI图标之类的东西,但你不能替换整个UI的图形,因为它存在于加载mod的世界之外。?
教程和指引 Tutorials/Guides
- How to Mod Blocks
- How to Mod the Skybox
- How to Mod Characters
- How to Mod Character Animations
- How to Mod Ore
- How to Mod Production
- How to Mod Script
- How to Mod Respawn Ships
- How to Mod NPC Cargo Ships
- How to Mod Exploration
- How to Mod Scenarios
- Modding Basics
- How to use Workshop in Space Engineers()
- Modding Guide: Ship Speed()
- Modding Guide: Weather Effects()
- Modding Guide: Automatic Weather System()
- Advanced 3D Models Guide()
- Moddable Collision Models()
- Model-viewer()
FAQ
着色器脚本 Shaders 问题
- 版本1.202.124 着色器脚本 是 hlsl 和 hlsli
旧版游戏着色器脚本由 fx fxh 组成每次执行会根据 fx 编译 fxo在游戏目录\Content\Effects2\中
材质贴图 Textures问题
- DirectX *.dds 格式(DXT5压缩) 需要对应工具才能处理,
- 若你可以使用Adobe Photoshop,推荐用安装此插件来导出。
- 游戏的贴图素材目录有些子分类比如: GUI界面, particles粒子, lights光, models模型, voxels体素 等
- 贴图尾缀“_ns” 代表了三色通道均为 "normal map" 且 ALPHA 通道则是"specular map"。
- 贴图尾缀“_de” 代表了三色通道均为 "diffuse map"且 ALPHA 通道则是"emissive map"。
- 这些贴图形式主要用于方块或菜单图标的GUI内容。
- 随着Space Engineers从DX9 PBR[1]纹理转移到DX11 PBR纹理,创建纹理的方法发生了变化
- 最简单的方法是将制作的材质图片素材存档为 PNG 或TIFF格式并通过Texture Packing Tool编码为 DDS 贴图
- DX11贴图采用了多种压缩方式(BC3到BC7)[2]由此导致仍然停留在DX9的图形插件无法打开和存为这种DDS
- 这些DX11贴图是有这些命名尾缀
- “_cm”-颜色(反照率)和Metaness贴图(alpha)。
- “_ng”-法线贴图和光泽贴图(alpha)。
- “_add”-添加纹理-尚未指定AO(红色通道)、G(发射)和B通道以及自定义颜色遮罩(alpha通道)。
- “_alphamask”-阿尔法映射。
- here提供了更多信息,虽然这个链接是《太空工程师》的姊妹游戏《中世纪工程师》的链接,但游戏共享一个共同的代码库,两款游戏的修改过程几乎相同。
- ↑ Physicallly-Based Rendering 物理性渲染
- ↑ Direct3D 11 中的纹理块压缩
建模方式问题
mwm模型是由MwmBuilder基于fbx文件生成的 fbx? filmboX 模型交换格式.adobe fbx
MwmBuilder Location: {Steam installations directory}\SteamApps\common\SpaceEngineers\Tools\MwmBuilder.exe
Models are stored in: steamapps\common\SpaceEngineersModSDK\OriginalContent\Models\
Models have been moved to the SpaceEngineers ModSDK. For information on obtaining the SDK on Steam check here
SIMPLE USAGE:
- ) Copy FBX models to the same directory as MwmBuilder.exe
- ) Create an XML file with the same name as the model. Giraffe.fbx will have Giraffe.xml.
- ) Run MwmBuilder.exe
- ) You'll find .mwm files in the same folder
For advanced usage see here: ADVANCED 3D MODELS GUIDE
Moddable collision models: Adding new model with collision geometry.
模改脚本方式
Creating a working script is a difficult process for a single individual to do, and to facilitate easy creation of scripts an API is required to guide a prospective modder in the correct direction. Initially the community did this themselves with the Mod:SEModAPI, but in Update 01.048 Keen released an official API as well. SEModAPI is no longer in development and should no longer be used. This guide and others like it on the official wiki will only discuss how to use the official API.
There are three planned "levels" of script modding for the official API:
- Plug-ins(DLLs) - will be the most powerful (and most difficult to create). This involves creating a set of custom methods, objects, and interfaces in Visual Studio and compiling the project into a .DLL file.
- ModAPI script mods - will allow access to objects at the world level as opposed to a single ship grid with in-game scripts. This level of script can, for example, add an effect to all blocks of a certain type on all ships regardless of owner. One such early script mod was used to create a teleporter.
- In-game scripts - will provide the quickest form of modification for simple or low-scope scripts. These are loaded via the Programmable Block's Menu. They can be written directly into the the text panel of the block or downloaded from a subscribed script in the workshop by clicking on a button in the same panel.
The current implementation of the API includes all three methods. Since these mods can be subscribed to and downloaded within Steam's infrastructure, certain limitations are in place to make sure that malicious mods cannot do irreversible damage (such as deleting files on the hard drive, etc). As such, not every in-game or out-of-game function can be used. See the Scripting Whitelist page for more information.
插件模组 Plug-in DLL mods
These can bypass all protections in place in the game for preventing malicious code. That is what makes them so powerful as they can use functions normally restricted. They can do things like changing the GUI menus to add custom screens or add custom functions to blocks which are normally hard coded in the game. They are not available as workshop mods and are manually downloaded and loaded in the game with a specially created shortcut to SpaceEngineers.exe. It is advisable to only use plugins from a trusted programmer, or one that has the plugin source publicly viewable. Some plugins also have their own mods that need to be subscribed and added to a world through the Steam Workshop in addition to manually installing the plugin. Because of the potential for plugins to cause damage to not only the game saves, but to an individual PC, they are not officially supported by KSH.
另见 See also
- SE Workbench - an independent scripting IDE
工具
There are many different workflows used by various modders. There is also not a universal workflow that works for everyone. However, the following tools are recommend by most modders and make it much easier to create mods:
- Notepad++ (For XML, SBC, and general text editing)
- Visual Studio (For scripting)
- Blender (For creating 3d models)
- Harag's plugin for easily configuring blender and exporting 3d models into VRage format.
- Paint.NET (Photoshop also works if you have this plugin for exporting in the dds format)