Friction based vertex maps

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

THREAD CLOSED
 
Thread Tools Search this Thread Display Modes
  05 May 2013
Question Friction based vertex maps

Hi all,

Anyone know of a solution for friction based vertex maps?

Example: A car wheel spinning and building up temperature. I need it to be procedural, but also not just a linear increase in already mapped vertex weights (i.e. wheel revs increase = weight increase) but generated based on rotation speed and contact time with a surface.

I appreciate this would most likely require a plugin or scripting of sorts, but if you have any clever solutions/ideas, I'd love to know.


cheers
brasc
__________________
brasco on vimeo
 
  05 May 2013
the easiest solution would be :

take your point object the vertex map is derived from and find for each vertex the
shortest connection the collision object. range map this vector based on some min,
max values into a float. multiply this float with the objects rotation velocity length
and you have the heat value for that vertex.

to be accurate you would have to do some closest point on surface calculations
instead closest vertex, which can get pretty fast pretty slow in python.

accessing dynamics (bullet solver) data is not possible in python and for all shader
based solutions there is the problem that you cannot instantiate volumedata in
python which does make it impossible to sample volumedata based shaders correctly
outside of methods which provide this data.

Last edited by littledevil : 05 May 2013 at 09:06 PM.
 
  05 May 2013
Thanks for the info Ferdinand, it get's me on the road to a solution!
I'll experiment with that idea and see if I can apply it with my limited scripting knowledge.

cheers
brasc
__________________
brasco on vimeo
 
  05 May 2013
hey,

another solution i haven't thought of is a pretty fakey xpresso solution. you could
create a falloff node covering your collision area. lets assume you have just a flat
road. you would create linear falloff facing along the roads polygon normal. so the
closer the object will get to the road the more it will be covered by the falloff. then
sample for each vertex that fallof node multiply the data back and forth and you
have something surprisingly convincing.

i am here only at demo, so only screenshots. i added also a fallback at frame zero
so that the vertexmap would be reset properly. you could also add a noise node to
add some variation to heat map. the key part is getting the multiply nodes right.
the cooling node math multiplier is 0.97 and the multiplier with only one port above
the friction node is 0.025 in my example. the iteration, distance and condition ports
nodes empty ports are all on its default value (0 or 0,0,0).

general setup (you can see the yellow end of the linear fallof plane, the red plane
is covered by the floor).
http://i.imgur.com/55rS70u.gif


xpresso setup:
http://i.imgur.com/STQ8Ta0.gif


happy rendering,
ferdinand

Last edited by littledevil : 05 May 2013 at 01:18 AM.
 
  05 May 2013
You've gone above and beyond there, thanks very much for sharing.

I'm going to try both, the xpresso version looks more up to my level though so thanks for posting the setup! I'll report back when I get some good results.

cheers
brasc
__________________
brasco on vimeo
 
  05 May 2013
Thread automatically closed

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
__________________
CGTalk Policy/Legalities
Note that as CGTalk Members, you agree to the terms and conditions of using this website.
 
Thread Closed share thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 11:23 PM.


Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.