what node am i looking for here to convert a single value into three identical values for a Transform port input?

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:
Screenshot 2016-02-18 20.28.35.png

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 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.

randomGreenTriangle-recursive-checking.vuo (5.91 KB)

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.  

Hm? The “Share Value” connected to a “Make 3D Point” node should be what you want. Didn’t it work?

3D Transform node won’t accept a 3D point as a Transform input.

It should! What happens when you try to connect it?

@useful_design - I made a discovery… Looks like if you wire up a Real value, you get the (X,X,X) option.

Compare these two images:

Screen Shot 2016-02-19 at 12.54.55.png Screen Shot 2016-02-19 at 12.55.06.png

Built Item spits out an Integer so use Convert Integer to Real Number or another node to change it.  

@useful_design - 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 (4.25 KB). (I’ve also taken the liberty of tidying up the composition a bit, as per my earlier comment.

1 Like

Thanks for the comprehensive explanation, Philip! I figure it had to be some kind of rounding error causing the 2º rotation because changing the Wave period/amplitude etc didn’t seem to change much.

As @MartinusMagneson said, a “3D point” to a “make 3D transform” should definitively do it ! That’s what they are supposed to do !

Like this :

What @Pianomatic 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 :


@useful_design - 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.

Screen Shot 2016-02-19 at 12.55.06.png

Screen Shot 2016-02-19 at 12.54.55.png

1 Like

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 @pianomatic: 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 @Pianomatic 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.

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).