Hi, I noticed meshes do have this method:
scaleTextureCoordinates(new Vector2f(1,1));
But sadly spatials dont.
How can I scale a texture to fit my spatial?
I’m making planets with textures and I need to repeat my textures multiple times for bigger planets…
So how do I do that?
(Also, nice work having the sphere unwrap so that it is seamless!)
Change spatial to Geometry then do geo.getMesh().scaleTextureCoordinates(new Vector2f(1,1));
Gots it
1 Like
@Addez: not change… spaial is abstract and it can be Node or Geometry.
Geometry = Spatial
Node = Spatial
remember it
use this to scale all subGeometries:
[java]public 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]
1 Like