Complex UV Layout in Maya
Over the last couple of years UV layout in Maya has changed for the better. In this course we're going to be taking a look at some of those changes as we UV map an entire character
# 46 06-01-2012 , 11:14 PM
Perfecto's Avatar
Registered User
Join Date: Mar 2007
Location: TN (USA)
Posts: 1,889
I've never heard of xnormal before, i'll google it.

Here's a screenshot of the normals for one of the back walls of the turbolift. I used the same exact technique and it captures both sides of the lips.


Don't be satisfied with what you can do but rather strive to do the things you can't do!
Exceed Expectations!
# 47 06-01-2012 , 11:17 PM
Perfecto's Avatar
Registered User
Join Date: Mar 2007
Location: TN (USA)
Posts: 1,889
Hit wrong button when trying to attach screenshot.

Attached Thumbnails

Don't be satisfied with what you can do but rather strive to do the things you can't do!
Exceed Expectations!
# 48 06-01-2012 , 11:20 PM
daverave's Avatar
The thin red line
Join Date: Aug 2009
Location: England
Posts: 4,472
Just had a thought is your low rez mesh as wide as your hi rez...........dave

Edit:have found xnormal better than maya at normal maps




Avatar Challenge Winner 2010
# 49 06-01-2012 , 11:21 PM
Perfecto's Avatar
Registered User
Join Date: Mar 2007
Location: TN (USA)
Posts: 1,889
Oh yeah, in case anyone's wondering, my low rez completely engulfs the hi res. No parts of the high res model extends beyond the low res.

edit: lol just saw your post asking


Don't be satisfied with what you can do but rather strive to do the things you can't do!
Exceed Expectations!
# 50 06-01-2012 , 11:25 PM
Perfecto's Avatar
Registered User
Join Date: Mar 2007
Location: TN (USA)
Posts: 1,889
googled xnormals and it's a separate app. I clicked the download and it took me to eat3d. Is that where you downloaded from?


Don't be satisfied with what you can do but rather strive to do the things you can't do!
Exceed Expectations!
# 51 06-01-2012 , 11:32 PM
daverave's Avatar
The thin red line
Join Date: Aug 2009
Location: England
Posts: 4,472
Not sure Perfecto down loaded a long time ago but it is free..........dave




Avatar Challenge Winner 2010
# 52 07-01-2012 , 12:56 AM
Perfecto's Avatar
Registered User
Join Date: Mar 2007
Location: TN (USA)
Posts: 1,889
Downloaded and installed xnormal. It had no trouble at all with the normal map. I guess something is just not quite right with my Maya.

Attached Images

Don't be satisfied with what you can do but rather strive to do the things you can't do!
Exceed Expectations!
# 53 08-01-2012 , 02:50 AM
Perfecto's Avatar
Registered User
Join Date: Mar 2007
Location: TN (USA)
Posts: 1,889
After doing alot of research on textures, I'm a little confused. I thought I'd be able to make some really awesome textures but now I think otherwise. Here's two screenshots.

I wanted to put some scratches on the turbolift doors but when I try and put them on, it's mostly just pixels. If I try and add fine scratches to the face of the door, they would need to be thinner than a pixel.

anyway, in the image you can see that i tried to paint on some white scratches but it's just so pixelated, it's horrible looking. Definitely not next gen stuff. And those are large scratches where the paint is worn off on the edges. Imagine trying to add fine scratches to the surface of the door. Impossible at this resolution.

