Jump to content
Sign in to follow this  
Spectral Dragon

(Basic) Multilayer Parallax Tutorial

Recommended Posts

Hello everyone!

There is a large myth going around that you can't use Parallax without ENB. People have been making textures around this myth for years now. I am here to tell you it is only partially true.

Multilayer Parallax is a powerful form of parallax that is a form of depth map. A depth map differs from a height map in that instead of raising the detail, it lowers some detail of a texture. In Skyrim, you can also fake subsurface scattering with this map, but this tutorial will not get into that at this time.

Regular parallax, as some of you know, is a height map. It is a single height texture. This form of parallax is not the strongest form of parallax out there. It is, however, the one you cannot use in vanilla Skyrim.

Thus, the myth about parallax is partially true in that you cannot use the height-map based parallax. You can, however, use the more powerful, depth based form of parallax and that is what I am going to show you.

Time from now until complete implementation: roughly 5 minutes for seasoned texture artists.

  1) Open your Diffuse map in Photoshop. go to the channels section, and click the "add new channel" button.

large.Untitled-1.png.f9b2cbf7e6c52a24c72

2) Open your normal map for the same texture, and make it a height map:

     1) Select: Filters => NVidia Tools => Normal Map Filter

large.Untitled-1.png.1edd94cc1ca3f8f1b85

     2) In the window that pops up, select "convert to Height Map" and hit ok. (Note, there are specialists programs out there such as Crazybump and Xnormal which may be a better option for this step.) (you may need to invert the X channel.)

     3) With the results of that done, hit "CTRL+A" to select the entire image. Then "CTRL+C" to copy that result.

3) Go back to your Diffuse map, and select your new alpha channel. Make sure it's the only thing selected, then hit CTRL+V to paste what you just copied in there. What you just pasted was an alpha layer that makes certain parts of this diffuse disappear so your second diffuse can show.

4) Save the results of this as DX5 format. I like to suffix these with MLP so I know I am making a multi-layer parallax specific texture.

5) Now, in that same file, select your alpha channel again, and hit "CTRL+I" What this does is inverts the results of your height map, turning it into a depth map.

6) Save the results of that file. I like to suffix it with MLP_D to tell me it's a multi-layer depth map specifically. You should not need photoshop after this point so if you like, close it out.

7) Open the .nif file you wish to apply these multilayer parallax textures to.

8) Select the specific NiTriShape you want to apply Multilayer Parallax to.

9) In that NiTriShape, select Skyrim Shader type at the very top and turn that into Multilayer Parallax.

large.Untitled-1.png.45ce4154bc4f4fe8292

10) In Shader Flags 2, ensure that the Multilayer Parallax Flag is check. This will open up the multilayer Parallax flags at the bottom. Ensure no flags for environment maps are checked, as you cannot use an environment map and multilayer parallax at the same time. You also cannot have a glow map with multilayer parallax. If you want either of those in your nif, you need to model them as separate objects/NiTriShapes.

I would also advise beginner to copy the flag settings I have below if you are unsure which flags you need:

large.Untitled-1.png.190e3b85449a1d3c9f5

11) Scroll down the the sections that have the word Parallax in them as shown in the picture below. Play with these settings to your hearts content and find out what you can get away with in-game. Here is what those settings do:

  • Parallax Inner Layer Strength: This is how deep you want your depth map to go. Numbers appear to range from 1-100, but this hasn't been thoroughly tested yet.
  • Parallax Refraction Scale: This controls how much your maps wrap around your normal map. Numbers appear to go from 0-1, with 1 being 100 percent. Worth playing around with.
  • Parallax Inner Layer Texture Scale: This controls the scale of the UV map for your inner layer Diffuse, unless you are doing advanced mapping this needs to be at 1, 1.
  • Parallax Env Map Strength: Controls how much your top Diffuse effects the entire texture. Goes from 0-1, with 1 being 100% Suggest less than 1 and worth playing around with.
  • For those who want some suggested settings that work, see pic below.

 

medium.Untitled-1.png.983c941b97d0187452

12) We aren't done yet, time to plug in the textures. Go into BSShaderTextures by clicking the little arrow and plug your MLP into slot one, your normal map into slot 2, and your MLP_D into slot seven.

At this point it should be ok to save the file and test it in-game.
large.ScreenShot7.png.399981f2c2e3f3915f

 

Total prep Time: 5 minutes or so. It really is worth doing and will boost the quality of your work an incredible amount.

Credits: Everything I learned was from this link, the rest I figured out on my own over the course of a night: http://forums.nexusmods.com/index.php?/topic/1188259-bslightingshaderproperty-basics/

Edited by Spectral Dragon
  • reaction_title_1 5

Share this post


Link to post
Share on other sites

I finally got around to working through this, and it really is amazing the difference it can make. The doubling of the file size does seem worth it, especially with most people having 2 GB or greater cards these days. I wanted to add something I noticed in a nifskope 2 dev video, where they are using a Parallax Inner Layer Thickness of 500, so it looks like its at least not bounded to 0-100.

  • reaction_title_1 1

Share this post


Link to post
Share on other sites

I'd like to note that I have several mods that incorporate this into the environment, including one that does all rocks, one that does all nordic ruins, and some that do towns. I have not run out of RAM because of these mods, and my computer is a potato at this point. (3.0 AMD quad-core, HDRadeon 6570 1 gigVRAM.)

This means the amount of RAM this uses isn't an issue even now, and when we get a full province out it definitely won't be. I would also like to note that not everything benefits from Parrallax so we won't really double our texture size using this.

  • reaction_title_1 3

Share this post


Link to post
Share on other sites

I have to try this. In my experience, this doesn't look so great with non transparent or non semi-transparent textures, but that was with different game engines, so... we'll see. You definitely got me curious about this.

Since you are an advanced modeller, one thing of importance is that I believe if you lay each of the two parts of the depth map (the alpha layer in the first texture and the actual depth map in the second,) that the total value should equal black (there can't be any gaps). This is why I suggest converting your normal into a height map for your alpha and then reversing it for your depth map as it will give you this result each and every time. 

(I'm pretty sure you know this, so this is just me babbling at this point.) However, with that knowledge more and interesting things can be done with this. Lets say I'm working on a window for example and I want to fake the pane on the other side (as you suggested the original use for this is on semi-transparent textures.) With this technique I don't have to model the bars holding the panes as the texture can handle that just fine, I can save poly's by putting a lot of the detail into the texture. 

As well, it was suggested that I put a glowing effect through the veins in the floor. I can't do that using an animated glow map but it occurs to me that I can animate the second texture and make the veins semi-tranparent without fear of losing my detail on the stones. 

This really should be played with by a texture artist more experienced than myself is what I am getting at :) 

  • reaction_title_1 2

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×