Skyrim Special Edition
0 of 0

File information

Last updated

Original upload

Created by

n337speak

Uploaded by

n337speak

Virus scan

Safe to use

Tags for this mod

23 comments

  1. n337speak
    n337speak
    • premium
    • 65 kudos
    Locked
    Sticky
    Updated script to use the -ireplace method instead of .replace. This solves an issue I had generating parallax maps for Markarth, where for some reason the textures were named _N instead of _n and this caused the outputs to overwrite them. Fixed code has been added to the description as well as updated in the downloads page.
  2. n337speak
    n337speak
    • premium
    • 65 kudos
    Locked
    Sticky
    In case the directions were unclear:


    • Ensure that you have all requirements installed. ImageMagick should have a check box during installation to add it to your PATH.

    • Back up your textures. The script operates within a single working directory, so copy it into the folder where you're working. You can use it other ways but this is safest. This means the .ps1 file should be in the same folder as your textures each time you're working.


    • Open terminal in the folder where your textures are, and type 'par' and hit tab. This should autocomplete to './parallaxMap.ps1' if your copy of the script is in the right place. Hit enter. If everything is working correctly you should see textures with the suffix _p begin to appear. You now have parallax maps. They're half the resolution of the normals by default, but you can change that in the script if it bothers you.


    You still need to ensure your meshes are parallax ready to see the effect work and to have ENB or community shaders set up as normal, and there are other tools and downloads for that. This part is outside my scope.
  3. grvulture
    grvulture
    • premium
    • 551 kudos
    This is great and thank you for it! Is there a way to make imagemagick read BC7 files? I've read on github that they've added support for it some years ago, but when I try it on my BC7 files, it doesn't work. I know the question is irrelevant to the actual script, but I'm just wondering, maybe you know a solution about this?
    1. grvulture
      grvulture
      • premium
      • 551 kudos
      To answer my own question, you can bypass this problem by re-saving the BC7 files to BC1 using texconv. This should only be done on a temp directory, on files you are working with to create your height maps. When done, copy the _p.dds files to Skyrim and delete everything else. The parallax maps should be placed to the correct folder structure, but if you are planning to use this script, I guess you know what you're doing already.

      To resave to BC1, add the texconv.exe file to wherever you placed imagemagick (so it's already in the Windows PATH variable), and add the following line, above the "& magick ...." line in the script:
      & texconv -pow2 -f BC1_UNORM $normalMapPath -y
  4. effeh
    effeh
    • premium
    • 0 kudos
    I tried using this to generate some quick and dirty terrain parallax for BS:Bruma so I wouldn't have to uncheck terrain parallax in CS every time I go there, but no luck. I mean the script ran fine and I'm pretty sure I put the textures in the right dirs after, it just had no effect in-game; still the spiky terrain.

    For background, terrain parallax is different in that it's all or nothing - every terrain texture has to have an appropriate parallax map or you get very ugly parallax spiking on the textures missing it, because Auto Parallax will not save you (I guess). There's probably other stuff going on beyond me. There's plenty of texture packs that cover all the skyrim landscape textures, not so for Bruma (nor would I expect there to be, for a preview of an in-dev mod).

    I'm a novice when it comes to the texture/mesh side of modding - I expect there's just something different about terrain that makes this not work out quite as smoothly as I'd naively expect. I get needing a parallax enabled mesh, but in this case it's just like, the ground. I'm not quite sure why a _p.dds is loaded fine for the ground in Skyrim, and some of the vanilla landscape textures used in Bruma, but not the ground in the BSHeartland worldspace.
  5. Vai1lyn
    Vai1lyn
    • premium
    • 47 kudos
    The current version of the script cannot be run on an entire mod with multiple subfolders. To fix this / increase QoL, you can add the "Recurse" flag, and it will take care of all directories:

    script.patch:
    - Get-ChildItem *_n.dds | ForEach-Object {
    + Get-ChildItem *_n.dds -Recurse | ForEach-Object {
         $normalMapPath = $_.FullName
         $heightMapPath = $normalMapPath -ireplace "_n.dds$", "_p.dds"
         # ...

    Edit: this has already been discussed further down ;) Feel free to ignore :D
  6. moke2140
    moke2140
    • premium
    • 0 kudos
    can we get a tutorial on how to do this please? i am trying my best to get folkvangr to use parallax but no succes, opening a powershell in the desired maps and using the command does nothing for me and i cant for the love of god understand this "Make sure to add to windows PATH variable (Environment Variables), and don't have any spaces in the directory name."
    1. n337speak
      n337speak
      • premium
      • 65 kudos
      Do you have ImageMagick installed? It won't work without that. And It still won't do anything for a set like Folkvangr unless you have parallax enabled meshes for it, so keep that in mind.

      I'll add the off site link to ImageMagick in the requirements since I realize now I forgot to do that.
    2. moke2140
      moke2140
      • premium
      • 0 kudos
      ah well this is not for the noobs then i guess lol, just have to wait until folkvangr will (maybe) get a parallax update
    3. gfal47
      gfal47
      • premium
      • 0 kudos
      For those of you having problems trying to get this to work.
      Step one
      go to the folder with textures you are trying to parallax 
      step two 
      right click in the open spac of the folder and open it in terminal 
      step three
      copy script and paste in in terminal crtl plus v
      press enter 
      see video for addtional visual 


    4. LuvianSkyrim
      LuvianSkyrim
      • supporter
      • 2 kudos
      For us non-scripters out there, can you elaborate on how to do this:

      • ImageMagick standalone installed and on your PATH, as DemongelRex helpfully clarifies:
        Make sure to add to windows PATH variable (Environment Variables), and don't have any spaces in the directory name.
      Thank you for making this btw!

      EDIT: Never mind, got it working. I forgot to add your .ps1 script into the appropriate directory. This is awesome!
  7. Edryu
    Edryu
    • premium
    • 212 kudos
    For me, the script does nothing in Windows 11, unless I run this command in the terminal to allow running PowerShell scripts:

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  8. Incaendo
    Incaendo
    • premium
    • 57 kudos
    This looks useful, thanks for sharing. 
  9. Direcat4165
    Direcat4165
    • member
    • 43 kudos
    I am interested.  Will this generate *complex* parallax maps?
    1. DefinitelyNotNoah
      DefinitelyNotNoah
      • premium
      • 86 kudos
      they are literally the same ._.
    2. Zanderat
      Zanderat
      • premium
      • 205 kudos
      I think what the OP means is what Majestic Mountains Enb Parallax is doing.  It's not the same as what regular parallax (and hopefully will make it obsolete).
    3. DefinitelyNotNoah
      DefinitelyNotNoah
      • premium
      • 86 kudos
      the parallax map is ALWAYS the same shit. It's just how it's implemented. MM doesn't do sth REVOLUTIONARY either. It just tries implementing parallax in a way where it causes the least issues with multilayer parallay. It's still mesh parallax, nothing rly new.
    4. Zanderat
      Zanderat
      • premium
      • 205 kudos
      Maybe.  But it allows the use of BDS V3 with parallax, which is a huge step in the right direction.
    5. DefinitelyNotNoah
      DefinitelyNotNoah
      • premium
      • 86 kudos
      is it? never cared bout bds but hey u do u.
    6. n337speak
      n337speak
      • premium
      • 65 kudos
      IDK what MM does on the mesh level, this lets you ensure there is a parallax map that matches the normals of the input textures to some extent. As long as the meshes are set up to use it, it should work, whether it's multilayer parallax or not. 

      Whether it works *well* is up to the authors and users to decide.

      I switched from better dynamic snow to simplicity of snow a while ago though so really no idea on that front.
    7. DemongelRex
      DemongelRex
      • premium
      • 17 kudos
      EDIT: Nvm, made a simple mistake.  Make sure to add to windows PATH variable (Environment Variables), and don't have any spaces in the directory name.
  10. aiqa
    aiqa
    • premium
    • 24 kudos
    Should probably add -Recurse to Get-ChildItem, so you can use it for subfolders.
    1. n337speak
      n337speak
      • premium
      • 65 kudos
      That's certainly an option. I might, and anyone looking to use this obviously can - I'm just very aware it increases my risk of getting a comment from someone who didn't read my suggestions and is like "AAA I ran this on my ENTIRE mod organizer profile and it did something BAD" lol

      But you're right it'd increase usability for larger projects.

      EDIT: So here's the thing. After a bit more testing, I don't actually recommend doing it on subfolders, because it's not always, 100% of the time, completely safe. Sometimes naming convention of texture sets are off in unexpected ways. At least once in my own tests I've seen it overwrite the normal maps instead, inexplicably. It's just a better idea to run it in a single folder, ideally one you've backed up just in case. That way if something does go wrong, for whatever reason, you should see it immediately and be able to restore your backup. (Specifically, it seems to have a ... problem if the normals are named with the wrong case. I'm going to have to fix that first.)

      You're obviously free to do whatever you feel comfortable with, modify it in any way, etc etc, but I can't be responsible if it goes off the rails.