The VG Resource

Full Version: Alice Madness Returns Card Guards
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello people,
I've been trying to rip the models of the card guards ennemies from the PC game "Alice Madness Returns", based on UE3, and I'm having a couple issue. I was hoping someone could give me a hint or now how i could solve one or some of my problems? So, the final model should look like this :[Image: 310-3103220_card-guards-cauldron-born-al...-guard.png]  
(Sorry for the mid quality, best i found) As you can see, they have a black/red hood, black/red gloves and boots, fabric texture, and a number + symbol in two places of their "chest".
However, with my limited ripping skills, I only manage to obtain grey-ish clothes, no fabric texture, and black number on white background.
[attachment=14428]
Very disappointing. I believe that the developpers managed to make the game handle both black cards and red cards with the same set of textures (but different models), and just a tiny subtelty to make them have the according color and number.
I suppose that the solution lies in the files in the "material3" and "MaterialInstanceConstant" folders I got in the ripped files, but i have no idea how to use them.
Like, I have a file txt file titled "CardGuardsNumber_Mat.props.txt" that contains the following information :

    Expressions[0] = MaterialExpressionStaticSwitchParameter'CH_CardGuards.CardGuardsNumber_Mat.MaterialExpressionStaticSwitchParameter_1'
    Expressions[2] = MaterialExpressionTextureSample'CH_CardGuards.CardGuardsNumber_Mat.MaterialExpressionTextureSample_0'
    Expressions[9] = MaterialExpressionScalarParameter'CH_CardGuards.CardGuardsNumber_Mat.MaterialExpressionScalarParameter_0'
    Expressions[15] = MaterialExpressionVectorParameter'CH_CardGuards.CardGuardsNumber_Mat.MaterialExpressionVectorParameter_0'
    Expressions[19] = MaterialExpressionScalarParameter'CH_CardGuards.CardGuardsNumber_Mat.MaterialExpressionScalarParameter_3'
    Expressions[21] = MaterialExpressionTextureSample'CH_CardGuards.CardGuardsNumber_Mat.MaterialExpressionTextureSample_1'
    Expressions[23] = MaterialExpressionScalarParameter'CH_CardGuards.CardGuardsNumber_Mat.MaterialExpressionScalarParameter_2' 

And I have no idea how to exploit it.
Would someone have an idea about how I could solve this, or could point me in the right direction? I would even be very grateful if someone could tell me what the .mat files are and how I should use them. Links to tutorials are perfectly fine too! I'm working with Blender, btw.
I put said .mat and.txt files in the attached folder, and I made a wetransfer link with all the data related to these models, including the models and textures here https://we.tl/t-hjAF5o4pVV (expires on 2023-02-05).
Any help would be greatly appreciated!
Thanks in advance y'all!
The .mat files contain the textures and parameters for the Unreal materials. You cannot use these material files in Blender or convert them for use in Blender, but you can use them to help with figuring out the materials.

The .mat files tell us some of the meanings of the texture acronyms

"DM" = Diffuse Map
"SM" = Specular Map / "SMA" = Specular Map + Alpha (probably)
"NM" = Normal Map
"TM" = Tint Map

Here is what I came up with.

[Image: attachment.php?aid=15271]



First is the card color. By default, this color is not present. You are correct that both colors of the cards use the same textures.

If you are not aware, video games often use a technique called "texture packing" to combine multiple textures into one using the image color channels: https://wiki.polycount.com/wiki/ChannelPacking


In this case, the alpha channel of the texture "CardGuard_Body_SMA" is being used to add the color to the Diffuse Map.

To use it in Blender, add a "Mix "node, set it to "Color", then choose "Multiply". Set the "factor" as the Alpha channel of the SMA texture, the "A" input as the "DM" texture, and the "B" input as your chosen color (Red or Gray).

[Image: attachment.php?aid=15278]



Next is the card suit. Adding the card suit works similarly. The card suit texture ("CardGuard_TM") is a packed texture.

To unpack "CardGuard_TM" in Blender, set the texture's alpha to "Channel Packed". Then add a "Separate Color" node and put the "Color" output of the texture node into the "Color" input of the Separate Color node.

Duplicate the multiply node. The alpha and RGB color channels all contain a different suit, so just attach the appropriate channel output to the "Factor" input of the 2nd Mutliply node.

[Image: attachment.php?aid=15277]



I see you already added the first normal map.

In case you aren't aware, remember to always set normal map texture nodes' Color Space to "Non-Color".



Next is the fabric normal map. The fabric normal map is too small by default because it is supposed to be tiled. 

To tile it, add a mapping node and a texture coordinate node. Attach the texture coordinate "UV" output to the the Mapping node's "Vector" input, then attach the Mapping node's "Vector" output to the fabric normal map texture node's "Vector" input. Increase the scaling until you are happy with the fabric density.

[Image: attachment.php?aid=15276]

Next is adding the fabric normal map to the original normal map.

To add the 2 normal maps together, duplicate the multiply node, set the mix mode to "Overlay", set the "Factor" to 1.0, then attach the original normal map to the "A" input and the fabric normal map to the "B" input.

[Image: attachment.php?aid=15275]

Why Overlay? Overlay darkens colors below .5 brightness and lightens colors over .5 brightness. we want to darken the original normal map where the fabric normal map is darkened and lighten the original normal map where the fabric normal map is lightened.


But, I assume you only want the fabric detailing on the body and not the clothing as well. 

To do that, you can use the body color mask to control where not to put the fabric detailing. To do that, use the alpha output from the "CardGuard_Body_SMA" texture as the "Factor" for the Overlay node, with an invert node used to reverse the effect (otherwise you will get fabric detailing only on the clothes).

[Image: attachment.php?aid=15274]



Last is the numbers. I can't tell if the numbers are supposed to be colored or not. I will assume that they are colored.

For the number material, you can use the number texture as the factor for a mix shader, with a shader of your choice in input 1 and a Transparent BDSF node in input 2. Because the number material has transparency, in material settings you will have to change the material's blend mode to Alpha Clipped, Hashed, or Blend.

[Image: attachment.php?aid=15273]

If you want to change the number, you can manually move the UVs or you can attach a texture coordinate and mapping node to the number texture image node. Move the UVs/texture by .33m (+ or -) in the X/Y axes to correctly center the number.

[Image: attachment.php?aid=15272]



I cannot help you with the color channels of the "SM/A" textures. My best guess is that the red channel is the actual specular channel. The .mat files say stuff like "SpecularPower A/B" and I don't really know what that's about.



I hope that this helps you! 

~ Jasper
Thank you for your answer!!!!! It is incredibly complete and precise, I am very surprised. Thank you!!!
No problem!