Texturize big scene in Blender for jMonkey

Hi there,

a few weeks ago i created this thread: Blender Ogre export – No bump map within jme3 scene
Btw: I never figured out why there is no bumpmapping when i export a scene from blender with ogre exporter. The conclusion of this thread has been: use texture atlas and reuse as much as possible. Makes sense to me.

Now my problem are big floors. Maybe a beach. For that i take a small seamless “beach” texture and repeat it. I do it by scaling the mesh up in the uv-map editor in blender bigger than the texuture is. I hope you know what i mean. Now i load the scene in JME and i have a high detailed (but repeated) uvmap texture on the floor. But what if the “beach” texture is part of a complete atlas? Then i cannot repeat it in that way.

So my question is: is there a way to repeat a texture on a geometry that is part of a texture atlas? I never understood (since months!!!) how i can texturize bigger levels without having textures that look like shit because they are too small and are scaled up inside the game. Especially the floor is mostly very big and the camera is very close to it. I went several times through this tutorial but it is just usable if you have really small levels: http://www.youtube.com/watch?v=DzTLNn9E7WY
Until now the only solution i see is to create several geometrys with their own texture. And that does not work very good because the normal maps are ignored from jmonkey if i export the scene with ogre. i have one of the latest nightly builds of jmonkey and blender 2.65 with the latest ogrexml exporter.
What is the best practice to handle poor textures? i dont think using textures bigger than 2048x2048 is reasonable

This is the most practical way for me to create scenes in blender and load into jmonkey (Please tell me if there are easier ways to achive the same results):

First i create a complete scene in blender with several objects in it (maybe some trees like a forrest). Every object gets a specific name inside blender. Back in jmonkey-sdk i convert the scene-blend- file to *.j3o and create for each material i use in this scene a *.j3m material-file. Then i load the scene.j3o into a Spatial (cast to Node) object and iterate through it’s childs and read the names of each object in this node (like i specified in blender). Then i set the specific material file to the specific geometrys.

My benefits are:
-I don’t have to set each geometry position manually during runtime. I can arrange the object inside blender what is ways easier.
-I can set the material manually to each geometry. So i don’t have problems with the materials when i import it (see the post above)

The biggest problem with this solution is:
-If a geometry has several textures (for example a bigger hall like a church or a house with several floors) i cannot use texture atlases. If i try to unwrap such big geometrys (e.g. a house), the texture resolution is too poor. So i set a specific texture to the floor, walls and ceiling and tile it several times. That looks fine in blender. But in jmonkey i cannot set different textures to one geometry because jmonkey splits the geometry up where different textures are. So i cannot reproduce the texturemapping that i made in blender.

That’s why iam still searching for a better solution. Would be fine if someone could give me a hint or at least tell me that it is impossible what i try to do. At least i could sleep well at night then ^^. I read so much but didn’t found nowhere a specific answer to this question.

Thank you

Hi Dano.

I wonder why you don’t set the J3M material right into the J3O, using the scene explorer from the JMP. Is it because of the atlas ? (never used one yet)
BTW, nice work you did there!

If you use the bake tools in blender then I believe you can use it to create a texture atlas. Once everything is sharing one material you can then expert it as a single object into jme.

You can then use the scene composer in JME to make sure the material is applied and test things without evening starting up your game.