Jump to content

[1.9.x] Textures Unlimited - PBR-Shader, Texture Set, and Model Loading API


Shadowmage

Recommended Posts

1 hour ago, Shadowmage said:

Create your textures, using the Unity-Metallic preset in substance painter.  Export all of them (diff, met/smooth, nrm, ao).

Create a config file to apply those textures to the model(s) of choice:

https://github.com/shadowmage45/SSTULabs/blob/master/GameData/SSTU/Shaders/DefaultShaderAssignments-SolarPanels.cfg#L50-L69

In the shader/texture config, for the 'shader =' entry, use 'SSTU/PBR/Metallic'.  All other paths should point to the model and/or textures, as appropriate.

Thanks.... I'll look into the info you provided.

Link to comment
Share on other sites

I was trying to record a video with Radeon ReLive, and when i hit the REC button the game start to stutter, finished the app and the Radeon ReLive in Readeon Settings menu wont turn on to be able to change the settings. So, after check some crash logs that say that i was using my old GPU, weird...
Uninstalled all drivers using guru3d display driver uninstaller, Installed the latest driver, not success.
Deleted the settings.cfg file and launch with -force-glcore, the game loaded successfully, but Texture Unlimited not working.
Even tryied using only TU mod to see if work.
Before i hit the REC button, the game was running really smooth, not a single FPS drop.

CPU FX 4300 4.0ghz
8gb ram DDR3 1866
GPU RX 580 8gb
Windows 10 x64
Latest TU version and KSP version.


I'm very sad, thinking about a clean windows install...
UPDATE:
The crash problem solved by remove the GPU, reboot in safe-mode with onboard GPU, reboot again to safe-mode, shut-down put back the GPU and reinstall the drivers.
But the shaders still not working...

UPDATE2:
after some extensive testing,  I find that when I set the textures size to full, the game crash with 50% of memory use before to load the world.
So, if i delete the settings.cfg file the game runs fine. and i can set the grapgics settings to full without any problem.
This is a nightmare
UPDATE3:
PROBLEM SOLVED
It was the anti-virus that starts to block the entire AMD Radeon Settings app after the try to record the screen, this anti-virus is really paranoid.

Edited by Cpt_MarcosSilva
Link to comment
Share on other sites

ok, im reading all this but i dont get it, sorry: HOW its suposed to work? i need another complementary mod to switch the textures? can i do this in the VAB the same way the stock orange/striped tank work?

Again sorry , but im quite confused :P

Link to comment
Share on other sites

8 hours ago, Morgueço said:

ok, im reading all this but i dont get it, sorry: HOW its suposed to work? i need another complementary mod to switch the textures? can i do this in the VAB the same way the stock orange/striped tank work?

Again sorry , but im quite confused :P

In another words is a mod for modders.
You can download a config file that makes all stock parts work with Textures Unlimited shaders in spacedock: https://spacedock.info/kerbal-space-program
You need Textures Unlimited installed and the config file in your gamedata folder.

Link to comment
Share on other sites

It's an API, not a mod. Read the first post. It even says so in the title.

20 hours ago, Cpt_MarcosSilva said:

It was the anti-virus that starts to block the entire AMD Radeon Settings app after the try to record the screen, this anti-virus is really paranoid.

Don't use AV software. At best it reduces system performance 30-50% and when there is a new virus it will not be detected anyway. In 20 years I've never used active AV software, only occasional scans when I am not using the PC. AV is the biggest scam there is, as your super computer will run like a potato with them installed. Just don't go to "those sites" with your working PC, and don't click on any email links you don't know about. If your so gullible to belive you won 100K from a nigerian or some unknown contest, then maybe you deserve virusses ;)

Link to comment
Share on other sites

16 minutes ago, Jimbodiah said:

It's an API, not a mod. Read the first post. It even says so in the title.

Don't use AV software. At best it reduces system performance 30-50% and when there is a new virus it will not be detected anyway. In 20 years I've never used active AV software, only occasional scans when I am not using the PC. AV is the biggest scam there is, as your super computer will run like a potato with them installed. Just don't go to "those sites" with your working PC, and don't click on any email links you don't know about. If your so gullible to belive you won 100K from a nigerian or some unknown contest, then maybe you deserve virusses ;)

I kind like how my AV gives a false positive for anything hahaha, that way I know exactly what the app is down, so many times the AV alert-me about the browser trying to listen my mic or see my screen, access some COM interfaces that the browser supposedly never should know that I have.

Link to comment
Share on other sites

23 hours ago, purpleivan said:

Thanks.... I'll look into the info you provided.

If/when you get the textures created and you want help getting the config setup for them, please let me know.  The example that I linked to has _most_ of the important information, but there are a few additional texture slots and properties that can be adjusted (notably the example that I linked was for a different shader and does not include the _MetallicGlossMap texture slot input, which is mandatory for PBR texture use).

 

