Home | Download | Discussion | Help | Site Map | New Posts | Sign in

Latest Site News

MTS Movie Night #3 - posted on 20th Oct 2017 at 10:54 PM

Hair Layers and Transparency
Hair Layers and Transparency

It the simplest form, if you have not rearranged the layers or added new parts to your hairmesh:

After you click on Geometric Data Container, go to "Items 3" tab.

There you will see the group names (hair, hair_alpha3, hair_alpha5,.. and so on)

Select one of the alpha groups. I will try to explain how this works,
but it's a little complicated.

If the number of the alpha group is 3 you need to change the opacity
(third box) 0xFFFFFFFF to 0x00000003.

hair: Opacity= 0xFFFFFFFF
hairalpha17: Opacity= 0x00000011
hairalpha15: Opacity= 0x0000000F
hairalpha13: Opacity= 0x0000000D
hairalpha11: Opacity= 0x0000000B
hairalpha9: Opacity= 0x00000009
hairalpha7: Opacity= 0x00000007
hairalpha5: Opacity= 0x00000005
hairalpha3 Opacity= 0x00000003

You can use a little tool in SimPE to convert the
decimal numbers to hexadecimal. Menu "Tools/Hex<->Dec converter"
remember, after 0x will be always 8 numbers. No more and no less.

The hair group will always have the opacity 0xFFFFFFFF

----------------------

Now, if you are doing substantial editing on your hair mesh, the layers might not always correspond anymore to the original arrangement, so here is the complete explanation:

----------------------

Well, my english is not too good. But I will try to explain the "rules" that I learned for layered hair meshes and the opacity.

For example: After the hair group the first layer set will be "alpha3" (with texture set inside) and "alpha5"(with texture set outside)

The alpha 3 uses a value (0x00000003) for opacity and alpha 5 is 0x00000005.

If there is another layer set that covers the alpha3 and alpha5 group, it will use other value higher that both (alpha3 and alpha5) groups for the group that has the texture outside but have to use a low number for the layer that has the texture inside. So, you will need to change the alpha3 and alpha5 to be higher value that the next layer with textures inside... The external groups will use 00000003 for inside texture and 0x00000009 for outside. and the alpha3 will be changed to 0x00000005 and alpha5 to 0x00000007.

So, in fact you need to pay attention on the layers and not in the name of the group (if you aren't just changing positions of vertices of a maxis mesh). If you have or create one layer on top of another, you need to add a value higher for the top layer.

Make sure that you are splitting each layer in a separate group, to use a separate opacity value for each layer. You will need that to prevent transparent edges and set a correct value on all layers.

The layers with inside textures will have values starting from the top layer to the lower layer. And those layers have to use a value lower than all layers with textures outside.

for example:
if your mesh has 4 groups;
alpha 3 - textures inside - top layer
alpha 5 - textures inside
alpha 7 - textures outside
alpha 9 - textures outside - top layer

alpha 3 is the same mesh as alpha 9, but both differs from textures inside/outside
alpha 5 is the same mesh as alpha 7, but both differs from textures inside/outside

to set the opacity values you have to start from the groups that have textures inside the mesh. The lower opacity value (0x00000003) will be used in the most external layer (above all others)with textures inside.
so, if you understand this example, alpha 3 is above alpha 5.
so, alpha 3 covers alpha 5 and have to use a lower opacity value that alpha 5.

*set alpha 3 to 0x00000003
*set alpha 5 to 0x00000005

Now that you finished the "textures inside" layers, you need to start the layers with "texture outside" and the first value to set will be "0x00000007", since the layers with "textures inside" finished with "0x00000005". You will need to use a higher value to the layer that is above all other layers with "textures outside".
alpha 7 is below alpha 9.
So, alpha 9 is above of alpha 7 and have to use a higher value that alpha 7.

*set alpha 7 to 0x00000007
*set alpha 9 to 0x00000009

Resuming: The best thing is split each layer in a separate group and give opacity values looking in the original mesh, to make sure what layer is above or below the other. And don't care about the name of the groups but the location in the mesh itself.

It's really hard for me to explain better. sorry.
Reply With Quote

Click here to view comments, or to add your own.