Search - User list
Full Version: About UE4 spline rotation info
Root » Houdini Engine for Unreal » About UE4 spline rotation info
DASD
UE4 splines have this great property that they come with rotation attributes. It's kind of as if the splines have built in manipulatable up vectors and normals.
Can we can get that info into Houdini Engine?

I have looked back at stuff that I tried to do before with Houdini Engine and UE4. (It feels like ages ago to me). In this thread: https://www.sidefx.com/forum/topic/42946/ [sidefx.com] I discuss how to get splines with multiple points into Houdini Engine HDAs. Now I am a bit more experienced with both Houdini and Unreal 4 and so I want to clarify this stuff a bit:
In Unreal 4 you can currently create pretty neat splines by:
1. Create an empty blueprint Actor
2. Inside of the Blueprint under components -> add component -> spline
3. Place the Blueprint in the world and now you can see a small white line with two square points on it. The points can be dragged around and rightclicking on the curve adds more points etc.
Note that in the upcoming version of Unreal (4.13 or 4.14 or so) they want to improve this further. Now, I have recently worked a lot with those splines and I think they are pretty great.
Currently instead of using these splines, Houdini Engine in UE4 seems to come with its own system for creating input curves. And this system is similar but not as good as the UE4 splines. I think it is worth having another look at this system, because it is so very essential to the interaction with the tools one might build. Maybe it would be possible to cooperate, to get the new spline version Houdini Engine compatible. I hear the Unreal devs like procedural stuff. XD

Also, is there an equivalent tool in Houdini? I mean, I can make a curve in Houdini and add attributes based on curvature etc. and some ramps and maybe a multiparm block, but UE4 splines seem to be a much more elegant solution. Spline creation with built-in point attributes that react to rotating,scaling and possibly other gizmo interaction seem to be a great fit for Houdini.

ttvdsfx
I think Unreal spline does not support all of the Houdini spline modes (I think it's only Hermite). The one that comes with the plugin can do anything Houdini curves can do. There are also other interaction limitations that Unreal spline cannot do and the plugin one can.

If I remember correctly, we had a lot of issues with Unreal splines (this was around 4.1 time) and with the reason mentioned above we decided to write our own. Having said that, I think it's probably a good idea to revisit Unreal splines or improve the existing plugin spline.

damian
This is a known (tracked) feature request so it will be done at some point. No promises as to when that is though.
DASD
From the Houdini Journals:

Houdini 15.5.614:

Unreal: Added rotation and scale attributes to curve inputs.


1.: About this feature:
a.: Are those point attributes, or something else?
b.: What are the exact attribute names? “rot” and “scale”?
c.: What data can we expect? Rotation default value 1,1,1 and scale default value 0,0,0? Does the rotation value come in degrees, as a vector, or something else?
d.: This works for spline mesh components, right? Does it work for any other type of blueprint, too?

2.: Is this sort of information for Houdini Engine for Unreal, Unity and Maya getting collected and organized somewhere? Is it getting added to the docs?

3.: Are we going to get such splines in Houdini? - Should I make an RFE?

Thanks a lot! - I love this stuff!
dpernuit
Hi DASD,

I'm glad you like this, we have added quite a few features for the spline/curve in Unreal in the last weeks.

1 - a: Exactly, point attributes on the curve node in Houdini.

b & c: The type of attributes you'll get depends on the type of curve you are using, as Unreal's Spline components are now supported as World Outliner Inputs.

- for a Houdini Curve (aka “Input Curve”), you'll get rot (quaternion) and scale (Vector3) attributes on each control point.
Unless you rotate/scale a control point using the gizmos, default value will be (1,1,1) for scale and unit quaternion (0,0,0,1) for rotation.

- for a Unreal Curve (unreal Spline selected on a World Outliner Input), you'll get rot (quaternion) and pscale (float).
For Unreal curves, you'll get the refined positions of the spline, not just the control points and tangents as we cannot reproduce their behavior 1:1 in Houdini.

d: you'll get these attributes either by using InputCurve, or selecting an actor with an Unreal Spline (not a SplineMesh) as a world outliner input.


2 : These additions are only for the Unreal plug-in right now. I don't know if this is going to be added to the docs..

3 : I am not sure about what you mean? Splines are already in Houdini, we just handle them differently than in Unreal..
DASD
dpernuit
Hi DASD,

3 : I am not sure about what you mean? Splines are already in Houdini, we just handle them differently than in Unreal..

Essentially it would be great if we could use standard gizmos (scale and rotate) to change attributes on a curve during its creation in Houdini.
I checked and I already filed it as an RFE (76877) last time I thought about it. Original text on my RFE might make it clear to those who are not familiar with the Unreal splines. I hope the idea gets more traction. ^^

Description:
Houdini offers many options to add information onto a user-created curve. One could use multiparm blocks or ramps to give the user additional control. But it would allow for faster and more intuitive interaction if points on the curve could receive information from standard gizmos (like rotation and scale). Compare this process with Unreal 4 splines: https://youtu.be/7YUxM0NDWRY?t=40 [youtu.be] As you can see, the interaction is very fast and intuitive. Rotate a point and it changes the orientation of your curve.
Now imagine you could also scale a point on the curve. Then you could create a path tool that creates a path that roates and scales directly with the user input. Furthermore these scale and rotation attributes could be mapped to completely arbitrary functionality. For example they could control randomization or color.
Additional gizmos could be mapped to arbitrary attributes. For example, each point on a curve could have several drag sliders that change values like speed or turbulence intensity.
This would also synergize with Houdini Engine for UE4 (https://www.sidefx.com/forum/topic/45507/?page=1#post-202962) [sidefx.com] and other Houdini Engine implementations.

I think you could get a lot of user-friendlyness for relatively little effort with this. And after all, the most important thing for any end-user is a comfortable interaction with the software. Even for highly technical professionals, a better UI means faster iteration and therefore better visual results.
dpernuit
Ok, I see…

So this is actually what you get with the Unreal Plugin right now, rotating and scaling the curve points with the gizmos.
Unfortunately, it's not available on the Curve SOP in houdini for now…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB