# 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

 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.