Confused by objects and UV maps

(GeoffW) #1

Hi

Can anyone with some knowledge of Blender and 3ds max clarify this please
I was attempting to make an aeroplane model for a game, the game Devs. dont use Blender, as they model in Max. I have some limited knowledge or Blender and zero experience of Max

I asked them this question

Q1)
In Blender in order to UV map a mesh to a single texture image file, the mesh must be one single object. Multiple objects cannot image map to a single file. Is this a problem compared to 3ds Max that is used for Bob2 model design. A model need to keep lots of separate objects for Bob2 usage, so how does 3DS Max cope with this ? Hope this compatibility issue is not a show stopper ?

One of the Devs replied

Are you 100.0000% sure on this? That would be VERY surprising to me, one texture for several/many "sub"objects is common, as otherwise DX9/OpenGL slow down. Blender is known as featureful (but unconventional GUI) and people have worked on it for years if not decades now, so I do not expect this at all. Please ask on a Blender forum.
If it is true, IMHO most people using it (unless doing REALLY simple test objects or not caring for FPS at all) would have the issue. How do they circumvent it? Make one object, UV map it, then cut it up?

Was my original statement correct ?

Also, once I had completed my model and uv mapped it in Blender I would need to export it as a different file format, 3ds, or obj or whatever, havent decided yet.
Would this be able to export multiple sub objects that all map to a single UV image file ?

  Geoff
0 Likes

(Duoas) #2

I’m sorry to say that they’re right…:yes:

There is no restriction to what UV-maps to which image. You can have more than one model use the same image. You can have more than one image on one model. You can have both at once. :smiley:

The thing of importance is the UV-mapping, which associates specific faces with sections of an image. It does not matter what that image is or whether it is shared.

In Blender, the pixel dimensions of the image matter… but this may or may not be the case in other software. (Hence, you can swap the image with another, so long as the other is the same size as the first.)

Hope this helps.

0 Likes

(GeoffW) #3

Hi Duoas

Thanks for the reply, ah yes that did help, I think I can see how I was getting confused

When I was trying to use Blender to unwrap the separate sub objects in my plane model, I couldnt figure out how to make it so the unwrapped subobjects are all visible at the same time in the UV image editor. (I had to merge the sub objects first before unwrapping the sections)

I think I am right in saying that this is a limitation in Blender ? Can you confirm please ?

I then wrongly thought it followed from this that multiple sub objects cant all map to my one uv image when the model is saved.

I am not explaining myself very well, hope you followed this !

   Geoff
0 Likes

(Duoas) #4

I think I understand. You had more than one object which together gave the shape of an airplane (say, one object for the fuselage, one for each wing, etc…), and you had to join the objects into one in order to unwrap all the airplane’s faces at once?

I don’t know of any software that allows you to unwrap more than one object at a time… (but then, I’ve only played with Blender and Softimage|XSI).

Just because multiple objects together form something we humans consider a single object doesn’t mean we can treat them as one object. Does that make sense?

It is often the case, actually, that an object will be purposefully divided up so that separate parts can be UV-mapped separately.

What a UV-map stores, actually, is that for a particular face (in Blender, composed of 3 or 4 points), each point lies in a particular image at a particular U,V (or X,Y).

Mesh data is stored as an array of vertices (a vertex is a list of values for x, y, z), plus an array of faces (a face is a list of 3 or 4 indices into the array of vertices). A UV-map is a list of mappings, where one mapping is an index into the array of faces, an index into the global array of images, and a list of 3 or 4 points (each point is a pair of U,V values).

Hope this makes sense.

0 Likes

(GeoffW) #5

>I think I understand. You had more than one object which together gave the >shape of an >airplane (say, one object for the fuselage, one for each wing, etc…), and >you had to join the >objects into one in order to unwrap all the airplane’s >faces at once?

Yes, that was it exactly. For info Plane pic @ http://img209.imageshack.us/img209/9896/pic4jt5.jpg

