Imagine a billboard with rotating slats...

There are these billboards with vertical 3 sided vertical ‘slats’ that rotate in sync so that one billboard can show 3 different ads. In trying (and failing) to create that in TD I’ve run into my old foe, almost complete lack of understanding of TD’s approach to 3D. I could do this in C4D, but I lose the ability to change images in realtime, so…

How do I create a 3d object that I can apply 3 different materials to? I believe that I need to use Crop Tops to slice the image into appropriate strips. Other than that, I get lost.

I’ve tried using a 3 sided Tube Sop and the Delete Sop to divide each side of a ‘slat’ so I can apply 3 different materials to the selected primitives, but cannot merge them with their separate materials intact, can only use one mat. And once you get into multiple slats, it doesn’t seem as though you can use instances because each face doesn’t really have separate UV’s. And yes, I’ve tried importing UV maps from C4D which only seems to partly work. Tried other things over the last couple of months too, beating my head against a wall.

The upshot of this is that even after looking through tuts, op_snippets and written materials, (thank you Matthew, Elburz and the rest of the community), I feel like TD’s 3D, even at it’s basic levels, is still so unclear, If not downright arcane, I’m not sure where to even start. Probably obvious, I’m not always the quickest learner; CAN you divide and image across copies of/instances of a sop to make one complete image - and - apply different images to each face of the ‘base’ sop so that as the copies all rotate you can see three whole images? CAN you create the primitive structure and the mapping in TD?

I’d think about instancing for this challenge. You can use UV offsets with instances to slice up an image and there’s a pretty good thread about that here:

derivative.ca/Forum/viewtopic.ph … +uv+offset

From there you could build out your slats as three different instances sets to complete the illusion.

I feel your pain TD can be tricky

I also had problems with texturing facets from a tube so to keep things simple I used 3 rectangles - each instanced by 3 geometries with the same settings.

That should get you going. You can stop banging your head and get to work now :wink:
3_faces_instances_texture_offset.1.toe (8.59 KB)

Specific answers:
As you’ve said, you need multiple objects - one per material. You could actually put a few geo’s into a main geo and use a Material SOP, but that’s funky. But - drawing each piece (each side of your sign) in a geo all at the same place is fine. That’s all C4D is doing in the background anyway.

Yes - you can uv map in Touch easily. If you lined up your shapes, hit them with an Texture SOP set to ortho, that’s the same as flat UV map in C4D. Then copy that three times and offset the angles - one geo per side, each with more than one SOP in it (one per strip).

Actual answer:
SOPs will end up slow, so you’ll have to figure how to do this with instancing. Probably start with one object that is the right size as a strip and with the correct chunk of image (texture SOP as above), and then instance it to offset each strip physically and in UV coords.

Bruce

Thanks for your replies and sorry for the late reply, life does spring surprises. Matthew and bwheaton, you both pointed me in the right direction, Phillipe nailed it, so thanks to all.

Phillipe, special thanks! I’m playing with your .toe right now, and extra points for your text TOP labels and text DAT notes with the paired color coding. Just starting to explore, and currently trying to understand the double transforms, before and after the texture sops. Yipee!

nice example. trying to realize how to rotate instances from this [url]THP 494/598 | Instance Rendering | TouchDesigner - YouTube tutorial ( Matthew’s THP 494/598 | Instance Rendering | TouchDesigner ) in that way.

or it will be better if i could rotate front facing cubes only.

Hey Alex,

There’s a whole slew of examples of instancing up here:
github.com/raganmd/touchdesigne … g_examples

I think you’ll find examples for rotation that will help in base_instances_at_a_glance.