# Polygon velocity inheritance

 02 February 2013 baca New Member Wasily Russia Polygon velocity inheritance Hello. Is there any way to inherit polygon's velocity to the particles when emitting from the surface? Thx. share quote
 02 February 2013 Srek Some guy   portfolio CGConnect Member Björn Dirk Marl Technical Design Maxon Computer GmbH Friedrichsdorf, Germany You can take the objects velocity and additionaly calculate the distance the point moves due to rotation of the object, however, this will only work for rotations around the object axis. If the object is controlled by Dynamics you can use the angular velocity to get the real value. In both cases you need to do a bit of vector mathmatics to calculate the difference vector for the point and hence the velocity. __________________ - www.bonkers.de - The views expressed on this post are my personal opinions and do not represent the views of my employer. share quote
 02 February 2013 baca New Member Wasily Russia Thanks. So I need polygon's current and previous position to calculate local movement, also polygon may be streched and etc... Pretty complicated. There is motion pass in Cinema and I hoped there is built-in possibility. So sad share quote
 02 February 2013 fuat Expert   Fuat Yüksel FX TD Trixter Munich, Germany what exactly do you want to achieve? do you mean like subframe emission within TP? or simple motion inheritance? could you specify your task? fuat __________________ insekt8.de share quote
 02 February 2013 baca New Member Wasily Russia I need to emit particles from moving polygons with speed inheretance. You know if character is moving his arms and legs moves fast and they change direction of movement while body moves constantly and with smooth direction change. So I want to emit particles from speedy polygons and inherit its speed share quote
 02 February 2013 littledevil Meh   portfolio Ferdinand Germany i would prefer python on this, something like this (just paste it into a python tag on your polygonobject). ``````import c4d from c4d import utils as u class CacheStruct(): def __init__(self): self.Points = [] cache = CacheStruct() def main(): obj = op.GetObject().GetDeformCache() if isinstance(obj, c4d.PointObject): curpoints = obj.GetAllPoints() if len(cache.Points) > 0 : for i in xrange(len(curpoints)): pid = tp.AllocParticle() tp.SetPosition(pid, curpoints[i]) tp.SetVelocity(pid, (curpoints[i] - cache.Points[i]).GetNormalized() * 100) cache.Points = curpoints`````` it is just a rough sketch, it emits particles form an point object vertices and sets their velocity to the vertex velocity. i used vertices, because i did not want to bloat the code with polygon handling, there is also missing a meaningful mapping of the vertex velocity to particle data (min/max speed, min/max pcount, ...) general idea should be clear. just cache the velocity by yourself. Last edited by littledevil : 02 February 2013 at 11:36 AM. share quote
 02 February 2013 baca New Member Wasily Russia https://dl.dropbox.com/u/17197754/speed%20weight.c4d How to force to update polygon selection every time? Material displaying and particles emits from an initial state, while real polygon selection is changed every frame. share quote
 02 February 2013 baca New Member Wasily Russia Wow Ferdinand, that's really nice. Never used python before I see just one issue — that's should be rendered frame by frame from first frame? Farm will produce surprizing results :-) share quote
 02 February 2013 littledevil Meh   portfolio Ferdinand Germany as i said there is no mapping/clamping, the code does not clip a speed of zero,this is the reson for funny first frame and some of the unexpected emissions. it is a fun topic maybe i'll write an enhanced version when i come home. share quote
 02 February 2013 douwe Expert   portfolio douwe Brussels, Belgium Originally Posted by baca: https://dl.dropbox.com/u/17197754/speed%20weight.c4d How to force to update polygon selection every time? Material displaying and particles emits from an initial state, while real polygon selection is changed every frame. Not sure why you turned David's VertexMaptoPolySelection Tag into a Node. You could continuously update the Enable Port of the Tag with an Iteration from 0 to 1. d share quote
 02 February 2013 baca New Member Wasily Russia Originally Posted by douwe: Not sure why you turned David's VertexMaptoPolySelection Tag into a Node. As I know coffee tag executes just once. Coffee node recalculating every time. Originally Posted by douwe: You could continuously update the Enable Port of the Tag with an Iteration from 0 to 1. Thank you, that's really helped! Nice :-) share quote
 02 February 2013 CGTalk Moderation Expert 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. share quote

 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 vBulletinCopyright ©2000 - 2006, Jelsoft Enterprises Ltd.