This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| tutorial:ds3-gparam-basics [2025/02/26 01:46] – created admin | tutorial:ds3-gparam-basics [2025/02/27 00:45] (current) – admin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Map Lighting Tutorial (DS3) ====== | ====== Map Lighting Tutorial (DS3) ====== | ||
| + | Authors: Abyss1ne | ||
| The Dark Souls 3 lighting system is really unique and complicated to mess with, so here it is a tutorial teaching you the basics on how to modify it. First of all, we need to understand the file type used for lighting and where it can be found. | The Dark Souls 3 lighting system is really unique and complicated to mess with, so here it is a tutorial teaching you the basics on how to modify it. First of all, we need to understand the file type used for lighting and where it can be found. | ||
| Line 16: | Line 17: | ||
| Let’s start talking about the LIGHT section, what exactly it does? Well, this category will deal with the position of the light’s direction, the color it will use, the strength of that color, the strength of the light’s reflection and the SSAO of it. | Let’s start talking about the LIGHT section, what exactly it does? Well, this category will deal with the position of the light’s direction, the color it will use, the strength of that color, the strength of the light’s reflection and the SSAO of it. | ||
| - | + | <code XML> | |
| - | [LIGHT ANGLE] | + | [LIGHT ANGLE] |
| <param name1=" | <param name1=" | ||
| <value id=" | <value id=" | ||
| + | </ | ||
| The bold numbers above are, in order, the Y Axis and the X Axis of the light’s angle. | The bold numbers above are, in order, the Y Axis and the X Axis of the light’s angle. | ||
| - | + | <code XML> | |
| - | [LIGHT COLOR] | + | [LIGHT COLOR] |
| - | < | + | <param name1=" |
| - | <value id=" | + | <value id=" |
| + | </code> | ||
| The bold numbers above are, in order, the following: | The bold numbers above are, in order, the following: | ||
| **RED/ | **RED/ | ||
| - | + | <code XML> | |
| - | [LIGHT | + | [LIGHT |
| <param name1=" | <param name1=" | ||
| - | | + | <value id=" |
| + | </code> | ||
| The bold numbers above are, in order, the following: | The bold numbers above are, in order, the following: | ||
| **RED/ | **RED/ | ||
| - | | + | <code XML> |
| - | < | + | [LIGHT |
| - | <value id=" | + | <param name1=" |
| + | <value id=" | ||
| - | | + | [SSAO STRENGTH] |
| <param name1=" | <param name1=" | ||
| - | | + | <value id=" |
| - | + | </ | |
| (Just one more observation, | (Just one more observation, | ||
| Line 53: | Line 57: | ||
| Now that I have presented the 5 main observations of what controls some characteristics of the LIGHT, I will need you to make a mental effort to understand one point, let's imagine the following: | Now that I have presented the 5 main observations of what controls some characteristics of the LIGHT, I will need you to make a mental effort to understand one point, let's imagine the following: | ||
| - | + | <code XML> | |
| - | + | <param name1=" | |
| - | | + | <value id=" |
| - | <value id=" | + | <value id=" |
| - | <value id=" | + | <value id=" |
| - | <value id=" | + | <value id=" |
| - | <value id=" | + | <value id=" |
| - | <value id=" | + | <value id=" |
| - | <value id=" | + | </ |
| - | + | ||
| In this part of gparam, we have the colour of some ID lighting: | In this part of gparam, we have the colour of some ID lighting: | ||
| + | <code XML> | ||
| Value id=" | Value id=" | ||
| + | </ | ||
| Sounds confusing but imagine you are editing a piece of mapstudio map, there are two sections of information where you can set these ids | Sounds confusing but imagine you are editing a piece of mapstudio map, there are two sections of information where you can set these ids | ||
| + | <code XML> | ||
| LightSetID | LightSetID | ||
| FogParamID | FogParamID | ||
| + | </ | ||
| When you set a LightSetID for that mappiece using mapstudio, it will use the info stored on that id to light that mappiece. Some maps have dozens of ids, and those ids were hand produced by a Fromsoftware lighting desinger. Usually the light 0 is the general light that the map has, and the other ids are for other peculiarities of the map like grass, very distant objects, among other things. | When you set a LightSetID for that mappiece using mapstudio, it will use the info stored on that id to light that mappiece. Some maps have dozens of ids, and those ids were hand produced by a Fromsoftware lighting desinger. Usually the light 0 is the general light that the map has, and the other ids are for other peculiarities of the map like grass, very distant objects, among other things. | ||
| Line 80: | Line 84: | ||
| Now let's imagine the following, each Value ID has 4 lights that can be directed and configured. | Now let's imagine the following, each Value ID has 4 lights that can be directed and configured. | ||
| + | <code XML> | ||
| < | < | ||
| < | < | ||
| < | < | ||
| < | < | ||
| + | </ | ||
| They seems to be pretty much the same thing, but they arent. Take a look at this: | They seems to be pretty much the same thing, but they arent. Take a look at this: | ||
| + | <code XML> | ||
| < | < | ||
| < | < | ||
| < | < | ||
| < | < | ||
| + | </ | ||
| Each id has these 4 lights | Each id has these 4 lights | ||
| - | - |Light| | + | |
| - | - |Light| | + | - |Light| |
| - | - |LocalLight| | + | - |LocalLight| |
| - | - |LocalLight| | + | - |LocalLight| |
| - | + | ||
| Every light will always have Light color 0 and Light color 1 active and visible, but near the end of this portion of the XML that takes care of the light part you will find | Every light will always have Light color 0 and Light color 1 active and visible, but near the end of this portion of the XML that takes care of the light part you will find | ||
| + | <code XML> | ||
| + | <param name1=" | ||
| + | <value id=" | ||
| - | <param name1=" | + | <param name1=" |
| - | <value id=" | + | <value id=" |
| - | + | </code> | |
| - | <param name1=" | + | |
| - | <value id=" | + | |
| This part is the section that tells you whether a light has the local light ON or OFF (TRUE and FALSE). | This part is the section that tells you whether a light has the local light ON or OFF (TRUE and FALSE). | ||
| Local Light 1 and Local Light 2 generally illuminate the entire asset, be it chr, obj or mappiece. | Local Light 1 and Local Light 2 generally illuminate the entire asset, be it chr, obj or mappiece. | ||
| - | |||
| - | --------------------------------------------------------------------------------------- | ||
| - | |||
| Now that we have looked at what controls light, let's take a step back and look at something mentioned earlier how the gparam structure is divided: | Now that we have looked at what controls light, let's take a step back and look at something mentioned earlier how the gparam structure is divided: | ||
| Line 131: | Line 133: | ||
| It will follow a similar structure to the light part, much of this you will have to test and experience personally. | It will follow a similar structure to the light part, much of this you will have to test and experience personally. | ||
| + | <code XML> | ||
| <param name1=" | <param name1=" | ||
| - | | + | <value id=" |
| - | | + | |
| + | </ | ||
| The bold numbers above are, in order, the following: | The bold numbers above are, in order, the following: | ||
| **RED/ | **RED/ | ||
| + | <code XML> | ||
| <param name1=" | <param name1=" | ||
| <value id=" | <value id=" | ||
| + | </ | ||
| The bold numbers above are, in order, the following: | The bold numbers above are, in order, the following: | ||
| Line 150: | Line 153: | ||
| Basically changing the Fog-Dist will manage the horizontal distance from the fog to the player. On the other hand, Fog-heightDist will do the same but vertically. | Basically changing the Fog-Dist will manage the horizontal distance from the fog to the player. On the other hand, Fog-heightDist will do the same but vertically. | ||
| - | + | <code XML> | |
| <param name1=" | <param name1=" | ||
| <value id=" | <value id=" | ||
| Line 157: | Line 159: | ||
| <param name1=" | <param name1=" | ||
| <value id=" | <value id=" | ||
| - | + | </ | |
| The last two options, Fog-fogAlpha and Fog-fogContrast, | The last two options, Fog-fogAlpha and Fog-fogContrast, | ||
| + | <code XML> | ||
| < | < | ||
| <value id=" | <value id=" | ||
| Line 168: | Line 169: | ||
| < | < | ||
| <value id=" | <value id=" | ||
| - | + | </ | |
| - | + | ||
| - | --------------------------------------------------------------------------------------- | + | |
| To end this tutorial, let’s talk a little bit about some PosEffects examples and the last options and sections on the gparam file: | To end this tutorial, let’s talk a little bit about some PosEffects examples and the last options and sections on the gparam file: | ||