So what resolution is this texture at right now? 1024x1024. Originaly 2048x2048. Even at 2048x2048, it's very pixelated and does not resemble scratches. You can see in the black image with the uv's (part of the uv's are not included in it) the door size.

Anyway, is this really the way things are? Everything I read talks about 512 or lower resolution for textures. Characters going up to 1024 and some with two 1024 maps. But for environment textures, research says to stay lower than that with certain exceptions for stuff like skybox or for some ground textures.

Research also suggests designing maps to be able to reuse textures as much as possible meaning making things as modular as possible. In my ds9 map, there's going to be a ton of individual texture maps meaning the resolution will be even more of an issue.

So, in order to make this door look next gen, I'd have to go much bigger on the texture. If I do that though, my scene is going to have a huge texture memory usage by the time I finish.

I feel like I'm doing something wrong but my brain is telling me that it's just the way things are. Anyone have any words on this subject?

Attached Thumbnails

Don't be satisfied with what you can do but rather strive to do the things you can't do!
Exceed Expectations!
# 54 08-01-2012 , 05:07 AM
Perfecto's Avatar
Registered User
Join Date: Mar 2007
Location: TN (USA)
Posts: 1,889
I've decided to go with what makes most sense to me. I'm going to make the textures as big as they need to be to get the minimum amount of detail that I want them to have. As it progresses, if I start running into performace issues I'lll reduce textures where I can.


Don't be satisfied with what you can do but rather strive to do the things you can't do!
Exceed Expectations!
# 55 08-01-2012 , 12:53 PM
SilverFeather's Avatar
Noober than noob
Join Date: Sep 2011
Posts: 520
Something you've mentioned earlier in this topic made me try to experiment something on a rubik's cube-shaped building that has gravity pulling stuff towards its center with 3x3x3 rooms rotating around its center. Phase one of the experiment kind of failed when I used a ball to test multiple gravity generators. With only 1 gravity generator that's supposed to pull the ball towards it, the ball started to bounce inside the giant cube, went through all of the holes (doors) of the rooms and at some point escaped the cube and crashed Maya. O.o I missed a hole that should have been closed...

And for some odd reason I'm having trouble un-templating the cube if I template it. Tried all 3 selection methods but still didn't make it normal so i didn't save templated.

# 56 08-01-2012 , 04:34 PM
PixalZA's Avatar
Lifetime Member
Join Date: May 2011
Location: Riyadh, Saudi Arabia
Posts: 525
Hi Perfecto. The UV map that you have posted, is it for a single object in Maya or multiple objects in Maya?

# 57 09-01-2012 , 12:29 AM
Perfecto's Avatar
Registered User
Join Date: Mar 2007
Location: TN (USA)
Posts: 1,889

Hi Perfecto. The UV map that you have posted, is it for a single object in Maya or multiple objects in Maya?

It's for the turbolift walls, ceiling, floor, door, and guard rails, and beams inside the turbolift.

Something you've mentioned earlier in this topic made me try to experiment something on a rubik's cube-shaped building that has gravity pulling stuff towards its center with 3x3x3 rooms rotating around its center. . .

I really appreciate you experimenting with that. We are still interested in the idea but more specifically, we're interested in having gravity pull you to the outside walls. So if you were inside a sphere, you could walk on the inside surface.

Edit: We havn't tried experimenting much since we are still unsure what we want to do. We've been brainstorming different ideas but so far nothing grabs our attention. Until we do , I'll keep working on ds9 but there's a chance we'll end up doing something that doesn't require weird gravity requirements haha.


Don't be satisfied with what you can do but rather strive to do the things you can't do!
Exceed Expectations!

Last edited by Perfecto; 09-01-2012 at 12:37 AM.
# 58 09-01-2012 , 03:27 AM
Registered User
Join Date: Aug 2011
Location: Sliema Malta
Posts: 497
Perfecto,

I can't help specific to UDK because I mainly use Unity and Cryengine. But I will say that many things are going to come down to the notion of my previously mentioned "occlusion culling" and the repetition of textures as you said. One thing I have done on top of the occlusion culling is coded within javascript or in the flowgraph of Cry to show proxies on a distant object and trade out the textures when I got closer. I am just guessing but does the Unreal Kismet run off of C-Sharp? I know in my two applications I create 2048 maps and use 512 on distant objects but say I am within 200 meters I swap the texture out and this is on top of the grid occlusion culling which is only rendering what I see. You should be making the textures optimal then selecting the size in UDK because that is how Cry and Unity both work. I wouldn't think UDK would be any different. Also when you begin lighting you will have to worry about the resolution of the UV's within the engine.

I know Eat3d has tutorials on most of this stuff and if you are serious about making topnotch stuff you are just gonna have to eventually pay for the tips or you will end up spaghetti coding and it will bone you on the back-end. I subscribe to numerous sites that help out and I can honestly say that they are worth every penny even if they keep me from going out to the bars more often...

best

Collin Bishop

# 59 09-01-2012 , 11:18 AM
SilverFeather's Avatar
Noober than noob
Join Date: Sep 2011
Posts: 520

It's for the turbolift walls, ceiling, floor, door, and guard rails, and beams inside the turbolift.



I really appreciate you experimenting with that. We are still interested in the idea but more specifically, we're interested in having gravity pull you to the outside walls. So if you were inside a sphere, you could walk on the inside surface.

Edit: We havn't tried experimenting much since we are still unsure what we want to do. We've been brainstorming different ideas but so far nothing grabs our attention. Until we do , I'll keep working on ds9 but there's a chance we'll end up doing something that doesn't require weird gravity requirements haha.

Well, so far I've noticed that only one gravity generator can cause a 180 degree pull towards the center of the cube (the ball goes diagonally towards the center and gets blocked by the wall in the first room).
I've had some plans of making a hypercube parody chapter on one of my novels so I thought that I should experiment with that said cube and figure out what it would look like/act like and since you've mentioned the gravity thing here, I decided to give it a go with the gravity too.
First 3 pictures: Ball goes inside the cube through an opening and then goes diagonally towards the gravity spot and stays in the corner.

I think i found the answer to your problem with the gravitation throwing stuff towards the exterior: Just put the numbers of the xyz forces to pozitive and place gravity at the center of your sphere. As you can see, my sphere starts to get pushed towards the outside of the cube when gravity is reversed (last 2 pictures).

If you want to make some really tricky rooms, you could also mix positive and negative xyz forces, it might push the objects towards the outside in some places and pull them towards the center in other places.

Problem with the experiment shows that when passing the 180 area, the ball will start to float towards the gravity's xyz coordinates. So this somehow requires two gravity generators, one with positive, other with negative, both at the center. Got to figure out how to make both forces act.

Progress: Upon adding a second gravity generator with negative Y pull (towards bottom surface of the cube), I keep having problems balancing out the Y and -Y pulls. If both Y and -Y are opposite but equal in module, they just keep the ball floating O_o

Pretty hard to balance them out though... Only way I could make the 2nd generator push the ball towards the down side of the cube would be to record magnitude changes once the ball reaches the bottom side.
In game example: If your character would go to the rooms of the bottom side of the cube, the 1st gravity generator should be either shut down or its magnitude lowered progressively.
So I'm not sure if this can be fixed without recording changes, but in that case one could simply have just 1 generator with recorded magnitude changes that get triggered by what room you are in. And that's where I don't know how to trigger recorded stuff, since I have no game engine to experiment with...

In conclusion: Either record changes to a single generator that will be triggered by the position of the object/character in your sphere / rubik's cube or find some other way to produce a 4-branch generator. I can at most use 3 dimensions on 1 generator and up to 6 with 2 generators, which still requires triggers. -_-

Attached Images

Last edited by SilverFeather; 09-01-2012 at 12:16 PM.
# 60 09-01-2012 , 07:35 PM
PixalZA's Avatar
Lifetime Member
Join Date: May 2011
Location: Riyadh, Saudi Arabia
Posts: 525
Hi Perferto

You have a couple of options to get higher resolution on your textures. You can increase the texture size as you already mentioned. You can also increase the size of the UV for the door.

If you are planning to animate the door with Kizmet, then it makes sense to import the door section as a separate static mesh. That will give you the opportunity to increase the size of the UV for the door.

If the door section that you highlighted in the UV shot is part of a static mesh that is not going to be animated, then you have some more options available. First will be to cut the object in Maya into smaller pieces and import them separately into UDK. Reconstructing the complete mesh in your scene from the pieces should not be that difficult. I found that by making sure that the pivot point for all the pieces in Maya are the same (I use 0,0,0), then the pieces align easily in UDK. Also you improve your frame rate by doing so as the render engine does not render meshes that are not visible. (Not too small though).

Another alternative if you are going to use it as a single static mesh is to consider a multi-material static mesh. For the example below I used Maya 2011, the ActorX plugin and UDK 2011-11.

First I created a simple structure consisting of two separate polygons in Maya and mapped out the UVs (UVSet map1).
You can have any number of objects. The limit is determined by the number of materials that you will be using for the mesh in UDK. So, you can have 9 objects that will be using 3 materials in UDK. By looking at some of the static meshes that comes with UDK I've noticed that the average number of materials per mesh is one or two with some going as high as 4.
Secondly for each polygon I copied the UVs in map1 into a new UV set (map2).
The trick here is that the UVs for both objects in the first UV set (map1) are not bound to the 0,1 UV space. You can make it as big as you want (Useful for tileable textures) or they can even overlap.
For the example the UVs for the big slab is well outside the 0,1 range while I kept the UVs for the small slab within the 0,1 range.
user added image

With both objects selected, I arranged the UVs in the second UV set (map2) to fall in the 0,1 range with no overlapping UVs. This is important as this UV set will be used for the light map (Pre-calculated static shadows) in UDK.

user added image

The last thing I did (Before the export) was to create a material in Maya for each material that I was going to use for the mesh in UDK and assigned it to the objects in Maya.
For the example I created two lamberts and assigned one to each object. I found out the hard way that the assignment of different materials to the objects in Maya actually causes the "splitting" of the static mesh in UDK. The import process in UDK automatically combines separate objects in the ASE file that share the same material.
Next step was to export using axmesh. You can decide whether you want to convert the objects to triangles yourself to let axmesh do it for you. The import process in UDK will also do it if not already done.

user added image

user added image

Last step is to import the static mesh into your UDK package, import your textures, create the materials and assign the materials to the material slots for the mesh.

user added image

What you will notice is that I have set the light map coordinate index to 1 (The index numbers are zero relative) and I increased the light map resolution to 1024 to get sharper edges on the shadows. Look at the light map index for all your meshes and make sure it is pointing to a UV set for each mesh where you have non-overlapping UVs in the 0,1 range.

The static mesh viewed from far and close. The texture for the sign is only 512x512.

user added image

user added image

I'm looking forward to see the final version of the level.

PixalZA

Posting Rules Forum Rules
You may not post new threads | You may not post replies | You may not post attachments | You may not edit your posts | BB code is On | Smilies are On | [IMG] code is On | HTML code is Off

Similar Threads