I tried with the Make 3D Point but Make 3D Transform will not convert a 3D point into a 3 value list. I tried with Build a List node but the list output port is not accepted by the Make 3D Transform node and the single item output is not useful. Obviously all using different data types under the hood and these types are opaque to me which doesn't help.

In QC, not only could you always get a clear read on the data types but it did auto conversion where possible.

I guess I want something like this:

How do i even render a scene and a layer to the same freaking window. Vuo is so unintuitive for QC users!! I just want some debug text to output to screen but i can't because it only takes 3D objects! when i type "scene layer" into Node Library I only get two nodes and neither of them are of any help with this situation.


Well i found the answer and

useful design's picture
Submitted by

Well i found the answer and it aint pretty:

So maybe we need a Spread Value to Transform node that will get minified when joined to a Make 3D Transform node like the other conversion nodes.


Now I have another problem, why is this composition only rotating the the triangle in each axis by ~2º per refresh (set to fire each second)? It doesn't matter what i change the period of the Wave node to.

Not sure what your goal is

Pianomatic's picture
Submitted by

Alastair - Not sure what your goal is here with the rotation, but the reason you're not seeing any rotation has to do with the numbers you have plugged into Seconds on your Fire Periodically node and Period on your Wave node. You're holding the rotation value, sending it through once per second, but the wave repeats every second as well, so you're sending through roughly the same value every time. Here's a little table illustrating what's happening with your data flow:

Composition Time Fire Periodically Wave Value Held Value
0.00 -360 -360 (Initial value)
0.25 0 -360
0.50 360 -360
0.75 0 -360
1.00 Fire! -360 -360 (New held value)
1.25 0 -360
1.50 360 -360
1.75 0 -360
2.00 Fire! -360 -360 (New held value)
2.25 0 -360
2.50 360 -360
2.75 0 -360
3.00 Fire! -360 -360 (New held value)

The reason you're getting a little bit of variation in the rotation angle is that that the time values (coming out of Requested Frame) won't come out at exactly 1.00, 2.00, etc. in practice. A quick test yielded values of 1.0027, 2.00541, 3.00811, etc. These will give values close to, but not exactly -360, hence the wobble.

Assuming you're hoping for a random-ish rotation value every second, use Make Random Value instead of Wave. See the attached composition. (I've also taken the liberty of tidying up the composition a bit, as per my earlier comment.

As Magneson (

Bodysoulspirit's picture
Submitted by

As Magneson said, a "3D point" to a "make 3D transform" should definitively do it ! That's what they are supposed to do !

Like this : 3D Point to Make 3D Transform.mov

What Philip is saying with the xxx is that when you connect a number value to a 3D point port, you get the option to set that value for x,y OR z, or for x,y AND z by choosing the XXX.

Like this : XXX.mov

@useful design - You're

Pianomatic's picture
Submitted by

Alastair - You're welcome. Not sure why the images didn't work, but here they are again, attached below.

To set the Shared Value data type, right click and hit Revert to Generic Data Type, if it isn't already generic, then either right click again to set the data type, or drag a cable to the input or output port to automatically match it to the type in the cable.

Ah so the whole problem

useful design's picture
Submitted by

Ah so the whole problem occurred because I dragged the cable from the Share Value node onto the Scale port and it converted data type not he Shared Value node to 3D-Point type (x,y,z). And making an integer type Shared Value (for whatever reason) doesn't allow for conversion to 3-Point type. You have to make it Real type then join it up in that order.

images now showing in your OP :-)

explanation below by

useful design's picture
Submitted by

explanation below by Philip: In short Share Value gets set to a datatype when connected either by input or output port and needs to be reset to generic type to be re-assigned. this can occur with many other nodes.

Beware novice users: this a real time-sink until it registers in one's mind!

For some reason @Planimatic I

useful design's picture
Submitted by

For some reason Philip I can't see the two images you loaded, they have boxes but no images. I didn't know how to set the Shared Value data-type but I've just discovered (right mouse click on output port).

Until the explanation on this Bug Report response by Bodysoulspirit i didn't realise that other nodes like Build a List will persist with a datatype assignment and must be reset prior to accepting a new datatype as input, List Item port in the case of Build a List node.

Datatype for Share Value node

useful design's picture
Submitted by

Short Answer: The datatype for Share Value node needed to set to Real, this allows for the conversion "X ⟶ (X, X, X)" to be offered when connecting cable to 3D Transform input ports. Using Integer type, you won't be offered that conversion option (for some reason that's not apparent to be at this time).