I've ported the action to GIMP's script-fu: ;; -*-scheme-*- ; DDDA ArcTool-extracted DDDA Normal Map Corrector v1.1 September 11, 2023 ; by nowahNOwah <https://www.nexusmods.com/users/183050388> ; ; Normal maps extracted with ArcTool from Dragon's Dogma .arc have their green channel ; inverted and their alpha and red channels inversed. ; This GIMP script-fu adds a fix under "Menu -> Filters -> DDDA -> Correct Normal Map" ; that flipflops between the extracted and the correct channel layouts. ; ; Port of https://www.nexusmods.com/dragonsdogma/mods/81
; This program is free software: you can redistribute it and/or modify ; it under the terms of the GNU General Public License as published by ; the Free Software Foundation; either version 3 of the License, or ; (at your option) any later version. ; ; This program is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU General Public License for more details. ; ; You should have received a copy of the GNU General Public License ; along with this program. If not, see <https://www.gnu.org/licenses/>.
Save it as "C:\Program Files\GIMP 2\share\gimp\2.0\scripts\script-fu-ddda-normal-correct.scm" and restart GIMP.
e.g. usage: 1. Load "f_body_b204_NM_HQ.dds" in GIMP. (current versions have the dds plugin built-in). 2. Tick off "Load mipmaps". We'll generate new ones when we're done. 3. Menu -> Filters -> DDDA -> Correct DDDA Normal Map. 4. Do some normal map things... 5. Menu -> Filters -> DDDA -> Correct DDDA Normal Map. (Yes it's the same action. Yes it works.) 6. Menu -> File -> Export As...; Export; Replace. 7. Compression: BC3 / DXT5 MIpmaps: Generate Mipmaps
Good luck! (previously) Can anyone save the action to text and post the result following the instructions here? : https://community.adobe.com/t5/photoshop-ecosystem-discussions/convert-actions-atn-to-text-file/td-p/10385795
It would be useful for people without photoshop that use GIMP and the likes instead. p.s. I've ended up installing Photoshop CS2 (ancient version that was more or less made free by Adobe a few years ago) and Nvidia's old exporter ( Photoshop_Plugins_8.55.0109.1800.exe ) and managed to get the instructions out via this screenshot:
Hopefully it will be of some use.
p.p.s. missed a detail and cropped it so it will be easier to read without having to click through and download the image from the hoster:
So I've been running into an issue where the normal maps are kind of broken (black triangles and etc.) once in-game, which is bizarre because I didn't have an problems the first time? I use the nvidia plugin on what I'd assume are default settings, then go through these two actions. Did I accidentally change something?
I've tried to edit "base" body normals, but only the textures seem to have some effect in-game; I'm taking the textures from:
Dragons Dogma Dark Arisen\nativePC\rom\game_main\model\pl\m\m_base\m000
&
Dragons Dogma Dark Arisen\nativePC\rom\game_main\model\pl\f\f_base\f000
"game_main" being originally the .arc file (yes, I changed the colors back and did repack after editing). Anyone knows if "base body" normals are located in another .arc file or something?
Not sure if this is what this does, but it can be done manually pretty easily.
If you use Photoshop Nvidia Normal map plugin to create your regular "purple" normal map, use the "inverted y" option and after, go to its channel tab and copy/paste the following.
Copy the green channel over the old green one, and copy the NEW red channel to the alpha tab of the old one. Then you have one identical to the DD format
Pretty much. The main reason i made it an action is to avoid doing all the steps manually every single time i want to convert the texture to something useable. Now you can just hit 1 button and it does all the steps for you. ezpz =]
This action set also does not require you to have the nvidia plugin installed. Flipping a channel in a normal map is to simply invert it. Ctrl+i is all you need. =]
It's for people modding normal maps. It "fixes" them to be in a conventional format. It is not something you install - unless you mean installing it in Photoshop, in which case you ought to be able to drag it onto your actions folder.
20 comments
This photoshop action is intended for people that make mods.
;; -*-scheme-*-
; DDDA ArcTool-extracted DDDA Normal Map Corrector v1.1 September 11, 2023
; by nowahNOwah <https://www.nexusmods.com/users/183050388>
;
; Normal maps extracted with ArcTool from Dragon's Dogma .arc have their green channel
; inverted and their alpha and red channels inversed.
; This GIMP script-fu adds a fix under "Menu -> Filters -> DDDA -> Correct Normal Map"
; that flipflops between the extracted and the correct channel layouts.
;
; Port of https://www.nexusmods.com/dragonsdogma/mods/81
; This program is free software: you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 3 of the License, or
; (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with this program. If not, see <https://www.gnu.org/licenses/>.
(define (script-fu-ddda-normal-correct image drawable)
(gimp-layer-add-alpha drawable)
(let* ((imgdecomp (car (plug-in-decompose 1 image drawable "RGBA" 1))))
(gimp-drawable-invert (car (gimp-image-get-layer-by-name imgdecomp "green")) 0)
(let* ((imgout (car (plug-in-drawable-compose 1
imgdecomp
(car (gimp-image-get-layer-by-name imgdecomp "alpha"))
(car (gimp-image-get-layer-by-name imgdecomp "green"))
(car (gimp-image-get-layer-by-name imgdecomp "blue"))
(car (gimp-image-get-layer-by-name imgdecomp "red"))
"RGBA"))))
(gimp-item-set-name (car (gimp-image-get-layer-by-name imgout "Background"))
(car (gimp-item-get-name drawable)))
(gimp-image-remove-layer image drawable) ;(gimp-item-set-visible drawable 0)
(gimp-image-insert-layer image (car (gimp-layer-new-from-drawable
(car (gimp-image-get-active-drawable imgout)) image)) 0 0)
(gimp-image-delete imgout)
(gimp-image-delete imgdecomp)
(gimp-displays-flush)
)))
(script-fu-register "script-fu-ddda-normal-correct"
"Correct DDDA Normal Map"
"Correct ArcTool-extracted DDDA normal map"
"nowahNOwah <https://www.nexusmods.com/users/183050388>"
"nowahNOwah"
"2023-09-11"
"*"
SF-IMAGE "Image" 0
SF-DRAWABLE "Drawable" 0)
(script-fu-menu-register "script-fu-ddda-normal-correct"
"<Image>/Filters/DDDA")
Save it as "C:\Program Files\GIMP 2\share\gimp\2.0\scripts\script-fu-ddda-normal-correct.scm" and restart GIMP.
e.g. usage:
1. Load "f_body_b204_NM_HQ.dds" in GIMP. (current versions have the dds plugin built-in).
2. Tick off "Load mipmaps". We'll generate new ones when we're done.
3. Menu -> Filters -> DDDA -> Correct DDDA Normal Map.
4. Do some normal map things...
5. Menu -> Filters -> DDDA -> Correct DDDA Normal Map. (Yes it's the same action. Yes it works.)
6. Menu -> File -> Export As...; Export; Replace.
7. Compression: BC3 / DXT5
MIpmaps: Generate Mipmaps
Good luck!
(previously)
Can anyone save the action to text and post the result following the instructions here? :
https://community.adobe.com/t5/photoshop-ecosystem-discussions/convert-actions-atn-to-text-file/td-p/10385795
It would be useful for people without photoshop that use GIMP and the likes instead.
p.s. I've ended up installing Photoshop CS2 (ancient version that was more or less made free by Adobe a few years ago) and Nvidia's old exporter ( Photoshop_Plugins_8.55.0109.1800.exe ) and managed to get the instructions out via this screenshot:
Hopefully it will be of some use.
p.p.s. missed a detail and cropped it so it will be easier to read without having to click through and download the image from the hoster:
Dragons Dogma Dark Arisen\nativePC\rom\game_main\model\pl\m\m_base\m000
&
Dragons Dogma Dark Arisen\nativePC\rom\game_main\model\pl\f\f_base\f000
"game_main" being originally the .arc file (yes, I changed the colors back and did repack after editing). Anyone knows if "base body" normals are located in another .arc file or something?
If you use Photoshop Nvidia Normal map plugin to create your regular "purple" normal map, use the "inverted y" option and after, go to its channel tab and copy/paste the following.
Copy the green channel over the old green one, and copy the NEW red channel to the alpha tab of the old one. Then you have one identical to the DD format
Pretty much. The main reason i made it an action is to avoid doing all the steps manually every single time i want to convert the texture to something useable. Now you can just hit 1 button and it does all the steps for you. ezpz =]
This action set also does not require you to have the nvidia plugin installed.
Flipping a channel in a normal map is to simply invert it. Ctrl+i is all you need. =]
oh cool thats useful
awesome thanks - endorsed
If you have anymore texture modding tips, please help the community by posting on my .arc file index/library thread here
There is nothing wrong with the normal maps, using this 'fix' will just make things a bit easier for the people that modify the normal maps.