Frustration - "Black" materials from my textures

Hi folks, I’ve been focused on modeling for the past couple of months while UE4 has progressed like crazy.

Today I imported a simple model I created in 3D-Coat to test the texture exports and I’ve had this happen to me before, but now I’d like to finally get to the bottom of this so I can understand what I’m doing wrong compared to earlier versions of UE4 that didn’t exhibit this issue.

I’ve search like crazy on “black materials” to no avail - quite simply, I created a mesh along with its associated texture maps (base color, rough, metal normal AO etc.)

When I directly apply those textures to a UE4 material, for some reason the metal channel always makes my model turn out dark??

If I apply the same textures in Unity, the model come out looking exactly like it did in 3D-Coat? Again this started happening to me with what? UE v4.10, perhaps even v4.9, don’t remember now:

http://www.willbelljr.net/public/unreal/BlackTexturesInUnreal4.jpg

Perhaps UE4 requires more now compared to in the past when it comes to the material setup?

http://www.willbelljr.net/public/unreal/SimpleMaterial.jpg

I’m hoping I’m just overlooking something simple, or I just haven’t kept up with UE’s development, and I’m missing a newly required step to correct this.

I remember in the past, that a reflection probe added to the scene seemed to solve this issue, that’s not working at all now.

Please, any help or pointers on what I’m doing wrong with my texturing for these latest versions of UE4 is appreciated!

PS - I’ll add that I’m letting UE4 create the UV1 lightmapping UVs, which looks quite similar to the model’s UV0.

this is certainly something I have not encountered.
Have you built lighting? If there isn’t a LightmassImportanceVolume in the scene before hand then there will be no indirect lighting information for the asset to reference when it’s being placed in the scene…

Hi Construc_ - I’ve added a LIV to the scene, rebuilt everything (I had actually tried that after reading some hits from my searches yesterday) and it’s still the same way.

Thing is, if I remove the metallic texture input, the object is no longer dark as shown but then of course I lose the metallic attribute that I require. Replacing the map with a Constant set to 1.0 does the same thing.

I’m using an NVidia GTX980 in my system w/the latest drivers, I’m wondering if I should totally uninstall UE4 and reinstall it from scratch at this point?

The Specular, Emissive Color and the Pixel Depth Offset inputs are disconnected - do I need to wire them to any degree, especially the Pixel Depth Offset? Not sure what that one is for?

Edit: Okay I just created a new scene (FPS Blueprint) with v4.9x - I’m importing a .OBJ model, and the import warning dialog it says “Warning: No smoothing group information was found on this FBX scene. Please make sure to enable the ‘Export Smoothing Groups’…”

Now again, this is an OBJ, not FBX models, but I’m wondering if the lack of smoothing groups may be part of the issue?

Try setting the source lightmap index to 1.

No joy with the Lightmap index.

Okay wondering if it was perhaps the way 3D-Coat created the model or textures, I loaded the obj into Maya LT, loaded the textures into a hardware shader - looked exactly the same as it did in 3DC. I exported an FBX from LT and loaded that into UE4 - still the same results.

Next, figured I’d try generating my maps with Substance painter v2.2 - loaded the object, created a Fill layer, loaded the color, AO, metal and rough into their respective channels - model again looked as expected, exported my maps using the Painter Unreal Packed preset there the AO, Rough, and Metal are pack into a single map (RGB respectively) - Unreal refused to accept any image type other than “Normal”?

Once again, everything looked fine until I hooked up the Metallic channel. I’ve also switched to my Razer Laptop which has NVidia 970M graphics so it’s not just something related to my Desktop computer, I’m having this same issue on both computers. (Unless this is an issue with NVidia graphics?)

This must be something off in a setting (v4.9.2) or how I’m setting up my Materials / loading my textures or a project setting that’s causing this problem I’m having??

Hi Will,

Are you using a skylight with an environment cubemap and reflection probes? It looks like its an issue where there is not an environment to reflect.

Cheers,

Well the use of the texture maps looks like they are not being used as masks as to what areas should be effected and in some cases represent a single fixed value.

The metallic texture for example represents an all white value which you could have just use an float value of 1 where a mask would be used to isolate areas of the material that would be metal. AO is usually used to define separation of shadowed areas defined by the normal map.

Disconnect both the metallic and AO textures and the result should look closer to the 1st image.

It definitely looks like you are missing a reflection probe capture actor or a cube map. There’s just nothing in the scene for the material to reflect, that’s why it’s black.

Thanks for the additional replies folks, I had thought there would be no further responses to this issue and had sorta resigned myself to going back to Unity since when loading my meshes there, they looked exactly the same as they do in Substance Painter etc…

Thing is, in the early days of UE4, I got the same experience - new scene, load model, looks exactly the same, now they’re black.

I agree, it is probably environment reflection because I usually always start from a blank scene and work up from there.

So this lead me to the same conclusion that there wasn’t an environment to reflect etc.

As my first test, I created another blank scene, and using basic cubes, I created “walls” around the scene - something for my model to reflect.

No joy, still mostly black. This this IS with reflection probes and boxes in the scene! :frowning:

