Per face texturing

Hi there,
I am not shure if this is a “I wish … feature” or a “How do I …” topic, so I posted it on elysiun first before bugging in the developers forum.

I try to use Blender for game level creation, there you normally need to apply different textures to nearly every face of a level. For example a simple room (a cube, normally a single object), one texture for the ceiling, one for the floor and one for the walls. Sometimes these textures need to be seperately moved, rotated and scaled. An extra material for every single texture is hardly needed.

So I request:

-more than 16 textures per object (not necessarily materials, but at least textures)
-the possibility to apply only textures without materials to objects(not shure how this should work) or
-completely seperated material and texture datablocks, so that it is possible to use one material datablock with different texture datablocks. This works already the other way round.
-the possibility to rotate textures with the t option
-it would be great to see these textures in 3d preview (not UV maps, I know that they can be made visible already), this would be great for moving/scaling/rotating a texture with the t option.
-a function that aligns the textures of two bordering faces (must be the same texture for both faces) so that they look like one big texture. This is a nice feature to have, but not really necessary. This function could be placed in the t menu.
-and a fast way to apply textures to individual faces (not with the Material subgroup in the Edit buttons)

A nice workflow would be :

  1. select the faces in edit (or perhaps in UV face select) mode
  2. in the texture buttons click on Add new
  3. do whatever selection you want to do in the texture buttons
  4. if you want the face to use a different material too, then select the material
  5. use the t menu to move the texture, scale the texture, rotate the texture or align several textures, so they look like one.

Please give feedback and tell me if you don’t understand something.
Greetings,
Mohij

there isn’t a limit on the number of textures per mesh
[yes, you should have been more specific about what you meant by “textures”]

there is only a limit on the number of [procedural] textures per material

yep, can do that too… though for it to show the textures in a render you need a material with texface set

uhh, I don’t see how this would be useful, but the node based material system ought to let you do a lot like this

might as well map to an object, it’s much easier

it would require glsl, and a lot of work that nobody has started on yet

why not uv map?

select the face in face select mode [not in edit mode] and choose the image in the image window

what you seem to be asking for is that the material can be defined per-face… a feature I can’t see being incredibly useful [it’d be incredilbly cumbersome]

more useful in my opinion would be an unlimited number of textures [that should be coming] and the ablitity to paint [at least at the vertex level, perhaps even to a texture] the stencil between the two layers [not coming far as I know].

Hi,

I mean non UV mapped textures (=images], because most games don’t use UV mapped images for their levels, I think it would be highly complicated to create a quake level from a UV mapped blend file. This is why I wanted to use the normal images. Please correct me if I am wrong.

OK, but there is a limit of maximal 16 materials per mesh, and non UV textures can only be accessed by materials, that’s why I proposed to seperate the textures from the materials.

yep, can do that too… though for it to show the textures in a render you need a material with texface set
[/quote]
How do I do that? There is no Add new in the texture buttons, when there is no material.

uhh, I don’t see how this would be useful, but the node based material system ought to let you do a lot like this
[/quote]
With this feature it would be possible to change material features like shaders for bigger groups of textures used in a level. Or I could for example darken all textures in my level, when they are all linked to the same material.

might as well map to an object, it’s much easier [/quote]
Do you mean UV maps? As said above, UV maps are not really used in game maps.

why not uv map?

Same as above.

As far as I know this means using UV maps.

I think it wouldn’t disturb any other features, materials should of course still be applieable on object basis. With only a few material datablocks used again and again it wouldn’t be cumbersome I think.

That will definitely be cool. Just curious, what is the limit at this time?

Greetings,
Mohij

nested quote goodness!!

I mean non UV mapped textures (=images], because most games don’t use UV mapped images for their levels, I think it would be highly complicated to create a quake level from a UV mapped blend file. This is why I wanted to use the normal images. Please correct me if I am wrong.[/quote]
at some point game levels become texutred meshes, regardless of what tool the artist has

OK, but there is a limit of maximal 16 materials per mesh, and non UV textures can only be accessed by materials, that’s why I proposed to seperate the textures from the materials.[/quote]
I was talking about textures as in images, not texture datablocks in materials
[I hadn’t caught on to what you were talking about yet]

yep, can do that too… though for it to show the textures in a render you need a material with texface set
[/quote]How do I do that? There is no Add new in the texture buttons, when there is no material.[/quote]
you can have any number of images assigned to faces in the mesh, again still not talking about texture datablocks

uhh, I don’t see how this would be useful, but the node based material system ought to let you do a lot like this[/quote]
With this feature it would be possible to change material features like shaders for bigger groups of textures used in a level. Or I could for example darken all textures in my level, when they are all linked to the same material.[/quote]
I guess I can somewhat see what you’re saying here… I’ll ramble more at the end

so, it would have been much more helpful if I had read what you were actually trying to do originally. It seems you’re trying to make a game level but using features of the render side of blender to map textures in things [in a fashion that I don’t belive any exporter yet written supports, or anybody has plans of supporting]. It is concievable that you’re talking about something that you intend on not exporting, but even still such things [image textures on rendered environments] are as far as I know always uv mapped.

blender is not at all well suited to be a game level editor, but materials for textures on environments are becoming more necescary as nearly every game these days has more than a single texture per surface that need to be combined in non-specific manners [normal and albedo, diffuse and emit, normal specular and albedo… the combinations are endless]. However, the texture mapping modes just about required for game levels simply aren’t usuable in blender. There is no reasonable way to reposition a texture on a surface in the 3d view other than uv mapping.

I don’t know if there is a plan to change the limit on number of materials per mesh [I could see it being useful], nor do I know how soon blender will have other vital features like multiple sets of uv coordinates, or a facility to adjust normals [and not loose the changes in edit mode].

well anway, each material currently is limited to 10 texutures, but the node-based material system ough to let you combine textures in weird ways [in theory with a limitless number of textures]. I haven’t yet had a chance to play with these features so I can’t really more than suppose things about them.

I’ll stop the quote madness here. :smiley:
You said that Blender is not suited for level creation, I dissagree here. Blender would only need these features listed above, some exporters (to level files) and perhaps a viewport movement like in Ego perspective games, and it would be a real great tool.

Please comment on this statement, I would appreciate that.
Regards,
Mohij

Just a little more quoting (forgive me :P):

Yes, but I thought nearly every game only supports scaled, moved and rotated images, but not images that are squeezed (I don’t know how to express this better), what UV maps actually do. That’s why I want to use the normal sort of image mapping.

Sorry, for using the wrong words.
So just that I get it right, the only way to apply images (yeah I am using the right word :D) to meshes without using UV maps are texture buttons, right?

No, that’s not what I want to do.
I just want to make game levels with Blender (because I think Blender can be a great tool for that) and searched for a nice way to get the images on the walls. I know only two ways to get images on meshes in Blender, UV maps and the normal way, the texture buttons. I thought UV maps were not suited, because no game would use them (see below about that). So the only other way to get an image on a mesh are the texture buttons.

You mean that all the levels in games like Unreal, UT, Quake and so on use only UV maps for the textures in the levels? I thought they were just put there without UV maps, rather just the offset, the rotation and scaling are saved. Does someone know about this reliably???

That is just the problem I was aiming at. [!] That’s why this thread exists. :slight_smile: So what do you think?
Greetings,
Mohij

By the way, quite some others use Blender for level creation already :D:
http://www.blender.org/forum/viewtopic.php?t=362
http://www.blender.org/forum/viewtopic.php?t=5300
https://blenderartists.org/forum/viewtopic.php?t=59276
https://blenderartists.org/forum/viewtopic.php?t=54834
Greetings,
Mohij