3

I need those spheres facing to camera so I can see the letters all the time. I guess I need to use constraints but not sure how (I'm a newbie, yes)

EDIT: I know Damped track do it but I need it in all the axys. I tried to add a Damped track to x, y and z but it doesn't work

Thanksenter image description here

Víctor GV
  • 187
  • 9

2 Answers2

7

To avoid fiddling with geometry in the scenes themselves, you could use a shader, essentially treating your letters as matcaps.

Shoot 'spherical' letters: (mine is white emissive-material text, simple subdivided, shrink-wrapped to a non-rendered sphere,shot on transparent film.) Of course, you could shoot them flat if you preferred that look)

enter image description here

Then that component of your texture can be mapped, like a matcap, as follows:

enter image description here

As you can see, it's like @batFINGER's solution: the texture is parallel to the camera's Z, rather than pointing at it, but the effect is quite pleasing, and actually functional in crowded scenes:

enter image description here

Robin Betts
  • 76,260
  • 8
  • 77
  • 190
  • Oops: that's a mask. The Image texture node should be set to 'Non-Color' – Robin Betts Oct 29 '20 at 19:29
  • Man... no... wanted to say Mr Bestt... I've searched for that... but failed. Thanks, this is a great answer. – lemon Oct 29 '20 at 19:44
  • @lemon Luck. My head's spinning with another vector-space problem, atm.... and I haven't worked out why the texture splays at the edges of the frame >:( – Robin Betts Oct 29 '20 at 19:46
  • Again you push me to some studies... but that will be for tomorrow, I hope. – lemon Oct 29 '20 at 19:52
  • 1
    More elegant that I want to do. Thanks! – Víctor GV Oct 30 '20 at 10:37
  • @lemon got it. Camera Space is orthogonal, no perspective transform, and the conversion from World, even when using 'Point', converts from World orientation, but puts 0 at the Object origin. – Robin Betts Oct 30 '20 at 11:18
  • Very nice solution - it's always good to see that Vector Transform node put to good use. Does the image actually need to be shot as 'spherical' - wouldn't the transform from the surface normal not be producing a similar (but less pronounced) bending anyway? – Rich Sedman Oct 30 '20 at 11:24
  • @Rich, as far as I can see, yes. The Normal direction is interpreted as a location in camera space, but then inversely interpreted by the surface of the sphere in the scene? (er.. how can I translate that into sensible English? I'm sure you can express that more cleanly) . Tests with grids confirm, I think. – Robin Betts Oct 30 '20 at 11:38
  • It's certainly hard to wrap head around the different spaces and how it's going to bend - and I'm not sure I could express it any clearer either... it's complicated :-D However it's working, I think it's working really well and I like the way they bend nearer the edges of the frame too. – Rich Sedman Oct 30 '20 at 13:00
  • 2
    Wanted to try a little improvement. The case you shift the target instead of rotating around it and make the texture rotate to the camera. Though, I don't explain the values (factors) needed once the angles are obtained (@RichSedman, in case you're interested). https://blend-exchange.giantcowfilms.com/b/qdnaAZOy/ – lemon Oct 30 '20 at 15:35
  • 1
    @lemon Thanks!.. You've got me hard at work, playing. So. Many. Gotchas! Here's a version which uses the cross-product between (the Camera > Sphere vector) , and (0,0,1) all in camera space, to get an axis of rotation perpendicular to both. Then uses the dot-product between those vectors to get the angle around it. To see the effect, play with the 'Amplify Angle' node. 0 is the uncorrected state. – Robin Betts Oct 31 '20 at 07:56
  • 1
    @RobinBetts, much more clean and clear than mine (still don't get why I needed such values, though)... So... next step: get ride of distortions on poles and make it work for flat surface! – lemon Oct 31 '20 at 08:19
  • @RobinBetts, well... simply this finally: https://blend-exchange.giantcowfilms.com/b/mSYOnYry/ – lemon Oct 31 '20 at 08:30
  • 1
    @lemon Yay! This is actually quite handy stuff.. (e.g. landscapes, particles) One quibble with your last :D – Robin Betts Oct 31 '20 at 08:49
5

Copy Rotation Constraint.

Possibly a simple way to do this is via a copy rotation constraint, to ensure the object faces the camera plane normal.

enter image description here

The camera looks down its -Z axis. For example sake if I put the number or some pattern on top of the default cube and make it copy the camera rotation.

(Rotate your spheres in edit mode such that the number is aligned in top view.)

enter image description here

Note, to reiterate the cubes are not facing the camera, rather the opposite direction to the camera. A track to constraint will target the camera directly

Related

Make an object Always face the camera, and always be upright?

How to put rotation- and scale invariant labels to three dimensional objects (motion-tracked insert effect)?

batFINGER
  • 84,216
  • 10
  • 108
  • 233