Thursday, February 22, 2018

Subnautica [DX11]

Download the fix: 3Dfix-Subnautica-1.1.zip

This release officially brings support for Unity 5.6 to my template (shader extraction support is also added for Unity 2017.1, 2017.2 & 2017.3 formats) :)

Update v1.1

  • Adjusted several more HUD elements (resource blips, battery swap icons)
  • Fixed various interior water surfaces (e.g. Moon Pool)
  • Fixed Seamoth & Cyclops sonar ping
  • Low convergence toggle key added (useful for the Seaglide's terrain hologram)
  • Auto HUD adjustment now rests on in-world HUD elements (e.g. Cyclops Cockpit)
  • Crosshair re-enabled by default to make in-world HUD elements easier to use (press X to disable as before)

Fixed

  • Halos
  • Lights & shadows
  • Screen Space Reflections (two types)
  • Underwater light rays
  • Water refraction (look at the moon viewed from below the surface)
  • Automatically adjust HUD & crosshair depth
  • Fix flickering HUD
  • Disabled crosshair (X to toggle)
  • Automatic convergence & mouse depth preset when PDA is active
  • Adjusted scuba mask depth to be just slightly behind the screen, but still 3D (see x1 in the d3dx.ini to change the depth, or use the game's built in F6 hotkey to cycle between several options, some of which disable the scuba mask)

Installation

  1. Extract the contents of the zip file to the game directory.

  2. If you are running the 32bit version of the game, replace the DLLS with the ones in the 32bit directory.

  3. Right click on the game in Steam and go to "Properties" -> "Set Launch Options" and enter "-window-mode exclusive" (without the quotes) and click "Ok"

  4. Disable motion blur in the game settings.

  5. Set Anti-Aliasing=FXAA

Keys

X: Toggle crosshair visibility

Caps Lock: Toggle low convergence preset to keep the hands behind the mask and make the Seaglide's terrain hologram easier to see.

\: Set high convergence preset recommended for a stronger 3D effect.

F6: Cycle various HUD & self display options (game shortcut, not mine. Beware that this conflicts with the convergence hotkeys, and you may have to press it several times to make everything visible again).

Known Issues

  • The horizon is not quite right when the camera is tilted.
  • Certain fog effects are not quite even between both eyes.
  • Performing a self-scan underwater briefly reveals the original depth of the scuba mask.
  • The mouse cursor does not line up with the vehicle modification station when customising a vehicle's colour (no apparent way to distinguish between this scenario and the main menu).

Side-by-Side / Top-and-Bottom Output Modes

This fix is bundled with the new SBS / TAB output mode support in 3DMigoto. To enable it, edit the d3dx.ini, find the [Present] section and uncomment (remove the semicolon) the line that reads:

run = CustomShader3DVision2SBS

Then, in game press F11 to cycle output modes. If using 3D TV Play, set the nvidia control panel to output checkerboard to remove the 720p limitation.

Like my Work?

Fixing games takes a lot of time and effort, and I am currently otherwise unemployed largely due to my ongoing battle with mental health issues.

If you are in a position where you are able to do so, please consider supporting me with a monthly donation on Patreon, and thanks again to those that already do! While I prefer the more stable monthly support that Patreon offers, I can of course understand that some of you prefer to make one-off donations when you can, and for that you can use my Paypal. As a reminder, these donations are to support me personally, and do not go to other modders on this site.

This mod is created with 3DMigoto (primarily written by myself, Bo3b and Chiri), and uses Flugan's Assembler. See here for a full list of contributors to 3DMigoto

Very special thanks to Neovad for a previous version of this fix while the game was still in early access, and all his work applying my Unity techniques to so many games I am not able to look at personally :)

83 comments:

  1. Hey, I'm the "incessantly babbling old nincompoop" who posted in the other thread with regards to this game. Was glad you chimed in to say you were working on this. I checked this site today to see if maybe, just maybe, there'd be a fix posted as I knew you were working on it, all the while thinking "dream on old man". Well imagine my surprise!

    Reinstalled the game, threw your fix in the game folder and Holy Flurking Schnit! It's beautiful! Wow man! Just wow! I can't believe how gorgeous this game looks in 3D...thanks to you!

    Look, I'm unemployed too at the moment. I wish I could buy you a new car for all the hard work you've done but I'm broke. But since you've given me a way to kill countless hours while I wait to get called back to work (I'm temporarily laid off), I couldn't conscionably enjoy this game without doing something for you so I just shot you 20 bucks CAD (Canadian and Aussie bucks are currently off by one cent) via my wife's PayPal account.

    Thank you so much bro! You rock! Will let you know if there are any major issues, but after farting around for twenty minutes, all I've noticed is myself giggling like a schoolgirl as I swim around a stunningly beautiful world in glorious 3D.

    Geezertron

    ReplyDelete
    Replies
    1. Hello!
      Your work is great!
      I use the "MoreQuickSlots" mod, but when 3D stereo is turned on, the slot can not be seen properly. Please fix it.

      M.Kirikae from Japan

      Delete
    2. Try tweaking the z & w [Constants] in the d3dx.ini to expand the quick slot bar blacklist region to cover everything you want.

      Delete
  2. Very well done... i like the fix. Although is it possible to fix the orange icons that the scanner room shows? The letters are in 3d but not the icon itself. Also the scanner room icon are not in 3d when you use a camera. I just noticed it so i guess i post it. So far the rest is awesome. Again than you so much.

    ReplyDelete
    Replies
    1. The resource blips are now adjusted along with the rest of the HUD in the 1.1 update. They aren't at the "accurate" 3D depth, but at least now they aren't at screen depth :)

      Delete
  3. Well, Unity 5.6 with it's mysterious 25 type of shader. I want to have a look... "metal" ? WTF. Anyway I've almost fixed P.A.M.E.L.A. Thank's a lot for your work.

    ReplyDelete
    Replies
    1. Haha, yeah - first I heard of Apple's new rendering API when Unity added support for it and triggered the assertions in my scripts :)

      Delete
  4. Maybe i can fix the shaders if i know how they did it. Only i have to know what they used.
    I understand that they made a program to use but as there are many of them i don't know where to start so if there is someone that can help me with that, i will have it a go. I also want to learn how to make those fixes. Let me know IF someone want to help me out. Thank you.

    ReplyDelete
    Replies
    1. If you haven't looked into it before, a good place to start is Bo3b's School for ShaderHackers. This gives you the basic ideas and the terminology we use.

      Delete
    2. Yes i have looked into that but it's seems out of date to me.
      The 3dMigoto looks very different from this tutorials. Not only it shows different things, it also tells me to put the files in shader cache folder while there already are a few so for me it's not enough information. Thanks anyway.
      That is the reason i asked.

      Delete
    3. All the basic principles are identical, you just change the syntax to use 3Dmigoto. If you take a look at any currently working fix and study it for an hour or so, you can see how it's the same idea, just different names. All it really requires is a puzzle solving mindset.

      Delete
  5. Brilliant work, sir. Thank you.

    ReplyDelete
  6. The fix is great. I have a question regarding gameplay. How do you know where to find the items you need? Is it always looking and looking or is there a map where they are?

    ReplyDelete
    Replies
    1. Well as this is not the place to ask these questions, you better can ask that on steam, but to answer your question, you always can use a scanner room to look for items. But otherwise yes, you have to find everything.

      Delete
  7. Wow. An absolutely brilliant fix DarkStarSword. You're banging out these fixes lately at a faster rate than I can play them! Donation incoming.

    ReplyDelete
  8. Hello,

    Thanks for the fix. I have a question though, if i record the game with Geforce Experience i get the SBS only it's stacked vertically. Is it possible to have it on the left and right? I think that the video i get from it is stretched horizontally like a widescreen because of that. I already changed some params in d3dx.ini. I saw that F11 is used for changing the SBS only the recording still shows top and bottom. Thank you

    ReplyDelete
  9. OMG!!! Thank you VERY MUCH!!! 🐋

    ReplyDelete
  10. "Hello,

    Thanks for the fix. I have a question though, if i record the game with Geforce Experience i get the SBS only it's stacked vertically. Is it possible to have it on the left and right? I think that the video i get from it is stretched horizontally like a widescreen because of that. I already changed some params in d3dx.ini. I saw that F11 is used for changing the SBS only the recording still shows top and bottom. Thank you"

    Nobody that can answer this? Is it always that geforce exxperience record it over/under? It seems that no matter what i do, the video is not always good, 1 time it shows good, the other time not while all settings are the same.

    ReplyDelete
  11. Well , nevermind anyway, seems that max. you can record with geforce experience is 3.80 GB and that's about a couple of minutes so it has no use, don't understand the limits they put in. They said that on win 8 or even 10 there is no limit but even there it's 3.80 GB.
    So if someone can help me, please do so. I am out of options.
    So even if i get this right, there is a limit of 3.80 GB

    ReplyDelete
  12. Fix is updated to v1.1 for issues I found later in the game:

    - Adjusted several more HUD elements (resource blips, battery swap icons)
    - Fixed various interior water surfaces (e.g. Moon Pool)
    - Fixed Seamoth & Cyclops sonar ping
    - Low convergence toggle key added (useful for the Seaglide's terrain hologram)
    - Auto HUD adjustment now rests on in-world HUD elements (e.g. Cyclops Cockpit)
    - Crosshair re-enabled by default to make in-world HUD elements easier to use (press X to disable as before)

    ReplyDelete
  13. Just picked this up recently due to the retail release 3D fix, wow. Great job on this one, its like perfect 3D - almost feels like VR its so good. really appreciate the hard work and updates!

    ReplyDelete
  14. Huge thanks for all your hard work DarkStarSword!

    ReplyDelete
  15. After Subnautica update 85 on Steam, applying the 3D fix results in shadows that don't match properly. Hope there will be a fix! This game is amazing in 3D. Don't want to have to go back to update 84 or earlier but can do that if nothing else.

    ReplyDelete
    Replies
    1. Yeah, I was mistaken about this. I just had the wrong anti-aliasing on.

      Delete
  16. Impossible to start game in 3D mode with the fix installed since today Windows Update 1803 :
    Black screen with version number and "Savegame in progress", then Back To Desktop !?
    I've already try DDU and re-install of 388.31 driver. Nothing is working...

    ReplyDelete
    Replies
    1. After today's Nvidia Driver Update to 397.64, the game start but with an orange line on top of the screen :
      "Error opening E:\Program Files (x86)\Steam\steamapps\common\Subnautica\ShaderFixes\mouse.ini"
      and there is no more mouse cursor on the main menu screen and nor in game!

      Delete
    2. *** Semi-solution : I change hide_cursor=1 to hide_cursor=0 in the [Device] section of d3dx.ini and put a semi-colon in front of the line "include=ShaderFixes\mouse.ini" at end of the file.
      I think it forces cursor depth to screen depth but it's playable...

      Delete
  17. @ E. Forget, I looked at the fix v1.1 and did not see a mouse.ini file in there.. did you buy chance try and use the mouse.ini from a newer fix into this one??

    ReplyDelete
    Replies
    1. Sorry for the long time to answer.
      I've seen that the mouse.ini line appear after I created a hotkey with 3D Fix Manager.

      Delete
  18. I just bought this game on the steam summer sale, and unfortunately I think the 3d fix is now broken. The helmet hud displays incorrectly when underwater (worsened by adding depth or convergence). When you first start the game, the fires on the ship in the distance are only visible in one eye, and the sea bed light reflections also look 2d. Could anyone confirm?

    ReplyDelete
  19. I've just play today (Steam version May 60072) from 3D Fix Manager and all is ok. I've just still the problem of the mouse cursor seen 3 posts before.

    ReplyDelete
    Replies
    1. After playing around with the convergence / depth a little more, I figured out that convergence needs to be set pretty low for things to look good (With a low convergence, the glitches above are not present). I cranked the depth up almost to max, and the game now looks stunning - amazing depth effects!

      The only issue now is gpu performance ;) my 970 is struggling to get ~40 fps with medium settings at 1080p; Really hope Nvidia drops the 11xx series soon so I can run my 3d surround setup!

      Delete
  20. I've got a problem. The part of the HUD that indicates O2, Health, Hunger and Thirst is not at Scuba Mask depth (or screen depth) like the QuickSlot bar at the bottom... Does anybody know to fix this? Thanks

    ReplyDelete
    Replies
    1. It's supposed to be at the dynamic HUD depth so you can see it without having to refocus your eyes - the only reason the quick slot bar isn't at that same depth is because it overlaps with the scuba mask. If you want to tweak the HUD depth logic you can play around with ShaderFixes/hud.hlsl, but I warn you this game is difficult to get the HUD to behave well.

      Delete
    2. Alternatively, try tweaking the z & w [Constants] in the d3dx.ini to expand the quick slot bar blacklist region to cover everything you want.

      Delete
    3. Ah, okay. I understand. I just find it distracting, especially when the player's arm moves through it while swimming. But when I press ESC for the menu, I love the way it looks! The O2 gauge looks like a sticker on the glass of the scuba mask, and everything behind it conveys a true sense of depth. ..That's just my personal opinion. I don't mind refocusing my eyes to look at the gauges. I could use the exercise anyway. Ha! :-)

      I'm playing around with the handle_hud function and trying to get the HUD to behave the same way it does when the cursor is visible. In any case, if I can't get this to work, I'm still gonna use your mod to play in 2D because I love that you can disable the crosshair! I spent a good hour, at least, trying to find a mod that removes the crosshair. I even went as far as looking for a way to remove the crosshair graphic from the assets file, but I ended up giving up. I said F it, let's try playing this game in 3D! So, I downloaded your mod and I was overjoyed to see that you added a key to remove the crosshair! :-o

      Nice work on the mod. It looks like it took you a s*** ton of time to get this done. You're a very smart guy. Keep up the good work!

      Delete
    4. I do not understand why so few games include an option to disable the crosshair or make it's visibility context sensitive - it's just an eyesore whenever you're not trying to aim at something.

      Delete
    5. Agreed. Subnautica is such a brilliant game made by brilliant developers. It has such beautiful graphics and ambience. It boggles the mind why they decided to go with a big, ugly, low res. crosshair like that... It really boggles the mind.

      Delete
    6. Strange... some of the HLSL files are seemingly redundant, like hud.hlsl, for example. Any changes I make to it will not be reflected in the game. I can even delete the file and nothing will change in-game. When I press F10 in Hunter mode, it says that all hlsl files are loaded successfully...

      Delete
    7. You need to freshen the timestamps on the files that include it (I really need to get around to writing that include tracker).

      Delete
  21. Thanks for the fix. Taking a huge hit on fps though.
    27 fps in the shallows, with my base and cyclops on sight.
    And less than 60 on other areas, with an i7 4770k and a 1070. Am I in the zone or is there something off?
    Can you guys post how your performance is for some kind of comparison parameter?
    Thanks.

    ReplyDelete
    Replies
    1. I've been playing recently, and this is not unusual. Game is not well optimized for lots of things, bases in particular. If you build a lot of bases in different spots, it keeps getting worse and worse. Game bug that is not going to be fixed.

      You are in the zone there, that matches my experience. In VR, I get always reprojection (45 fps) with a 1080ti and 8700K.

      Delete
  22. Having problems with this game now playing in VR. I think steam is still applying a 3d fix I was using before I wanted to play in vr. The 3d environment is perfect but the interface is separated (like it would be if running in 3d).
    Is there a way to for a fix out of memory because it seems running the uninstall is not enough to get it out. Or are there setting in this fix than can cycle the hud to a state of non separated convergence?

    ReplyDelete
    Replies
    1. Seems like deleting the profile in Nvidia inspector did the trick.. Having some other minor graphical issues the horizon is little messed up.. Maybe I need to reinstall drivers again to get the original version back?

      Delete
    2. Playing in VR, you should add the VR mod from NexusMods. It moves the PDA away from your face and fixes selecting stuff. Definitely do not run our 3D Fix at the same time, it will change the shaders in ways that won't work in VR.

      In VR, I see the same graphical glitches on the horizon, like it's not quite even or something. Not really objectionable. I don't think there is a solution to that.

      To switch between 3D and VR, you can use the command line -vrmode none to disable VR. I don't think it matters, but it's also a good idea to disable 3D in the control panel. In other games, that sometimes helps performance.

      BTW: it's a good point that uninstall.bat does not fully clean up. Now that we modify profiles, we definitely ought to put them back upon uninstall.bat.

      Delete
    3. You should restore the profile to default to remove our changes, not delete it - if you delete it you will also remove the Optimus settings and whatever setting ID_0x80857a28 is that shipped with the driver. You will need to reinstall the driver to recover these.

      That said, we only change 3D Vision settings that usually would not interfere with VR, so I have my doubts it is related to our changes (unless maybe StereoFlagsDX10 has some unintended side effect outside of 3D Vision?).

      As Bo3b said, when playing with VR you should disable 3D Vision via the control panel - some games can get away without doing that, but others can't (e.g. SkyrimVR is heavily broken when 3D Vision is enabled in the control panel regardless of anything else).

      Delete
  23. When 3DFix-Subnautica 1.1 is applied to a game, an ntdll.dll error will always occur at the end of the game. Also, Quick Slots do not draw correctly when using the MoreQuickSlot MOD. I sent a donation as I want you to update 3DFix-Subnautica.
    Please consider.

    ReplyDelete
  24. is this way to play none steam version of the game? I got it for free with epic store....

    ReplyDelete
    Replies
    1. Try things out and experiment. You learn a lot as you go.

      I can confirm that the fix works with the EGS version. One of the best free games I ever played in 3D.

      Delete
  25. Hi, great fix indeed for this monumental game! i've got just a problem ... the \ and : keys to adjust the convergence, they don't work ... how can i solve? thank you again!

    ReplyDelete
    Replies
    1. It's just \ not :
      What layout keyboard do you have? On US keyboards \ is the key on the very far right of the qwerty row, just above enter and below backspace. If you are using a different layout keyboard, try whatever key is in that position.

      Delete
  26. first of all, thanks for the reply...i've got Italian layout, I've tried the keys around enter....but nothing works, unfortunately....

    ReplyDelete
    Replies
    1. You can change the key binding by editing the d3dx.ini - search for "KeyConvergenceHigh". It is worth noting that this preset is just provided for convenience and there is no difference between using it and manually adjusting the convergence to your liking.

      Delete
  27. Hello...i Changed the key in d3dx.ini but not much has changed, perhaps every time I press the button, there is a minimum convergence increase value ... I will continue to try, a question .... but the convergence is set to maximum by default?

    ReplyDelete
    Replies
    1. Yeah, you are probably already on the recommended convergence since it saves the same value in the driver profile on first launch. If you manually adjust the convergence you can press that key to quickly return to the default.

      Delete
  28. DarkStarSword...thank you very much!

    ReplyDelete
  29. Hello! My game does not start in 3D. Normal mode starts. Please tell me what could be the reason.

    ReplyDelete
    Replies
    1. Did you add the launch option of "-window-mode exclusive"? Required for Unity games.

      If you have a VR headset, you also need "-vrmode none" to disable it auto-launching in VR.

      Just tested this again and it was working here. Win10 1803, Driver 419.37, EpicGames version.

      Delete
    2. -window-mode exclusive -vrmode none added. Win10Pro 1903. Driver 419.17. GeForce GTX 1080 х 2 things. Monitor ROG PG278QR. Game version 61056. It used to work on older versions. And now he doesn’t want to. What to do?

      Delete
    3. Try simplifying the setup until you can get 3D on. Uninstall.bat the fix, set SLI off. Disconnect your HMD. Make sure 3D is working with test app in control panel.

      Try to get Subnautica working in 3D, with broken effects first. Use "-window-mode exclusive" in a shortcut or launch options.

      Another possibility is to use 3D Fix Manager to launch, it will set parameters directly.

      Delete
    4. I tried everything did not help. Disconnect your HMD - What is it?
      It works if you register it "-force-opengl". But then 3D is not as it should.
      I don’t even know what to do. Help, with me payment.

      Delete
    5. No idea actually. Have never had a problem on 3 different systems. The game version I'm using is 61951 off GoG. Are you using bootleg version?

      Most likely problem is Win10 1903. We know that 3D is not working properly for some people with that version, and it's game specific. Some games work some don't. Best bet going forward is to dual boot to an older OS. I use Win7 because then I know for certain that they will stop jacking with me and my installs.

      Delete
  30. Please give the link to download 61951 from GoG. I can’t find her on the Internet.

    ReplyDelete
    Replies
    1. Sorry about that- misspoke. I'm using the EpicGamesStore version. It's not on GoG.

      Delete
    2. This comment has been removed by the author.

      Delete
    3. This comment has been removed by the author.

      Delete
    4. I have installed EpicGamesStore 61951. Driver 425.31, the game earned in 3D. BUT, when copying files from 3Dfix-Subnautica-1.1, the game again stops working. I delete the d3dcompiler_46.dll file, the game starts but without 3D. To make 3D work again, reinstall the 425.31 driver.

      Delete
    5. OK, getting 3D is good. Try using the 3D Fix Manager to install and run, top left of this page.

      Driver 425.31 should work, but I'm less sure about 1903.

      Delete
    6. I don’t know how to add a game in 3D Fix Manage.

      Delete
    7. Should not be necessary, latest version of 3DFM knows how to find the EpicGamesStore versions.

      If you need to add a game, lower left corner of 3DFM is "New".

      Delete
    8. 3D Fix Manager does not see the game from EpicGamesStore. Steam sees.
      How to add the new tab in the new tab? I don’t understand there are a lot of settings. And I do not know where to indicate the path to the game. I don’t know English, I am Russian.

      Delete
    9. I can’t find the Manager in YouTube on the 3D Fix Manager setup video. If there is such a video, please give a link.

      Delete
    10. This one? https://www.youtube.com/watch?v=iehh_bAZ3UM

      I was wrong about it automatically finding the EpicGames version- that version of 3DFM has not shipped yet because PaulDusler is having internet problems. Best bet would be to edit the profile that is already there and change the target path. Top Left, change from Installed Games to All Games, then find Subnautica and double click it.

      Delete
    11. I did just as you wrote. A tab with the settings opened, it was all running, I found the path to the game where to add it, but I don’t know how to configure everything else.

      Delete
    12. I think you should be able to use all the settings that are already there for the Steam version, and solely change the path to the game executable so that 3DFM knows the exe to launch. Use the Pick File button to choose the subnautica.exe. Might need to paste in the full path to Game Launcher Exe box.

      IIRC, I didn't need to do this though. In my setup I'm just seeing that I added my Games folder in the 3DFM Settings tab->ApplicationSettings->DetectingInstalledGames as a new place to look for games.

      We know that some Epic games change the .exe name which breaks, but I think in this case it keeps the same exe name.

      Delete
    13. In general, nothing works out for me. She does not want to start. I think it’s all the same in Win10 1903.
      And you could not help me with another game Farmer's Dynasty.
      I'll pay you for the work.

      Delete
    14. I made a small donation for your work, I hope that someday I will launch the game in 3D.

      Delete
    15. Sounds good, that donation will go to DarkStarSword who made the fix and does a terrific job with all our 3D.

      For this one, not sure why it's not working for you, it works fine here.

      Let's back up a bit and start clean.
      1) Uninstall everything, delete any leftover Subnautica folder.
      2) Reinstall game from EpicGames from scratch.
      3) Disable *all* overlays. Not afterburner, not fraps, nothing. The simpler the better.
      4) Unplug any VR hardware. Not clear to me if you have some, but simpler the better.
      5) No joysticks, no wireless xbox adapters, no other USB stuff that might interfere.
      6) Disable Xbox games in Windows Settings Game Bar. Turn off Game Bar altogether.
      7) On Subnautica exe, right click and get Properties. In Compatibility, Check the box for Disable fullscreen optimizations.
      7.5) In EpicGameStore Launcher, find the Settings tab lower left.
      7.6) Scroll down to find Subnautica section.
      7.7) Add command line arguments, -vrmode none -window-mode exclusive
      7.8) Exit Settings, top left corner.
      8) Turn on 3D, manually from control panel and make sure it is working. Driver 425.31 is best.
      9) Run Subnautica from EpicStore. It should run in 3D.
      10) 3D working but image will be broken. That's OK. Quit, then launch again.
      11) Reboot. We want to be sure all settings are consistent.
      12) Run Subnautica again. Make sure 3D is on and still working. Quit.
      13) Unzip all files from the Subnautica 1.1 fix into the game folder, next to exe.
      14) Finally. Run the game again. Should be fully working.

      Delete
    16. THANK YOU SO MUCH. Did everything as you wrote and it worked. A donation will come from me.

      Delete
    17. Awesome! Glad to hear it. This one is a real gem in 3D.

      Delete
    18. I would be very happy if you still helped with the game Farmer's Dynasty.

      Delete
    19. I need to somehow enroll in your school and get training))))

      Delete