Text Coordinates Problem for generated .obj model

Hello!,



I’m having trouble applying materials to my .obj Model. I load it as a Node, with several child Geometries.



Supose I have a Geometry geom which correspond to a child Geometry of my model.



I use this code to apply a texture repeatedly to the geom:



[java]

Texture tex = application.getAssetManager().loadTexture(“Textures/Terrain/BrickWall/BrickWall.jpg”);

tex.setWrap(WrapMode.Repeat);



Material mat = new Material(application.getAssetManager(), “Common/MatDefs/Misc/Unshaded.j3md”);

mat.setTexture(“ColorMap”, tex);



setTextureScale(geom, new Vector2f(2,2));



//…

private void setTextureScale(Spatial spatial, Vector2f vector) {

if (spatial instanceof Node) {

Node findingnode = (Node) spatial;

for (int i = 0; i < findingnode.getQuantity(); i++) {

Spatial child = findingnode.getChild(i);

setTextureScale(child, vector);

}

} else if (spatial instanceof Geometry) {

((Geometry) spatial).getMesh().scaleTextureCoordinates(vector);

}

}

[/java]





And when run this, I get this Warning:



[java]WARNING: Root Cause: java.lang.IllegalStateException: The mesh has no texture coordinates[/java]



And the base color of the material is applied to the Geometry but not the texture.





My question is: Can I generate this texture coordinates in runtime and, if not, How can I do it in 3DStudioMax ou Blender (I know this escapes the scope of this forum, but I just need some guidance to find the right path).



Thanks!

The thing you have to look for is “UV Mapping” your model. Thats what creates a set of coordinates for every vertex that give the x/y coords of the texture at that vertex. Thats how basically all game / opengl texturing works, so you should invest some time into learning how to do that in your editor of choice. Theres a tutorial just to the right in “Drag & Drop Help” on how to export a UV mapped model with blender 2.49 but theres also lots of tutorials on UV mapping with any software to be found using :google:

Thanks for the fast response!



I’m going to look into it.



Cheers!