Gildor's Forums

Author Topic: Tera: Alpha Channel in texture is not used [Solved, Shader was in another pkg]  (Read 7629 times)
TachisAlopex
Sponsor
Newbie
*
Posts: 5


View Profile
Tera: Alpha Channel in texture is not used [Solved, Shader was in another pkg]
« on: April 23, 2014, 19:25 »

Hello! I'm trying to use umodel to view various models from Tera. The problem I encountered is that Tera use the alpha channel of the diff texture, while umodel doesn't.  I'm not sure if I'm missing some command line flag or if there is something else I need to do

For example:


I'm not sure how easy it is to see, but notice how the hair has an alpha channel (I also edited my screenshot to show the regular texture too). Tera uses this and makes the hair see though where the alpha is at 0, while umodel still displays these transparent parts of the texture.

Could you please help me get umodel to act like Tera? I search and view the tutorials, but I couldn't find any relevant information. I can still use Tera, but umodel is so much faster, easier, and lightweight compared the loading the full game over and over.

Thank you!
« Last Edit: April 24, 2014, 06:14 by TachisAlopex » Logged
Gildor
Administrator
Hero Member
*****
Posts: 7926



View Profile WWW
Re: Tera: Alpha Channel in diff texture is not recognized/used
« Reply #1 on: April 23, 2014, 19:33 »

Hi,
Umodel uses very rough approximation of Unreal engine materials, so sometimes (or in most cases?) materials looks different. Unreal engine 3 materials are very complex, and it's very hard to fully support them, so umodel tries to guess how material should look.
Logged
TachisAlopex
Sponsor
Newbie
*
Posts: 5


View Profile
Re: Tera: Alpha Channel in diff texture is not recognized/used
« Reply #2 on: April 23, 2014, 19:48 »

What about larger differences? For example I'm attempting to remove this superfluous armor. On the left you can see the original, the right shows my modification:


In Tera, the superfluous armor is completely missing. I tried the openGL renderer too and that didn't make a change. Is there some configuration I can use, or will I just need to deal with this how it is?

Thank you for your extremely quick reply. I am very grateful.
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7926



View Profile WWW
Re: Tera: Alpha Channel in diff texture is not recognized/used
« Reply #3 on: April 23, 2014, 19:56 »

How did you "remove" your armor? Did you erase texture and put Alpha=0 to every texel? If so, most likely umodel didn't recognize (like in example from your previous message) that material has transparency.
Logged
TachisAlopex
Sponsor
Newbie
*
Posts: 5


View Profile
Re: Tera: Alpha Channel in diff texture is not recognized/used
« Reply #4 on: April 23, 2014, 20:12 »

Yes. I just used the simple erase tool, which set the pixels in that area to alpha = 0.

Here are the textures. The original one on the left, my modification on the right. You can see that the armor has no alpha, just like the hole for the character's tail originally had/has no alpha


And here is what you see in game: (I haven't cleaned up the edges yet so you see a bit of the original texture floating in space, but that's why I was hoping I could use umodel Smiley)
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7926



View Profile WWW
Re: Tera: Alpha Channel in diff texture is not recognized/used
« Reply #5 on: April 23, 2014, 20:19 »

Could you provide me 2 packages you mentioned in previous messages (or perhaps that was a single upk)? Probably I'll be able to improve umodel's heuristics quickly. Umodel's renderer doesn't use alpha from texture automatically, opacity should be assigned in material editor explicitly.
Logged
TachisAlopex
Sponsor
Newbie
*
Posts: 5


View Profile
Re: Tera: Alpha Channel in diff texture is not recognized/used
« Reply #6 on: April 23, 2014, 20:31 »

Sure! The packages are somewhat large because they include about a dozen different skins. These also don't include animations. Those are in separate packages.

The Head Package, 28MB (Inside the package I was using popori_F_hair00_diff):
https://drive.google.com/file/d/0B4VxN5n15Q4mTm13WktzelNDd2M/edit?usp=sharing

The Body Package, 27MB (Inside the package I was using Popori_F_H00_Body_diff):
https://drive.google.com/file/d/0B4VxN5n15Q4manhFU003OU00eW8/edit?usp=sharing

Thank you again
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7926



View Profile WWW
Re: Tera: Alpha Channel in diff texture is not recognized/used
« Reply #7 on: April 23, 2014, 21:49 »

Thank you for files.

I've checked data for material from the 1st screen. That's a MaterialInstanceConstant object. It doesn't have any information about transparency/opacity. Usually this information is used from "Material" object, which is used as template for MaterialInstance object. This material instance refers to MatTemplet0012A object, as could be seen in log:
Code:
check for MatTemplet0012A in Popori_F_H
WARNING: Import(S1_MI.MatTemplet0012A) was not found
Umodel tries to locate it in S1_MI package - I don't have that file. Perhaps, this "Material" stored in some package, which exists for most UE3 games, but with different names. For example, in Gears of War that's GearGame.upk, for Alice - AliceGame.u, APB - APBGame.u etc. You should find such package, and add it to the command line with "-pkg=<package_name>", so umodel could find that material there.

Most likely that material (MatTemplet0012A) contains some property specifying transparency mode, and in that case umodel could try to use corresponding blend mode.
Logged
TachisAlopex
Sponsor
Newbie
*
Posts: 5


View Profile
Re: Tera: Alpha Channel in diff texture is not recognized/used
« Reply #8 on: April 24, 2014, 06:14 »

Thank you so much! I guess I should have looked at the warnings closer. There are a bunch of Shader packages in S1Game\CookedPC\Art_Data\Packages\Shaders, and they enable the transparency.

Thank you for your excellent help, and your continual work! Umodel continues to impress me. I'll send something your way!

Thanks again,
Tachis
Logged
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Leviathan design by Bloc | XHTML | CSS