TextCropping Node not working with skeletal meshes and more than 1 element

HI,

I ran into a strange bug with the TextureCropping Node. I post the picture with the erroneous result here where I have set up a simple material that illustrates the bug:

Now what I’m trying to do here is this: I have a basic texture that covers each element, face, torso, arms legs (and a few smaller ones like eyes) and so on. This texture is red with a green cross. I then want to project a blue texture cropped in the left top corner.

As you can see, the preview viewport shows the result without problem. The first element in the skeletal mesh, which is the face, also shows the correct material.

However all later elements don’t show the cropped overlay material like the face does… I made some experiments and it seems that the “Cropped Mask” pin always outputs 0 when used in elements other than the first one on the mesh.

I spend all night trying to figure out a way and searched the help sources but apparently nobody has encountered this problem yet. Of course I want to use this feature to projects wounds and dirt on the character which right now only works for the face but not for the other body parts.

Like I said, I spend a great amount of time trying to find a solution, but I am convinced this must be a bug.

Hello Wallenstein!

I dont have time to explain atm, (hope someone else will)
But take a look at this: UE4 - Advanced Mask Texture Optimisation Tutorial - YouTube

Thanks for the quick answer, but your tool shows the exact same problem. In Skeletal mesh elements other than the first, the mask outputs always 0 when applied to a mesh, whereas the mask sample in the material editor looks correct. It must be a bug in the engine

Hello Wallenstein,

I just tested your set up on the third person skeletal mesh, which has two different material element slots, and it rendered the texture cropping as expected. I also test this on a simple multi-material box and the results were the same.

Texture Cropping Material

Skeletal Mesh Cropped Texture

Static Mesh Cropped Texture

I ran this test in the 4.11.2 build of the engine just for clarification. If you are trying to find ways to apply dirt or other similar effect to your character, I would look into using decals instead. They can be cheap and very effective for this type of implementation.

Cheers,

thanks, I would like to send you my character and materials, but since the character is one that I licensed, I can not post the link here. How can I send you the link to my upload in private?

I ran a few more tests and I am getting more and more confused. Nothing makes sense. The model is a simple FBX import and I checked the original in 3DS. There are no differences in the vertices for the head or the other elements that I can see.

I exchanged the order of the elements so that the face is the second and the torso is the first element and it’s the face that shows the correct texture but not the others, so it has nothing to do with the order of elements.

I used Luos crop node and replaced the call to his function with the complete code in my material so that I could experiment with it by going further back in the graph to see where the error happens for the first time. Luos uses the two input UV coordinates in several math expressions to add, divide etc. and to my amazement it seems that whenever the second coordinate (v part or green component) is used, this branch of the function goes through to the mesh, but when the first component is used (u or red) it does not go through.

This makes no sense to me and unless there is something really strange with the model I have, I have no idea where to look. But then like I said, I checked the model in 3DS and I really don’t see any differences between the material groups :frowning:

To illustrate my point I include screenshots with the most basic material setup possible that shows this behavior

This here is correct using the green channel

And as soon as you use the red channel instead, the error shows

Also here is a preview of the simple texture output in the material editor with the uv components broken up. I don’t know if this is of any importance but the breakup node preview shows only the first channel not the second one.
Like I said, I am out of ideas here and currently will have to drop my plans of decorative body textures I guess

Andrew, would you like me to submit a sample character where you can see this behavior? I can upload the character and send you a link to your forum account. I am beginning to think that this problem may be specific to DAZ Geneisis 3 ( although I can not imagine why) but I have found 2 problems with this character model which I have reported separately so maybe there is something going on with this character model, at least this is a possibility

I was thinking it has to do with your character model and not the application of the material, as it applied correctly to both material elements on the third person default template character mesh.

Go ahead and send me a sample mesh to test with so I can continue to help you investigate this issue. As you mentioned, a simple link to the mesh sent via private message on the forums will suffice.

Thank you,

Hello Andrew,

I sent the link for the download to your forum account as PM.

There ae two test materials. One is the simplest one that shows the error. Simply use a UV coordinate sampler and break it up into the two coordinates. When you connect one coordinate, the faulty material sections will show a correct gradient. But when you connect the other one, then only white shows.

The material preview is fine in both cases.

The second is a more complex material that uses a cropping algorithm, but the reason is the very same. The one mask that is built on the u coordinate is corrupt, the other coordinate works (or vice versa)

Any help is appreciated since this effectively prevents me from projecting wounds and such on any bodypart but the face.

Yes, I know it’s working on the starter mesh, but here is the thing: My mesh was exported by 3DS and it is the Daz Genesis 3 model. People will want to use this model with Unreal. There are other problems with the character, most notably This here: link text.

It is a model people will try to use and then they will run into problems with Unreal. It is my understanding that people have used it successfully with Unity so the conclusion is, that there is something in your importers that does not handle this model correctly.

Nobody uses the starter mesh in their games but plenty of people will want to use this model in the future, so I would ask you to check with your company about investigating this further. I would assume there are incompatibilities with the Unreal Importer and this model and I would argue that it is in your interest as well to upgrade the importer to handle this model correctly.

Also I want to point out again that this FBX file was exported by 3DS and was not directly imported from Daz Studio, so the FBX format is well defined and according to Autodesk’s own standard.

Please give it another consideration and perhaps bring it up in a conference with your co workers and supervisors. I really do think this is a problem that can only be fixed by you and that it should be fixed by you to enable more people to use the Genesis 3 model.

Thanks

So I looked at what you are saying, and I honestly believe it has to do with how your Skeletal mesh is broken up into separate materials. I ran the tests you requested and did a side by side comparison between your Skeletal Mesh and the Third Person Skeletal Mesh. Below are the results I found, which is what believes me to believe the issue lies inherently with your skeletal meshes.

Red Channel Preview

Green Channel Preview

Material Green Channel

Material Red Channel

I do see the results you are reporting, but I do not see this as a bug as it is working as intended on the starter mesh. Let me know if you have further questions or need additional assistance.

Cheers,

I will take your suggestions to the correct sources so I can get further feedback on where we need to go from here. I appreciate your patience and promptness with responding.

Is there any news on this? Will this become a bug that is entered into the new public bug tracker so that I can follow it?

Thanks