Tuesday, May 13, 2014

Assassins Creed 4 Black Flag (DirectX 11) - 3D Vision Fix (UPDATE)

3DMigoto DX11 3D Vision Fix by mike_ar69 and bo3b

Acknowledgements
We are delighted to publish this game fix on the helixmod site, thank you to Helix and Eqzitara for supporting our work on the 3DMigoto DX11 Wrapper!


Fixed
1. Shadows
2. Lights
3. Double Imaging (fog and smoke)
4. Skybox elements
5. HUD
6. Water caustics
**UPDATE
7. Fixed Lights and shadows for all AA options
8. Fix for night stars and moon and clouds

Disabled 
1. Screen stuff like smudges and raindrops
2. Decals like blood etc (for now)

Game Settings
1. Shadows: Shadows must be "very high" or lower, 'soft shadows' have not been fixed (not even looked at yet). For performance reasons turning off soft shadows is a must anyway (the shader is 10000 lines long, compared to most of the others which are all < 600, this explains the processing hog)
2. Ambient Occlusion: SSAO has not been fixed (or looked at) yet. Use "Off", or HBAO+(low).
3. World Detail: Setting to low gives a good FPS boost, but removes gameplay elements, so really needs to be on medium/high
4. Motion Blur: Must be set to OFF


Known Issues
0. Must change profile from AC4 to either no profile, or AC2 (or something else that works).
1. Rain splashes are 2d.
2. Sun Rays: appear 2D, but I can't seem to do anything about this.
3. Shadows from smoke are 2d (minor effect)
4. Text on in-game screens is too deep. This can be adjusted as part of varying the overall HUD depth using new settings in the d3dx.ini file:

[Constants]
x=0.8 <-- Change this one e.g. 0.4 is less depth, -0.2 will pop out the screen etc
y=0.8
z=1.2
w=2.0

5. Bloom from some Lights sometimes shines through objects. This might be an SLI issue, not sure
6. Reflections were fixed in the Animus place, but the fix is only approximate, and there is. some residual 'haloing'. This also affects puddles in Havana. Reflections in 3D are messed up bad actually, and we will continue working on it.
7. For some reason, when the game is started, you may need to change the depth setting a fraction (and then back to what ever it was) for the fix to kick in. Switching profile does not have this problem, but it's a minor annoyance, and has only recently been happening.
8. For Windows 8.1 64 Bit Update 1 you need to delete the dxgi.dll file that gets installed with the fix.


Installation
1.  Make sure you have a platform patch installed.
This is an optional graphics patch from Microsoft. You need this update to avoid having 3Dmigoto crash.
You can look in your View Installed Updates, and search for KB2670838.
If you don't have it, you can get it here:

http://www.microsoft.com/en-us/download/details.aspx?id=36805

2. This fix requires that you either remove the AC4 profile using Nvidia Inspector, or set it to AC2, else the fix for reflections does not work.  If you use the AC2 profile then you will be able to save settings, set SLI bits etc, but this might interfere with playing AC2...

3. Run the game once to make sure it's installed, resolution and refresh are like you want.
Make sure 3D kicks in.

4. If you are running recent drivers, and Compatibility Mode is kicking in, do Ctrl-Alt-F11 to disable it.
We've tested it on older drivers like 320.49 and the most recent Beta 337.50, and think it should work in all cases.
We've tested it with SLI and single GPU.

5. Get the fix as a zip file from here: https://github.com/bo3b/3Dmigoto/releases/download/0.67-beta/3Dmigoto-AC4-0.67_beta.zip

And unzip all of the files and ShaderFixes folder into the Assassin's Creed 4 exe folder.
e.g. "C:\Program Files (x86)\Ubisoft\Ubisoft Game Launcher\games\Assassin's Creed IV Black Flag"
It's a lot of files, 400 or so shader files, and 16 dlls, an uninstall, and the .ini file.
If you need to uninstall, there is an uninstall.bat that will delete the dlls.

6) With all that installed, run AC4.
You should be able to see everything in 3D, and be able to change depth and convergence.
Performance should be good, very close to what you normally get with AC4 in 3D. You should see all of your CPU cores active.
First launch will be slow, like a minute, as it caches shaders.

