4

I created a wall with over 100 bricks. I want a logo on the wall. So some bricks will need a part of the logo. What's the fastest way?

enter image description here

Sven S.
  • 327
  • 1
  • 10

2 Answers2

10

You can get there with UV projection.

  1. Select all bricks and switch to Edit Mode
  2. Get in front view (View > Viewpoint > Front)
  3. Select all vertices and go UV > Project from view
  4. Rearrange your UV map

enter image description here


Useful hack:
• Use a BW logo with black background
• Set the image to clip (so it doesn't repeat)
• Use MixRGB node to control the colors inside Blender

enter image description here

jachym michal
  • 31,744
  • 5
  • 55
  • 115
  • 1
    I think the point (certainly from the tags) is that the wall is made up of multiple bricks - not all one mesh - so that it can be run through a rigid body simulation. However, your solution does work just fine, providing you select all the separate bricks prior to the UV unwrap project from view. – Rich Sedman Sep 21 '20 at 14:38
  • @RichSedman You're right :). I forgot to separate the array when making the gifs. But it works the same way for 60 individual bricks :). – jachym michal Sep 21 '20 at 14:44
  • Updated the gif now, thanks again :). – jachym michal Sep 21 '20 at 14:55
6

You can also do it with an empty as the Object of the Texture Coordinate:

  • Give all your objects the same material.
  • Create an empty in front of your cubes.
  • Create a node setup with Texture Coordinate (Object output socket) > Mapping > Image Texture (Clip mode) > MixRGB > Diffuse > Material Output.
  • Plug the Image Texture Alpha output into the factor of the MixRGB.
  • In the Texture Coordinate, choose the empty as Object.
  • Move and rotate the empty to place the image correctly on the faces.
  • Give the other faces of your cubes another material if you don't want the image to be stretched.

enter image description here

moonboots
  • 155,560
  • 7
  • 105
  • 171