Search - User list
Full Version: Bezier curve editor
Root » 3rd Party » Bezier curve editor
elovikov
Hi!



I'm creating this sop which gives you a way to edit curve with more familiar ux.

Right now it's working only on construction plane so the main use case would be creating cross-sections or any other custom shapes on a plane. But the ultimate goal is making a much more universal tool. Currently I'm adding a support for full 3D and builtin Houdini handles and also working on the ability to add and visually edit arbitrary attributes on anchors (at least Cd, orient and pscale). I want to create a tool that you can use wherever you need some artistic input for sweeps, curve forces, attrib transfer geo etc

Current features:
- Tied/Untied handles (Ctrl + dragging handle)
- Corner/Smooth anchor (Ctrl + click on anchor)
- Symmetric handles (Shift + dragging handle, also ties untied handle)
- Multiselection and multi-edit (Shift + click on anchor to add to selection. Currently supports only moving or deleting multiple anchors)
- Ctrl + Shift + click on anchor deletes anchor. Also Del (Cmd + Backspase on OSX) deletes all selected anchors
- Builtin Houdini snapping on grid also supported
- Undos are mess right now but working in a way (just doesn't work well between separate entries in the state)

It's a state tool so to create a curve just add “IE Pen Tool” sop and hit Enter in scene view. Any click on construction plane append an anchor to the curve (can be little confusing with closed curves as it adds before the first anchor). Click on a curve itself also add an anchor in the corresponding position - the green point on hovering indicates this position.

The output is bezier prim so you'll probably need to convert it to poly (not all sops supports bezier)
shadesoforange
Very nice! The initial amount of features is great Keep going!
anon_user_37409885
Nice work. Out of interest, what was the development time for this?
bobc4d
this is awesome, one of the things I miss from Cinema4D is its Bezier curve handles.
EricSheng
That's amazing, even can move multiple points simultaneously.
elovikov
goat
Nice work. Out of interest, what was the development time for this?

Thanks! It's like a side project so hard to say. It took around a week working part-time to get to this state.
Alexey Vanzhula
Great work!
vusta
so is it for now always ‘flat’ on the ground ?

ahhh…'on a plane' implies flat i reckon.
teotigraphixllc
Yup, bezier handles are nice, great job!
DASD
This is great, have you made any progress on this?
elovikov
DASD
This is great, have you made any progress on this?
Yeah, almost done as usual the last 10% of work is the most time consuming.
bobc4d
one of the things I miss from C4D is its bezier curve editor. this looks great.
elovikov
It's almost done.

Current version features:
  • Supports different projection modes. I've tried to repeat Curve Sop and Draw Curve Sop so it would feel the same. It basically works in screen plane if construction plane is disabled. If it's visible the construction plane has priority. Apart free mode it has projections on coordinate planes
  • Multi-prim workflow (multiple prim inside one context)
  • Group transforms via bounding box handle
  • Builtin scale and orientation editing (exports @pscale, @N and @up)
  • Any number of additional attributes with interactive editing
  • Supports builtin Houdini snapping on visible geometry. So you can "draw" on surfaces or snap to other points.
  • Visual guides
  • All primitives has @name attribute (can be changed in toolbox) to support grouping downstream
  • It outputs bezier and resampled polyline. Though bezier is mostly for internal purposes I would recommend using only resampled output (the second output)



Multi-prim workflow. You can create multiple prims on one node


Appending and prepending to curve depending on selected control


Editing handles on multiple anchors


I've decided not to create custom geo intersection. Instead tool supports all built-in snapping options (except multi-snapping) on visible geo including templates.
Self-snapping is also possible.



Out of the box it's ready for many built-in sops. Sweep, Chain, Revolve, Path Deform etc. I'm also working on custom POP force and Gas microsolver to support this custom curves better.
elovikov
I'm currently polishing the last bits and help page. Hopefully can be completely done by the end of the month.

I'll make it available on github if I figure out how to make my own package. Apparently indie hdas can't be loaded in other licences and I don't know yet how do I make it publicly available for anyone.

This is my first hda so may be I'm not following the best practices.

Current version is available in attachement.
mabelzile
Nice work! It looks like you coded your own mouse hovering mechanism ? FYI, there is a new gadget support in H18.5 for python states. A gadget is a specialized geometry drawable you can use to support mouse hovering and picking in your state. All the geometry intersection is done by Houdini, so you don't need to do it yourself. Check out this demo scene $HH/viewer_states/examples/state_gadget_demo.hip. Dynamic gadget registration is not yet supported however, you need to know the number of gadgets you need at registration time. I will add dynamic gadgets to python states in the next release.

Did you consider porting your bezier curve controls to python handles ?
elovikov
Thanks mabelzile!

Yeah, I saw new features in 18.5 - they're awesome. The thing is that I've started on 18.0 so I basically just created the same thing. I've tried to use gadgets but the tool was already relies too much on my custom controls. Also I kinda stuck when I had to implement multi-selection and draw located, selected and picked point at the same time.

The same with handles. Currently controls are just very tightly integrated in state. It's probably a good idea to decouple them from the state logic but not sure if it's worth it.

Anyways I'd definitely do it differently if I started now with 18.5. It's nice to see that states are evolving, really enjoyed to work with them
fnahon
Thank you so much. This is really a great tool. I hope you'll develop it further.
PippaChapman
Big thx to you! Nice work! It's looks awesome!
Morphtek
can you release it as hda ,where do i need to throw money at ?
pbowmar
Amazing, as an ex Softimage 3D user, I've waited 25 years for this
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