Jump to content
Noobini

Tread Creator

Recommended Posts

Nice work, thanks for sharing the setup too!

Tyre_Tread_1.04.zip

Edited by Atom

Share this post


Link to post
Share on other sites

ver 1.01:
- no more Capture Length, complete circle is now auto
- Rep Count/Gap -> auto circle
- auto copy offset according to bbox for different patterns

Still not good with coding so exploited the new Point (Attrib Expression) instead.
 

 

Tyre_Tread_1.01.zip

Share this post


Link to post
Share on other sites

Very nice! Stellar example of how procedural modeling would be used in conjunction with traditional modeling

because of course, it would be optimal, for texturing/animation purposes, that the treads themselves be modeled by hand with nice topology. Your setup is well suited for that too so again, great work!

p.s. In the future, be sure to put a relative path $hip/ for the external files, for convenience.

Edited by McNistor

Share this post


Link to post
Share on other sites

Dang...I thought I did !!!...Yes will double check relative path next time....

Yeah I don't see why a custom built pattern wouldn't work...eg...draw your own curves (just like floor tiles)...so that's on my to do list and also how to make it work with a continuous strip...ie. i'll have to 'clip' top/bottom then fuse the repeating patterns together

Share this post


Link to post
Share on other sites

nice work! like the blending of the profile as well :)

personally I would choose for controlling: the radius(or diameter) of the tire and then set the amount of segments; which then calculates the gap.
rather than what you have now, controlling: the length of the segments, the gap; which then calculates the radius of the tire.
That way you can switch out patterns and still have them fit on the same wheel/vehicle. ;)

 

Share this post


Link to post
Share on other sites

yes..been thinking about Radius as the 'controller' too...since you're much more likely to have to model treads to fit a wheel of certain fixed size = radius...

another one on to do list :)

Share this post


Link to post
Share on other sites

if anyone could tell me what to do about Normals...that would be great...

Right now, some pattern might have their Normals pointing opposite to errrrmmm..normal...ie. down...not a show stopper as the tread depth can extrude either way...but I'd like it to be consistent...so in my Flatten node I can add a second Vexpression to set N = (0,-1,0)...easy peasy...but then the treads look 'smooth' and not with their original 'sharp' edge look...what's going on ?

EDIT: OK, I should Add Vertex Normals in the extrude....but still puzzled why some geo works with positive extrude for tread depth...while some works for negative extrude....???

Edited by Noobini

Share this post


Link to post
Share on other sites

Turn off back-faces with Display Options (D key) > Optimize > Culling > Remove Backfaces option. Modeling is always side-aware, and default Houdini display makes user think it's not.

backface_cull.png

Share this post


Link to post
Share on other sites

Thanks but I think the real problem is vertex order -> vertex/prim normal -> how it is extruded...

ver 1.03:
- now user will have option to flip face normals so the extrude will consistently work in the positive direction (negative is still there)
- centre pivot and move to exactly on top of ground.....for export

https://1drv.ms/u/s!AvgNse7E8aaygmh7yvPHwG_8sCgg

 

Edited by Noobini

Share this post


Link to post
Share on other sites

success !!! works with continuous strip...but since now the repeating patterns are no longer packed, coz I have to fuse them together, it's damn sloooooow...I'll have to optimise somehow

ContinuousTreads1.jpg

Share this post


Link to post
Share on other sites

True, the vertex order is what the side basically is. You can negate normal, and the side won't change: instead, the surface goes black with strange shading on grazing angles. Trace, as several other nodes, outputs side in a random manner. You can provide user checkbox to fix it himself when generated result is bad. But often you can automate process. Simplest way is:

  1. Group primitives by normal: known-to-be-opposite; spread angle: close to zero. Zero is prone to floating point errors and may not group some of reversed prims.
  2. Reverse grouped prims.
  3. Delete the group. We don't want to supply our user with weird groups and useless attributes.

 

side_gotchas.hipnc

Edited by f1480187
  • Like 2

Share this post


Link to post
Share on other sites

oh yeah, the method on the right is to unify normals...great...thanks alot

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×