12 hours ago, Morgueço said:

ok, im reading all this but i dont get it, sorry: HOW its suposed to work? i need another complementary mod to switch the textures? can i do this in the VAB the same way the stock orange/striped tank work?

All that this mod (TexturesUnlimited) does is to make the new shaders available for other modders to use, and provide a framework to handle the updating of environment reflection maps.  By itself it will not change anything in your game -- you will need to find a mod that uses the shaders, or find one of the many different config.

Other mods (or config/patch packs) can then use the shaders on their own models as desired or create patches to apply the shaders to existing models.

So yes, you'll need to find a patch-set or mod that uses the shaders before you'll actually see any changes in your game.

Link to comment
Share on other sites

1 hour ago, Shadowmage said:

All that this mod (TexturesUnlimited) does is to make the new shaders available for other modders to use, and provide a framework to handle the updating of environment reflection maps.  By itself it will not change anything in your game -- you will need to find a mod that uses the shaders, or find one of the many different config.

Other mods (or config/patch packs) can then use the shaders on their own models as desired or create patches to apply the shaders to existing models.

So yes, you'll need to find a patch-set or mod that uses the shaders before you'll actually see any changes in your game.

Thanks.

Link to comment
Share on other sites

Are we able to submit a request for a certain set of parts to be made compatible with these shaders? I've been trying to get the shaders to apply Coatl Aerospace textures to the Infernal Robotics rework pack, but the textures don't change. The menu appears for switching the textures, and the options are correct for Coatl Aerospace (referenced from the normal path done through thier compatiblity for TU). Should note that i just copied and pasted the config from CA over, changed the part name and checked in-game. Seems the issue stems from the model not defining what sections of the mesh to rerexture. Im clueless with unity so i have no idea where to go with this. Im afraid i dont have the time to commit to learning the programs either. However, if the base compatibility can be implemented, i can handle the config files

Edited by WhiteChocolate92
Link to comment
Share on other sites

49 minutes ago, WhiteChocolate92 said:

Are we able to submit a request for a certain set of parts to be made compatible with these shaders? I've been trying to get the shaders to apply Coatl Aerospace textures to the Infernal Robotics rework pack, but the textures don't change. The menu appears for switching the textures, and the options are correct for Coatl Aerospace (referenced from the normal path done through thier compatiblity for TU). Should note that i just copied and pasted the config from CA over, changed the part name and checked in-game. Seems the issue stems from the model not defining what sections of the mesh to rerexture. Im clueless with unity so i have no idea where to go with this. Im afraid i dont have the time to commit to learning the programs either. However, if the base compatibility can be implemented, i can handle the config files

This mod does not set textures, you want Firespitter or B9 Texture switcher, or make stock MM configs

Link to comment
Share on other sites

10 hours ago, selfish_meme said:

This mod does not set textures

Actually, it does include a fully functional texture-switch module, with full support for all of the MATERIAL features used in the mod.

11 hours ago, WhiteChocolate92 said:

However, if the base compatibility can be implemented, i can handle the config files

