How to use BasisCurves in Action Graph / Curves with twist/roll

I have checked out this tutorial about moving an object along a curve:

So far so good. I have two questions:

  1. This tutorial describes how to create a curve in OmniGraph using “Transforms to Curve”. On this node I can use “Point on Curve” and assign the output to an Xform in my scene. Is it also possible to use a “BasisCurve” from Bezier tool or Pencil? I have tried to do so by dragging the curve from the scene into the Action Graph. But when I connect it to the “Point on Curve” Node, I get an error: Failed to find prim in input bundle with necessary curve attributes.

  2. I would like the object that follows the curve to also roll over its forward axis. Think of a plane rolling while flying a curve. How is that possible using Curves and Action Graph (or in a different way)? The example in the video above sets the up input for the script node to be fixed in world upward direction.

Thanks a lot
Bruno

I was able to solve #1 by using “Import prim data” instead of dragging the prim into the graph. So working with bezier curves seem to work.

Any ideas about #2?

Hello @bruno.vetter! I just wanted to let you know that I have a developer looking into this. They need to setup a set of nodes in order to do this, so I am waiting to hear back from them for an update.

Hi @bruno.vetter ,

There must be a few ways to do this (point #2) but I would consider following approach as the most flexible solution.

The additional (airplane like) camera rotation can be achived by adding another xForm in-between geometry and orientation group.

Drag this additional transform node into action graph and write attribute too it.
You will be changing the rotation vector.
To achieve this - use Make 3-Vector node. Fill 2 vector components with constant rotation values and connect AnimationFrame (from OnTick node) into the vector component you would like to rotate.


If you would like to control the speed of the rotation use a Math node Multiply and adjust the AnimationFrame as you like. You can expose this as a public variable you can access from UI.

Hope this helps.

Yes, this helps. Thanks a lot.
Bruno

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.