Curve to UE4 workflow

   9492   5   1
User Avatar
Member
453 posts
Joined: Feb. 2013
Offline
Hi,
This should be fairly straight forward, but I have a few issues:

1. I can create a Polygon curve on the HDA in UE4 under Houdini Inputs, but how would I feed that into a (Operator Path) parameter?

2. I can create a polygon that has the curve shape and import that into UE4 via FBX. How would I feed that into a (Operator Path) parameter?
User Avatar
Member
173 posts
Joined: April 2014
Offline
Hello!

1) In current implementation, created input curves stay associated with their inputs. And cannot be shared. Reason for this was that we had no reliable way to create native curves in UE4, other than by creating Blueprint and attaching spline component to it (basically no first class citizens). There were multiple limitations with UE spline component, so we had to create our own. We also tried to not break UE4 workflow. We need to explore whether this situation has changed in 4.9 / 4.10 .

I think a good work around for this would be to create an asset with a curve, instantiate it, and then in your asset use that curve asset as an input asset.

2) How do curves in FBX come across once you import it into UE4? I assume it all comes together as one mesh? Or does the curve get preserved? If it's all one geometry then you can just use geometry input. If you need to keep that curve, then perhaps the best way is to somehow make use of an input asset.

Please let me know if this helps and thanks.
User Avatar
Member
453 posts
Joined: Feb. 2013
Offline
To 1.
I think a good work around for this would be to create an asset with a curve, instantiate it, and then in your asset use that curve asset as an input asset.
I'm not entirely sure I understand. How would I implement curves of varying amounts of CVs?

A great Houdini-level work-around would be if we had a curve parameter. It could be something similar to the add node, where you can add and remove unlimited amounts of points.

Edit: - I just saw that the add node uses a “Multiparm Block (list)” parameter and it seems to work in UE4. So that could be turned into a sufficient work-around.

To 2. Basically I just export a thin polygon strip. Because UE4 does not seem to import NURBS curves or (Houdini) polygon lines. I can convert that thin polygon strip into a curve inside the HDA.
My actual question should be: How exactly do I get geometry into the HDA inside of UE4?
User Avatar
Member
173 posts
Joined: April 2014
Offline
Hey,

1)

a) Create HDA which contains curve. Expose necessary curve parameters. Import and instantiate it within UE4. Use control points in UE4 on a curve to manipulate. Right clicking on control point in UE4 will give you option to add / remove points (we do require at least 2 points however).

b) Instantiate another asset which has inputs. Use one of the inputs and change it to ‘asset input’. Select your instantiated curve asset.

Not sure I follow the multiparm block list comment. You want to use it to specify control points?

2)

Import your FBX, this will create UE4 static mesh (or meshes). Instantiate your HDA. On your asset, pick ‘Geometry input’ select the imported static mesh. And that should do it. Basically under the hood, this will parse the geometry from the static mesh, create temporary houdini asset containing that geometry and use that asset as an input asset to your asset.
User Avatar
Member
453 posts
Joined: Feb. 2013
Offline
Thank you!
1. Method 1 seems to work for me. Operator path parameters

2. I think the part that specifically does not seem to work are parameters of the type:
Operator Path

Maybe I just don't know how to correctly specifiy the string for these operators inside of Unreal. But I guess they are just not supported?

- I would expect them to work exactly like a Static Mesh Instance mesh slot, that is by default empty. And then I would use a multiparm block list (of Operator Path parameters) to control the amount of mesh inputs I need.

I realize this could be achieved with a Static Mesh Instance mesh slot, but then I don't have any control over multiple entries in one slot (because they get assigned randomly). Am I missing something?
User Avatar
Member
173 posts
Joined: April 2014
Offline
Hello!

We filed two RFEs:
# 73666 - Curve baking
Referenced in https://github.com/sideeffects/HoudiniEngineForUnreal/issues/25 [github.com]

and

# 73667 - Baked curve input.
Referenced in https://github.com/sideeffects/HoudiniEngineForUnreal/issues/26 [github.com]

Thank you!
  • Quick Links