Problem with Moving Texture on multiple Copies

I have an object that shows a number from coordinates on a texture.
What I wanted to do is to make several rows of objects with each of them having their number.
But when I make a copy of that object and change the coordinates of its texture, it’ll change the coordinates of every texture on every copy of that object.
The picture above shows how I want the object to display the number based on texture coordinates and how it looks when I create for example four objects in a row.

you could offset the uv by object or even global coord, but the simplest way is just make dedicated “signs” object that has all your uv mapped planes placed around the duplicated objects.

1 Like

The problem is, if I’d make a dedicated signs, I’d have to make around 100 of them.
When creating an object in-game, can you set it to be a separete object and not a linked copy?

click the little number to make a unique datablock.


I’m creating the objects in-game. This doesn’t help but thank you for your suggestion.
When I press U in Blender to make a single user, this pops up:

bpy.ops.object.make_single_user(object=True, ...)

Is there a way how to write it into a script in python and make the object a single user in-game?

use object color + uv in GLSL nodes.

setting object color sets uv offset.

works for N copies and can even be animated.

Thank you, sounds interesting. I know that object color does work for N copies.
The thing is I don’t know how to set it up in python.

object.color = color in py

for the setup of the material


in GLSL nodes or EEVEE nodes*

uv ---------vector math add object color--------texture---------> input into material color etc

So basicly, if I understand right. If I put GLSL nodes on this object I’ll be able to change the coordinates of the texture through object color in python?

yeah exactly

And how does it work? It converts rgb into x and y coordinates?

UV + color adds R to U and G to V

so basically start with it unwrapped to bottom left corner cell

adding 1/number of frames wide to R = moves over 1 cell to right
adding 1/height wide to G moves 1 cell up