For my second test, I decided to load one of the default “populated” scenes, I believe it was the first person blueprint scene (still wo/content) and I noticed the model looked somewhat better, but still not nearly what I was seeing in Unity or Substance.

Still wasn’t pleased with my results…

With my materials, the model always looks GREAT, up until the point I add the metal channel texture (whether all white or with varying gray etc.)
This had me suspecting that my material setup wasn’t correct (perhaps I need multiply something w/the metal etc.,) over simply directly connecting base color, AO, roughness etc. Though again, back in Unity, doing the same, everything looks as expected.

I HAVE TO figure this out, I can’t see myself NOT being able to use UE4 - all the new Cinematic and Matinee features alone has me drooling over the idea of creating my cut scenes using those features over using pre-rendered animations as I had planned in the past!

Everyone else appears to not have this issue I’m experience, so obviously it’s something I’m missing in setup; all 3 of my computer (laptop, desktop and work) show the same result, so it has to be something I’m missing.

I just installed 4.13 and I’m going to fight though this again - I have to get back to how it was when I first started using UE4!

This time I’m going to create one of the “functional” Blueprint scenes and LOAD the content to get me started - hopefully I can get past all this with refocused effort…

Are their any downloadable (or default setups) you can recommend that I try where you don’t have “black” issues with your models? Any pointer would be appreciated!

Again, thanks for all your responses guys, hopefully I’ll figure out what I’m doing wrong…

There’s a advanced lighting map in the start content maps folder, you can try setting up a model/texture there.

Might sound a little random but have you flipped the green channel in your normal map?

https://answers.unrealengine.com/questions/334702/why-am-i-having-this-weird-issue-with-normals.html

I’m very new to U4E but I thought I’d try and help. Made a cube in blender, finished it of in 3Dcoat

3Dc render
http://imgur.com/JSB2LVq

Exported everything under the new Unreal4 option and connected it like you did, added lights, a reflection sphere and rebuild the lightning and seems to come close to your result, kinda ?

http://imgur.com/s7KosjU

Added a Lerp node and a constant to set a value

http://imgur.com/23o8tf2

edit; this forum doesn’t seem to like Imgur links]

I think its because you are adding the full RGB channel to the metallic node, the node only need a 0-1 value, but by connecting the white connector to metallic, you actually give it 3 values (1,1,1). Try only connect one of the color channels to the node.

EDIT: Btw, how does the preview look like in the material editor? If the material is black on the sphere/cube, then it’s the material that has the issue and not your model. At least you can rule that out. But try test the one channel above.

Try disabling SRGB on the Roughness map to see if that helps.

Guys thank you so much for helping me. SpaceRogue, thanks for taking the time to show me what you did to fix what appears to be the same result I was getting. I like your solution and I’m going to give it a try immediately after I pen this post!

Now as a follow up, I was watching a Digital Tutors video on Maya and Unreal 4 Animating a Short Film in Maya and Unreal Engine (I still want to use UE4 so bad!)

When he got up to texturing his spiderbot, and placed it into UE4, upon added the Metal texture while setting up the material he got the same exact issue and said as much (paraphrasing) “the Metal makes the model black…” I was SO HAPPY to finally see it wasn’t just me experiencing this issue, and I sat up straight just waiting to see what he did to FIX it!

What did he do? Something I did right out off the bat, but dismissed it as not being correct since this was supposed to be a PBR material; he added a multiply node to the Metal value and reduced the 2nd input to around 50 - 70 percent.

Now from all the things I learned while using 3D-Coat, Substance Designer and Substance Painter - a material is either metal or dielectric; if it’s metal, the Metal value should be 1 if it’s not then it should be 0! Anything in between is just going for a subjective feel for how you want the model to look…

In my opinion Unreal Engine is breaking this PBR paradigm because as soon as an object has 1 (or a white texture) for it’s Metal slot, it ends up looking BLACK in the scene.

Thing is when UE4 became available at $20/month (when I OF COURSE) grabbed it, and even after it went free, simply texturing my model directly from the maps generated by Substance looked the SAME in UE4.

Now something has changed??! (In fact now that I think about it, when Unity finally went PBR as well, now my models look correct in Unity and now bad in Unreal; I wonder if Unity’s installer is hacking UE4’s installation!! :rolleyes: )

Here’s the same scene from above with what the DT training recommended as the solultion for the model going black after the addition of the multiply node (at 0.8) to the Metal channel:

http://www.willbelljr.net/public/unreal/metalat0.8.jpg

Looking at this VS the original image from 3D-Coat and Unity, the object just doesn’t like Metallic now with the metal scaled down to 0.8. The object is supposed to be “Steel”, that certainly doesn’t look “Steel” to me especially compared to the first image.

I feel something is broken since my models never looked black in the earlier versions of this engine - in fact I was amazed, at times saying to myself “my only limitations are my artistic skills…” since my models were looking EXACTLY as I authored them in 3DC and Substance Designer / Painter.

I’ll give SpaceRogue’s suggestion a try next - I SO want to move forward from this…

