Jump to content

[SOLVED] Tree Sim Deform


sipi

Recommended Posts

23 minutes ago, Atom said:

Play with the Capture settings on the pointdeform. Try a a radius of 1.0.

Not really working, it becomes wobbly. See this attachment. Also it wouldn't work with more dense branches.

radius_1.mov

 

Actually I discovered in the help that they don't recommend to use point deform for wire stuff.

image.thumb.png.c5d985769c40544b9c97cf23042efbaf.png

Edited by sipi
Link to comment
Share on other sites

I tried adding leaves, but the branch connectors dance around. I'm not sure if this set up will work with more branches. When I enabled the secondary branches, the bonecapturebiharmonic goes off into la-la land. You may want to come up with some overall mass concept for the tree and divide the branches into various weights. With more secondary branches, they weigh down the parent branch quickly.

tree_wire_sim.gif

ap_tree_deform(1).hiplc

Edited by Atom
Link to comment
Share on other sites

14 minutes ago, tamagochy said:

To use curves for deform you need to create geometry using sweep from curves and then plug to point deform.

Oh indeed, it's a more simple and faster solution! Thank you!

Link to comment
Share on other sites

Ok, here is an attempt at tomogachy's suggestion. Sweep before the DOPNet, then point deform after. The scale along length doesn't really work right, because it needs to know the pscale of the point where the connection occurs, then use that value as the start of the taper. Also, some points just don't mesh well and seem stuck to neighbors?

tree_sweep.gif

ap_tree_sweep.hiplc

Edited by Atom
Link to comment
Share on other sites

I think tamagochy's suggestion was to put the Sweep after the Dopnet and use that geometry to deform the original tree geo using a Point Deform, and I think it would work well if the Sweep SOP would generate proper geo. I just can't figure it out what is the deal with the orient attribute...

The "stuck to neighbors" issue can be solved with deforming the tree separatly by branch_level, or using a for-each with named primitive like this:

image.png

Edited by sipi
Link to comment
Share on other sites

Sweep used normals along spline and up vector to orient shapes, by default after dopnet you have orient attribute you need to delete. Use foreach per branch to create shapes and then use it in point deform.

In my vol3 tutorial you will find explanation of all aspects of the meshing.

Link to comment
Share on other sites

  • 3 weeks later...

Oh I just fixed the previous problem, but it's still far from a "good-looking" stuff. I want to figure out a stable setup, then start to tweak the sim.

Feel free to check out. It seems to me that deformation, and constraints are working now...

image.thumb.png.49155e8471ce0280b21f78a84c42d460.png

tree_4.hiplc

Edited by sipi
Link to comment
Share on other sites

Now the wire sim is realtime, deforming is slower (around 3 fps), but it's getting stable. Still a lot to do...

gif.gif.07ee6215329f56ce75d8fd16e2be40c9.gif

Also, I don't know if I'm overcomplicating it or not...? I'm just happy to find any usable solution.

tree_5.hiplc

Edited by sipi
  • Like 1
Link to comment
Share on other sites

Well, not long after I post it, I realized that the previous method in tree_5.hiplc is malfunctioning. I improved and simplified it and now it's almost okey!

But I have difficulties with constraining the branches to each other. Right now I actually snap the root points of every branches to the closest point on the closest branch, and fuse them instead of constraining but sometimes the snapping flaws. Constrains would be better I guess, but I couldn't figure out how to do it.

 

Way A is unreliable.

Way B is almost good but with a high number of branches, it becomes unstable.

Anybody could take a look and tell me what would be the bulletproof way?

image.thumb.png.87fc89af3e73d55511ded6cc11f438d4.png

image.thumb.png.954b0b2fed45be1c43bd92255abde173.png

tree_9.hiplc

Link to comment
Share on other sites

Nevermind, I fixed the previous unconnected pieces issue.

 

At last the skeleton preparing and deforming setup is working fine with as many branches as you want. I still use the fuse method, finally i managed to figure it out the way (unfortunately I couldn't make it with constrains :unsure:).

Now it's time for the leaves! :)

image.thumb.png.93a1e03fa4bb55d00b9d80ca40f7d175.png

Any idea about the leaves? What's the best way to use the Labs Leaf Generator with a deforming tree?

tree_10.hiplc

Link to comment
Share on other sites

  • sipi changed the title to [SOLVED] Tree Sim Deform

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...