5
$\begingroup$

I have created a rigid body simulation, which I baked into an animation. The final animation includes several cubes close to each other on a tray, like shown below:

enter image description here

I want to UV Unwrap all of these cubes into one UV Map by using "Project from view".

I tried to join all of the cubes, Unwrap, then separate, but that just makes all the cubes follow the same animation as the cube which was active when I first combined them.

How can I unwrap them all without manually unwrapping each individual one without messing up the animation?

$\endgroup$
1
$\begingroup$

Follow these steps and you should be able to get this done.

  1. Add a camera to the scene that points in the direction you want to project the texture. (Optionally, make it orthographic.)

  2. Select all of the cubes you want to apply the texture to.

  3. Run the simulation until you get to the frame where you want to apply the texture.

  4. Add a UV project modifier to the active cube. Under the Projectors field, pick the projection camera you added from the list of objects.

  5. In order to make sure that the image is being projected at the correct size, switch to Blender Render and the Textured view mode. In the N panel, set Shading to Multitexture and check Shadeless. This will let you preview the texture mapping independent of any material settings.

  6. In the UV project modifier, pick the image you want to project from the list and check Override Image.

  7. Press CtrlL to Make Links between the active and selected objects. You want to apply the UV project modifier to all the active objects so pick Modifiers from the list.

  8. Make adjustments to the UV Project modifier in order to get the projection you want. You will need to re-link the modifier to the other objects after each change.

  9. When you're happy with the results of the modifier use AltC, convert to Mesh in order to apply the UV Project modifier to all of the cubes.

  10. Set up a material that uses the texture you're projecting and use CtrlL to link the materials to the other cubes.

  11. Render out the image sequence and bob's your uncle.

$\endgroup$
0
$\begingroup$

Since they are all cubes of the same size, you could get away with linking the mesh data of all cubes, so that every cube becomes an instance of one master cube. To do this, select all cubes at once, make sure one of the cubes is the active object, and press Ctrl + L. Choose Object Data as the option from the menu:

link data

Now, all cubes share the same mesh data, and thus the same UV map, while they can still be simulated as separate objects. You can verify that they are instances of each other by going to the Object data tab, and check if there is a number in front of the F. In my case, I have 12 Cube instances as you can see:

instances

Select one of the cubes and unwrap it, it doesn't really matter which one you choose. The UVMap will apply to all objects at the same time. If you need the cubes to have different materials later on, you can link the material data to the object, see this dropdown box in the material slots area:

material data

By default this is set to Data, meaning that all cubes would receive the same material no matter what you try. But setting it to Object allows you to have different materials on instances of the same geometry.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.