Wow thanks so much for chiming in, Sam, I skimmed by your post not realizing you’re from Epic!

Yes, I can definitely say disconnecting the roughness does make the model look better:

http://www.willbelljr.net/public/unreal/metalnoroughness.jpg

Now I’m trying to find a setting for the image file that doesn’t cause an error back in the Material??

Okay I’ve FIXED MY ISSUES!

Thanks so much Sam, I just knew if Epic would chime in here, I’d be able to understand what I was doing wrong!

http://www.willbelljr.net/public/unreal/repairedmaterial.jpg

Turns out even the DigitalTutors guy had it wrong- based on what Sam suggested, YES turn off SRGB for your Metal, Roughness (and I’d imagine, any other grayscale images being used.)

This yielded errors back in my material BUT after reading what the error message said, in the Material editor; setting the Sampler Type to Linear Color - now ALL is right with the world!

Lawd, you guys don’t know I had given up thinking that all this “3D stuff and Unreal” just wasn’t for me, resigned myself to going back to Unity etc.

I felt in my heart it was some settings somewhere, but I just couldn’t find what was wrong!

Also knowing that “*PBR *is supposed to be simple”, I just didn’t like having to multiply my Metal etc., and thanks to Sam, not only was I correct in my faith that PBR materials should be simple, he pointed me to the settings that I didn’t have correct!

LOL, I guess I could contact the Digital Tutors guy and let him know what he was doing isn’t necessary either!

Thanks so much for everyone who has chimed in here to help me - hopefully this will help others in the future, because IMO, anyone starting with PBR and UE4 will run into this issue!

I think Epic should put this up in a FAQ somewhere so they won’t go through what I did with this issue, pretty much since V4.9 forward!

I had taken a good amount of time off practicing my modeling skills for a bit while UE4 progressed like crazy! Coming back with some models in hand, I ran into this issue - and had almost given up on using Unreal Engine 4!

Thanks so much, everyone!

Glad I could help you get it right. FYI, SRGB is turning on or off gamma correction to your Texture(Please note I have greatly simplified this due to lack of caffeine;)). While this is useful for things like Base Color, it is not so good for things like Normal maps or Masks as you do not want the image to be gamma corrected because the image is storing data that is already formatted in the manner UE4 needs it to be. Here are some examples of Textures that should have SRGB disabled.

  • Normal Maps
  • Mask Textures
  • Roughness Maps
  • Metallic Maps
  • Grey Scale Maps

I though that this information was in a FAQ or in a Tips & Tricks section for PBR, but I can not find it anywhere. I have input a Jira to get this added at some point in time as I agree that this is an important piece of information to know about. Sorry that it was causing you so many issues, but on the bright side, you will always be able to spot problems like this in the future, and now you know how to fix them! I am very glad that I could help you fix your issue and thrilled to hear that you are going to stick with UE4. Please let me know if you run into any more problems with Materials or Textures, and I will be more than glad to help you out.

Cheers-

Sam Deiter

3 Likes

Thanks Sam for looking into making sure the Docs are updated to help inform folks on how the images should be set to render properly.

I’m working with another test model - something created with a bit more enthusiasm, and even with now knowing about how I should remove SRGB, and specify either Linear Grayscale or Linear Color, I still think my models are coming out dark in UE4??

Example with UE4 vs Substance Painter:

http://www.willbelljr.net/public/unreal/TestMesh04_SPvsUE4.jpg

In Substance the model is more “gray” than it is in UE4’s view port.

Substance has a Unreal Engine 4 export that combines the AO, Metallic and Roughness together into one texture map:

http://www.willbelljr.net/public/unreal/SubPainterUE4Export.jpg

And I’m really trying to lean towards that being the issue, but when simply exporting “Metal / Rough PBR” which exports all the maps individually, it looks the same.

I tried changing the combined texture to grayscale so it’s no longer Pink, but to me it appears “better” when using color maps.

The other thing is, IMO, the Material Preview looks way more correct than it does in the Game Viewport:

http://www.willbelljr.net/public/unreal/ViewVsPreview.jpg

So I’m not sure what to say or do about all this? (Also is there a way to rotate / adjust the lighting in the Material preview window?)

I’m pretty sure if I were to export these maps into Unity they’d look pretty much correct, but I want to use Unreal Engine 4 >whine-cry<…

I can zip up my model and maps and perhaps the Substance Painter project as well, if that would help someone to debug this issue?

All I did was create a cube using Blender w/the HardOPs add-on, and further piimp’d out the cube in Painter with alphas and normals, and then exported using the UE4 preset.

The model only has a single set of UVs, I let UE4 create the lightmap UVs.

In Substance Painter, I have the project set to “Compute tangent space per fragment”, which I believe was mentioned in a tutorial, which said that setting should be checked when exporting to UE4.

Edit: This is using the new V4.13.1 version.

If you post the model and textures I’ll take a look at it.

Okay here’s the FBX file and Substance Painter generated textures (~6 megs):

Drive.Google Link](https://drive.google.com/open?id=0B547x04dwvz0Mm04OGtJd2V3eUU)

Thanks for taking the time to look at this!