Its all config files.  The code already exists, you just need to write the configs appropriately.  If you could show what you currently have, I might be able to figure out what needs to be changed/fixed (keep in mind I'm not familiar with those parts, but can help with technical setup/config problems).

Link to comment
Share on other sites

2 hours ago, Shadowmage said:

Actually, it does include a fully functional texture-switch module, with full support for all of the MATERIAL features used in the mod.

Its all config files.  The code already exists, you just need to write the configs appropriately.  If you could show what you currently have, I might be able to figure out what needs to be changed/fixed (keep in mind I'm not familiar with those parts, but can help with technical setup/config problems).

Certainly. My intent was to make it possible to use the plugins from your SSTU mod and create a basic recolorable version of these parts and coatl aerospace (probeplus pack. This is assuming its possible to recolor an actual texture, rather than a basic color used with a normal map). Below are the two configs im working with. Im only a few days into config editing so im not the most knowledge in this field.

 

Unfortunately my gaming PC does not have access to the internet, so I've had to upload screenshots from my phone. Hope thats okay. 

 

Coatl Aerospace is just the basic config supplied in their pack but when changing Recolorable to True in the texture set, the texture switching does not do anything and loses the basic functionality. I had hoped to be able to modify the color of the texture files through the sstu plugin, specifically the thermal and carbon fiber materials. Currently it comes in a very dark gray, but for some applications i would like to be able to change the color to white but still retain its normal maps.

 

Infernal Robotics config is a copy-paste of CA to apply the exact same materials to the models from that particular pack. Even without the option of recolor, matching the texture switching would grant the ability to unify the crafts materials. The basic version of these models are a basic white texture map with some slight color details. Ive named the transformname path to the parts model name since CA seems to have a defined set baked into the model. 

 

CA Material Switching - https://drive.google.com/file/d/1KY37lNG7xGIGrZkMO_4_qm918rl9g9RV/view?usp=drivesdk

CA Texture Set -https://drive.google.com/file/d/15Uua_1WNZA3fPOwyY2BGM-_-WqNP_h5T/view?usp=drivesdk

IR Material Switching - https://drive.google.com/file/d/12Gj9aRxtPtp3A840vu5i9B4aN4FPPgso/view?usp=drivesdk

IR Texture Set - https://drive.google.com/file/d/1kPCiGcOi40X1WkgFNAEQegRD6YnFYQn-/view?usp=drivesdk 

Link to comment
Share on other sites

44 minutes ago, WhiteChocolate92 said:

My intent was to make it possible to use the plugins from your SSTU mod and create a basic recolorable version of these parts and coatl aerospace probeplus pack.

Totally doable.  One thing to keep in mind though -- the recoloring system requires specially created textures in order to work properly.  You cannot use it with the original/existing textures; so unless you already have created, or plan on creating the new textures, this feature will not work properly.  If you examine the textures in SSTU that are used on recolorable parts, you will note that they are done with a base color of 127,127,127 (gray) in the diffuse texture on any portion that will receive recoloring (with minor variations for some details) -- this setup is a requirement in order to make use of the recoloring features.  You also need to add new 'recoloring mask' textures that denote what parts of the models are effected by the main, second, and detail recoloring channels -- these are R/G/B textures where each color in the texture is linked to a section in the recoloring GUI -- red in the mask texture gets replaced by the users specified 'main' color, green replaced by 'second' color, and blue replaced by 'detail' color.

Unfortunately there is not much that I can do with screenshots of the config files as far as offering corrections.  I need the actual text in order to do any sort of editing, and I'm certainly not going to retype it all in manually.  I understand the difficulties of this given no internet access on your PC, so hopefully the below information will be sufficient for you to fix them on your own.

A few notes that I can offer though --

  • Recoloring setups will use the 'SSTU/PBR/Masked' shader (e.g. 'shader = SSTU/PBR/Masked'). 
  • They will have an additional texture slot for the mask texture -- 'texture = _MaskTex, path/to/texture/here'.
  • The texture sets need to be set to 'recolorable = true'
  • You also need to add the PartModule of 'SSTURecolorGUI' to parts -- this is the module that adds the 'open recoloring GUI' button to the part-right-click menu.
  • Color/float values are specified in the 0-1 domain -- your entries with 'color = 2,2,2' will be clamped internally to 'color = 1,1,1'  (or _should_ be clamped; regardless, what you are trying to do there is not correct -- use properly made recoloring textures, with proper masks, and all of that hacky stuff can be removed)
  • Other than that, your configs look to be correct from a syntax view.  As long as your texture paths and mesh names are valid, the sets you have should do _something_.

 

If you have specific questions on any of this information, please let me know and I will expand upon it as best I can.

 

 

Link to comment
Share on other sites

3 hours ago, WhiteChocolate92 said:

Certainly. My intent was to make it possible to use the plugins from your SSTU mod and create a basic recolorable version of these parts and coatl aerospace (probeplus pack. This is assuming its possible to recolor an actual texture, rather than a basic color used with a normal map). Below are the two configs im working with. Im only a few days into config editing so im not the most knowledge in this field.

 

Unfortunately my gaming PC does not have access to the internet, so I've had to upload screenshots from my phone. Hope thats okay. 

 

Coatl Aerospace is just the basic config supplied in their pack but when changing Recolorable to True in the texture set, the texture switching does not do anything and loses the basic functionality. I had hoped to be able to modify the color of the texture files through the sstu plugin, specifically the thermal and carbon fiber materials. Currently it comes in a very dark gray, but for some applications i would like to be able to change the color to white but still retain its normal maps.

 

Infernal Robotics config is a copy-paste of CA to apply the exact same materials to the models from that particular pack. Even without the option of recolor, matching the texture switching would grant the ability to unify the crafts materials. The basic version of these models are a basic white texture map with some slight color details. Ive named the transformname path to the parts model name since CA seems to have a defined set baked into the model. 

 

CA Material Switching - https://drive.google.com/file/d/1KY37lNG7xGIGrZkMO_4_qm918rl9g9RV/view?usp=drivesdk

CA Texture Set -https://drive.google.com/file/d/15Uua_1WNZA3fPOwyY2BGM-_-WqNP_h5T/view?usp=drivesdk

IR Material Switching - https://drive.google.com/file/d/12Gj9aRxtPtp3A840vu5i9B4aN4FPPgso/view?usp=drivesdk

IR Texture Set - https://drive.google.com/file/d/1kPCiGcOi40X1WkgFNAEQegRD6YnFYQn-/view?usp=drivesdk 

What ive been doing is using 0-0-1's script and tweaking as i see fit. I didnt get any responses to post my cfgs so i didnt. But basically if you add the model = path in the default cfg. It applies the full metal shader. Im certain if you add it to another module like metallic or such the same would apply. The trick is to tweak it after if it looks 'off'...since it all depends on how detailed the model was made. Sometimes adding additional smoothness or similar helps the look of the part in the end.

 

I used the script on many mods(like 30+) one thing id like to point out. Is the script doesnt play favorites. When i made a cfg for the 'alb. Warp drive' it also applied the full metal shader to the 'bubble' so it wasnt transparent anymore. The script literally takes all .mu files from the specified directory it points too. So i went ahead and filtered out all the FX and IVA models for example. Hope this helps your endeavor

Link to comment
Share on other sites

Updated release is available:

https://github.com/shadowmage45/TexturesUnlimited/releases/tag/1.1.2.14

Main change is to 'finalize' the DirectX rendering fix and update the warning-GUI accordingly.  The fix no longer needs to be activated by config, and should activate automatically whenever DX11 is in use; can still be toggled via the debug GUI, but changes made this way are non-persistent.  A few other minor QOL improvements and mod-integration issues cleaned up as a bonus.

Link to comment
Share on other sites

6 hours ago, Shadowmage said:

-snip-

 

 

Understandable. I planned to redo the basic texture since all the parts share a single texture. So if im understanding correctly, i can retexture to utilize the parts i want recolored as just the basic gray color and then add the mask texture, plug in the paths and it should be working? Is this mask texture a specific file type or just referenced as _MaskTex within the cfg? Im also assuming this will apply the basic metal/metallic shaders with no editing of said models? 

 

Also, i see that SSTU references multiple parts in the @part reference with the | seperating the part paths. Can this be used with parts outside your modular pack, or is this done via your plugin?

Link to comment
Share on other sites

2 hours ago, WhiteChocolate92 said:

i can retexture to utilize the parts i want recolored as just the basic gray color and then add the mask texture, plug in the paths and it should be working?

Pretty much, yes.  The diffuse texture (_MainTex) should be mostly gray in any areas covered by the mask texture.  You can keep some minor highlights/shadows in the gray area to add details, but it should be otherwise very close to R127,G127,B127.

2 hours ago, WhiteChocolate92 said:

Is this mask texture a specific file type or just referenced as _MaskTex within the cfg?

Standard RGB texture; R/G/B for the main/second/detail channels, and -black- to keep the color from the diffuse texture.  Yes, use 'texture = _MaskTex, path/to/texture', in the same way that you specify the other textures.

2 hours ago, WhiteChocolate92 said:

Can this be used with parts outside your modular pack, or is this done via your plugin?

That is a feature of ModuleManager, and can be used in any patches that target named nodes.


In general if you really want to learn about the recoloring system SSTU's parts/configs are about the best place.  It is really the only mod I know of using that system, and the only real examples I can point to.  Any of the ShipCore series of capsules/service modules would be good examples (if you need/want links to specific files, let me know).

Link to comment
Share on other sites

1 hour ago, Gordon Dry said:

@Shadowmage When this works out as I hope this means finally KS3P can be added to my install ...

KS3P worked fine with OpenGL-Core, there were just some config edits that needed to be done to disable a couple of features.


Regarding DX9/DX11 and TU -- this recent update simply restores things to the same state they were in KSP 1.3.1 as far as reflections are concerned.  DX9 still has some issues that are out of my control to solve (Unity issue regarding cubemap blurring/seam removal).  DX11 should work fine as far as reflections are concerned, but a new problem in KSP 1.4+ is that the part icons are messed up (stock bug; I have a workaround available, but have not had time to implement it yet).

Link to comment
Share on other sites

6 hours ago, Shadowmage said:

there were just some config edits that needed to be done to disable a couple of features

I'm okay with disabling features I don't want, but I'm not okay with disabling the features I want - so I could not use KS3P until yesterday.

Link to comment
Share on other sites

22 hours ago, Jesusthebird said:

What is the difference between the sstu/solarshader and sstu/pbr/solar?

 

One provides backlighting without metallic rendering??

Pretty much, yes.

SSTU/SolarShader is the old legacy back-lit shader.  It uses very basic maths to determine backlighting, with minimal adjustment possible.  It also does not use any of the environment reflections, and its lighting model is basically blinn-phong specular.

 

SSTU/PBR/Solar is a PBR based shader that uses industry standard sub-surface-scattering techniques to facilitate the backlighting effect, as well as including the full use of environment reflections.  It is essentially the PBR/Metallic shader combined with sub-surface scattering - https://www.alanzucconi.com/2017/08/30/fast-subsurface-scattering-1/

Link to comment
Share on other sites

  • 3 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...