forums | blogs | polls | tutorials | downloads | rules | help

Error message

Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in remember_me_form_alter() (line 78 of /var/www/siegetheday.org/sites/all/modules/contrib/remember_me/remember_me.module).

Main menu UI

[t:template,n:ui_backdrop] { specializes = ui; doc = "UI Frontend Backdrop";

category_name = "gui";

[aspect]
{
model = m_gui_fe_m_mn_3d_backdrop;

[textures]
{
0 = b_gui_fe_m_mn_3d_background-01;
1 = b_gui_fe_m_mn_3d_background-02;
2 = b_gui_fe_m_mn_3d_background-03;
3 = b_gui_fe_m_mn_3d_background-04;
4 = b_gui_fe_m_mn_3d_background-05;
5 = b_gui_fe_m_mn_3d_background-06;
6 = b_gui_fe_m_mn_3d_background-07;
7 = b_gui_fe_m_mn_3d_background-08;
8 = b_gui_fe_m_mn_3d_background-09;
}
}
}

In the above, the UI menu only has 1 mesh, but it has 9 textures assigned to it. Anybody have any idea how it assigns that texture to the main menu ui mesh?

The textures assigned are located in bitmaps/gui/frontend/main/menu if I am remembering correctly. Since windows 8.1 will not work with tank viewer/maker I cannot check anymore though. Sad

If you look at the textures you will see in which order they get assigned.

A mesh may contain several sub-meshes, it seems m_gui_fe_m_mn_3d_backdrop has 9 of them.

I guess if you would open the mesh file in a hex editor for example, you would see that there is natively a texture assigned for each sub-mesh.
So the texture list above is just a re-assignment of these textures - indending files though, but usually designed to perform together a coherent look on the main mesh.

There may only be one mesh, but multiple materials are applied by gMAX. The numbers are assigned there, except that gMAX starts at one, not zero, so the numbers are one less in the template.

The character models in DS1 had 1 = skin, 2 = clothes/armor, but that changed in DS2 so that skin could show through on the body in less-than-triangle amounts. I forget how they're mapped in DS2, but head is still separate from body, and hands and feet may have moved to another material.

Bottom line is you need to open up the mesh in SiegeMax to find out.

Quote:
A mesh may contain several sub-meshes, it seems m_gui_fe_m_mn_3d_backdrop has 9 of them.

This isn't entirely correct. The menu item contains 1 sub mesh and 9 textures against that mesh. I'm trying to figure out how Dungeon Siege decides to render those multiple textures. For example:

The above isn't the menu but it's a good example of what I'm talking about. What you see is farmgirl in DS on the left and my farmgirl on the right. The red boxes illustrate an example where you have one sub mesh with multiple textures. As you can see, DS handles this better than I do. Since there are two sub textures are there also two sets of UVs? Should I be treating them as separate geometry? Fixing the above FG will also fix my issues with the menu.

Quote:
The character models in DS1 had 1 = skin, 2 = clothes/armor, but that changed in DS2 so that skin could show through on the body in less-than-triangle amounts. I forget how they're mapped in DS2, but head is still separate from body, and hands and feet may have moved to another material.

Yup I totally see that and that makes sense. I guess its more about how its mapped to the geometry - re. above.

The character figure is a good example of both. There are sub-meshes for the torso, head, hands and feet, and multiple materials are applied to the head (skin and hair), and for some armors, there are multiple materials on the torso, e.g. shirt and pants.

There's no way to tell if the main menu has multiple textures because it was split into sub-meshes, or just had multiple materials assigned without looking at it in SiegeMax. They both end up with the same result in the template. I'd expect multiple materials on a single mesh, as there's no need for sub-mesh replacement in that case.

In general, the game uses sub-meshes when it want to swap geometries, and materials when it just wants to re-spray the old bodywork.

Agreed, Ghastley. I got it working last night, both the gui rendering and the farmgirl rendering. I just ended up creating geometry for each sub texture identifier and assigning the texture to that at unit 0. Seems to be working fine for now. Thanks for the input on this one.