>Just because multiple objects together form something we humans consider a single >object doesn’t mean we can treat them as one object. Does that make sense?

Yes, so thinking out loud here, the sequence for doing the entire job would be :-

  1. Complete the modelling, with multiple sub-objects defined.

  2. Save the blend file at this point

either
3a) Join the sub objects one at a time and add the unwrapped meshes one at a time to the UV image.

or

3b) Join all the subobjects at once then unwrap the whole thing at once to the UV image

  1. Save the final uv image as a tga file

  2. Paint the texture file, based on the saved tga file, save as finalPaint.jpg

  3. Then in order to preserve the original object structure revert back to the saved blend file, then go through each object one at a time to point it at the finalPaint.jpg.

Or something like that ! Does that sound correct ?

This would be a good topic for a tutorial, the uv mapping tutorials I have seen are ok but dont go far enough to cover a more complex real world exampe like this. It could also cover the several different ways of unwrapping that are now possible with Blender. I have just been figuring those out by trial and error as I went along.

0 Likes

(enhzflep) #6

Nice plane…

Just reading your proposed steps, an’ I thin kI might be able to see a problem.

If you save the model in step#2, you’ve saved it without any UV info, right.
If you then reload this file in step#6, you’ll be reloading the model without all of the UV data - hence your beautiful finalPaint.jpg texture will not correspond to the faces you’d like it to!!

I haven’t tried it yet, but what I’d do in step#6 instead of loading the file from step#2, I’d just seperate all of the objects again. Selecting each component and separating it is easy enough as long as you don’t Edit->Vertices->RemoveDoubles.

It’s just a matter of selecting a single vertex from the component then doing Select->LinkedVertices, this will select all of the vertices in that component. From there you’d do Edit->Vertices->Seperate.

The only thing I’m not sure about, is whether or not the UV mapping info is destroyed when you seperate the vertices. If not, then this would appear to be the way to go about it.

I’m just having a quick bash at the moment to see if the Uv data is preserved. I’ll post back with my results when I’m done.

Simon

0 Likes

(enhzflep) #7

Couldv’e sworn I double posted. Never mind.

Ahm, the short answer is yes - the UV data is preserved if you combine objects, UV map them and then separate them again.
Just did a really quick and nasty fuselage and pair of wings - 3 objects. Combined them, mapped and separated. Applied the one material to all three pieces and the plane looked just like it was meant to.

0 Likes

(Duoas) #8

Yep, ye double posted… :slight_smile:

Seriously though, why bother joining all the objects together? Just make yourself an image with all the parts of the plane on it. Then for each separate piece of the plane, use the UV editor to map the mesh to the corresponding part of the image. When you’re done you’ll have N meshes all sharing one image.

Good luck!

0 Likes

(GeoffW) #9

Thanks for the replies

enhzflep
Of course you are correct, my sequence I scribbled down was garbage, reverting back to the older blend gets the objects back but loses all the UV position info, so not going to work.
As you say, presumably the solution is to re-separate the entire mesh back into the sub objects at the end. Bit tedious to say the least but should work I think.

Duoas
Sorry I didnt understand what your were suggesting in your reply
Could you expand a bit on the sequence you proposed ? For example, wasnt sure how I would do this ?

“Just make yourself an image with all the parts of the plane on it.”

0 Likes

(Duoas) #10

Sigh. Don’t you have an image with all the colors of your airplane on it? Something like:

http://home.comcast.net/%7Emichaelthomasgreer/blender/G3_HL.jpg
(Got this from <http://skyraider3d.com>. For a WWII German fighter trainer by Ronnie Olsthoorn.)

When you unwrap your object(s), the idea is to align the faces with the appropriate parts of the image. You don’t have to use the entire image.

0 Likes

(GeoffW) #11

Hi
Thanks for the image and the reply, Yes I understand what the end objective is, but it is the fine detail of how to get to that is where it is awkward. You misunderstood my question.
Anyways I think I have got it sussed, its a bit tedious but doable

0 Likes