22 comments:

  1. Thanks again for posting the fix for the game. I updated from the previous version with no issues. I do want to confirm that the nightsky - stars and such, render at the wrong depth. Unfortunately there is no way to load up the game at night. The best thing to do to notice this is to stand in the middle of Havana for a while and check back once it cycles to night.

    ReplyDelete
    Replies
    1. Thanks for the update. I knew about the night sky cloud deck, but thought the stars and moon should be OK. The nights are spectacular, and far too short in this game. I'll take another look because I'm curious now.

      Delete
    2. Hi Arioch. We will have another look at this for sure. We did update a shader specific for stars that seemed to look OK in our testing. There are two main issues with the skybox:
      (a) Most elements of the skybox in this game are on different shader, and require a different correction, so lining them all up for any convergence value is quite tricky, so our approach is to remove convergence dependency if we can and set a common (empirical) depth after that.
      (b) some elements are on the same shader but require a different correction, and it is this one that is hard to get right since the 3DMigoto wrapper does not allow the same separation by texture that the helixmod dll does.

      Anyway, we will keep tweaking :-)

      Delete
    3. I wish it was easier to get to the night but if I recall the moon looked ok but the stars were at the wrong depth. There were clouds in the sky at the times I got to the night but I can check again. Regardless, the game looks great so far in 3D.

      Delete
    4. I put a screenshot of the stars at night on the AC4 thread in the 3D Vision forum.

      Delete
  2. Was this not fixed by Nvidia in one of the recent drivers? Or did that fix suck?

    ReplyDelete
    Replies
    1. The NVidia fix is usable depending upon your view of fake-3D/depth buffer 3D. They are calling it Compatibility Mode, and it doesn't do true 3D, it does the type of 3D seen in Crysis2 and 3. You get a halo around your character, and lower depth and typically not much convergence. Some people cannot stand it, some people are willing to use it if nothing else is available. I think that nearly everyone agrees that if you have a true 3D fix like this, that there is no value in the Compatibility Mode version.

      Delete
    2. I think the depth buffer solution for AC4 is quite bad, and I say this as someone who defends the depth buffer solution for AC3 which is not bad at all, just very low depth. The AC4 depth buffer solution goes haywire if you increase convergence to try and get any sense of separation between objects (because by default its a flat image about 10" behind the screen) - things like objects stuttering in and out of depth (which is unbearable), the "wall" for high convergence being hit almost immediately leading to the completely 'flat' view about 0.5" in front of the screen. It's all just a bit terrible.
      Our fix for AC4 posted above requires that you remove the default AC4 profile - it seems (from our experience with this and a few other games) that Nvidia are setting certain things up in the games profile to support the depth buffer (like how different things are stereoized or otherwise) that screws up 'normal' stereo rendering as well - so it's doubly bad.

      Delete
  3. Hi
    maybe, try the "AC Révélation profile" because it does not BUG (star, sky)
    Good Game

    ReplyDelete
  4. Sorry for bad english, I just want to say thank you, the game looks fantastic in REAL 3D. You're the best !!! merci, merci, merci.

    ReplyDelete
  5. Agreed

    Another thanks to Helix and Eqzitara for hosting this.

    What an amazing community.

    ReplyDelete
  6. Collaboration between the premier forces working on DX11 fixes, to deliver us from tedious 2D or broken 3D? I am a happy happy man!

    Thank you so much to everyone working on making 3D gaming better. Your efforts are tremendously appreciated!

    ReplyDelete
  7. Whoa! This is all 'you got your peanut butter on my chocolate'!? :D
    http://www.youtube.com/watch?v=DJLDF6qZUX0
    ... am I going to have to make a new banner(logo) now? :)

    ReplyDelete
  8. You guys ROCK! I was so sad to play in boring 2D since the fake 3D is unbearable. Now this looks fantastic!!! Much respect for keeping 3D alive.

    ReplyDelete
  9. The updated fixes, including the stars at night, looks great. Thanks again for keeping true 3D gaming alive!

    ReplyDelete
  10. Awesome job! Many thanks, works like a joy, a huge accomplishment!

    ReplyDelete
  11. This comment has been removed by the author.

    ReplyDelete
  12. This is amazing! Absolutely destroys Nvidia's pathetic attempt at a fix :) Related note, Txaa looks great in 3d.

    ReplyDelete
  13. Very nice..!
    Everything looks brilliant !

    ReplyDelete
  14. Hi,
    first ,thanks for your amazing job.

    For me this fix crash on win 8.1 update 1 and drivers 340.43 (doesnt tested early drivers) with no profil or ac2, ac4 profil.

    ReplyDelete
    Replies
    1. "8. For Windows 8.1 64 Bit Update 1 you need to delete the dxgi.dll file that gets installed with the fix."

      Delete