Geo Copied to Unreal Spline is Mis-aligned

   2060   2   1
User Avatar
Member
132 posts
Joined: July 2007
Offline
I've got a very simple test setup that I can't seem to get to work:
I draw a simple spline in Unreal (4.18) (Actor + Spline component).
I have an HDA (H 16.5.268) that marshals that spline via the World Outliner Input and an Object Merge in Houdini.
The HDA sets the normal of the incoming curve's points to {0,1,0} (point wrangle).
Then copies a box to each point (copy to points).
In Houdini this looks fine: all boxes are aligned vertically.
In Unreal it works EXCEPT the alignment is along the curve tangent.

I've made no other changes and using all other defaults.
If I expose an editable Curve from Houdini to Unreal it works as expected.
If I use the Curve Input and re-create the curve in Unreal it works as expected.
Is this a bug or am I missing something?

Thank you.
-Len
User Avatar
Staff
534 posts
Joined: Sept. 2016
Offline
Hi Len,

When using unreal spline components as inputs, we add additional rotation and scale information to the curve points, which are not present by default in a Houdini Curve.

This allow additional control of the curve points via the scale and rotation widget, but can have side effects…
If you dont use the added rot and scale attributes, you can simply delete them.

A little more info on this can be found here [www.sidefx.com].
User Avatar
Member
132 posts
Joined: July 2007
Offline
Ah!! Thank you!
I feel like a dope..there it is, in the docs themselves, at the bottom:

However, as Curve SOPs traditionnaly do not have these attributes, their presence may sometimes cause side effects if your curve nodes are processed by nodes that will use them.

A simple example of this is a Sweep node, that uses a curve as its backbone. Even without modifying the curve's point rotation in Unreal, the added rot attribute might change the orientation of the geometry being swept on the curve.

To solve this issue, you might need to rotate the input geometry to account for the added rot parameter, or you can simply remove it from the curve with an Attribute Delete node. (in the case of the Sweep node example, using the “Transform using attributes” parameter will also fix the issue.)


Thank you again!
  • Quick Links