Log In
New Account
Home My Page Projects Blender 2.x BF release
Summary Activity Tracker SCM Files

Blender 2.6 Bug Tracker: Browse

[#26493] Particle system animates incorrectly when emitting mesh is parented

Date:
2011-03-13 22:39
Priority:
3
State:
Closed
Submitted by:
Allan Liddle (anymation)
Assigned to:
Janne Karhu (jhk)
Category:
Animation system
Status:
Fixed / Closed
Relates to:
Duplicates:
Patches:
 
Summary:
Particle system animates incorrectly when emitting mesh is parented
Detailed description
When you have an fast-moving, animated mesh emitter, the emission is faulty when the emitting mesh is parented to something else (in this case a bone).

I am able to replicate it under the following circumstances:

* The object must be fast-moving
* IF:
o The object itself is keyed, it emits a relatively steady stream of particles
o If it is parented to something else (in my case the bone of an armature), it emits a burst of particles at single-frame intervals.
I.e., the particle is not a steady stream.

Please see attached file. Just open it and animate or step through it. Look at difference between the emission of the two planes (same particle parameters)

********************************************SYSTEM INFO****************************************************

===========
=Environment=
===========
Linux 10.04
Dual Core Intel Processor: 3.6GHz
3.2GB RAM


============================================
= Blender 2.56 (sub 0) System Information =
============================================


Blender:
============================================

version 2.56 (sub 0), revision 34074. Release
build date: 2011-01-04, 18:38:47
platform: Linux:32bit
binary path: /home/allan/Applications/Blender_2.56a_Beta/blender-2.56a-beta-linux-glibc27-i686/blender
build cflags: -pipe -funsigned-char -fno-strict-aliasing -pipe -fPIC -funsigned-char -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -fopenmp -O2 -O2 -DXP_UNIX -fopenmp
build cxxflags: -pipe -fPIC -funsigned-char -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -fopenmp -pipe -funsigned-char -fno-strict-aliasing -fopenmp -O2 -DXP_UNIX -fopenmp
build linkflags: -pthread -static-libgcc -L../staticlibs
build system: SCons

Python:
============================================

version: 3.1.2 (r312:79147, Nov 6 2010, 16:45:41)
[GCC 4.2.4 (Debian 4.2.4-6)]

OpenGL
============================================

renderer: GeForce 9500 GT/PCI/SSE2
vendor: NVIDIA Corporation
version: 3.2.0 NVIDIA 195.36.24

Followup

Message
  • Date: 2011-03-14 18:46
  • Sender: Janne Karhu
  • This issue is already on the todo-list. Currently there are problems with pretty much any kind of non-simple emitter animation. I have some thoughts on how this can be fixed, but some point cache code needs to be updated first. So rest assured this issue will be handled sooner or later, but I'll close this report for now.
  • Date: 2011-03-20 10:18
  • Sender: Allan Liddle
  • Based on the response I got at Blenderartists before and since I logged this as a bug, there seems to be a few of us who need this functionality to work. Without it, one cannot make a basic rocket (with the fire & smoke generating particle mesh parented to the rocket).

    Any idea when we may expect this? I have a commercial project where I will definitely need this!

    Regards,

    Allan
  • Date: 2011-03-20 13:20
  • Sender: Janne Karhu
  • I have this now at the top of my todo-list and I'll try to get this working before the upcoming release!
  • Date: 2011-03-21 09:47
  • Sender: Janne Karhu
  • I've now committed a partial fix in r35660. Now the particle emission works correctly for emitters parented directly to the object when the parent object is animated. However emitters parented to object data (armature, vertex parent etc..) can't yet work properly as this would mean the object data would have to be recalculated fully for each particle and particle emission would become really slow.

    I closed this as a todo-item previously as this is not really a proper fix, but I also know that this will at least work for the rocket case. A better fix, which can handle changing object data properly too will need the modifications in point cache code, so that will have to wait.
  • Date: 2011-03-21 10:30
  • Sender: Allan Liddle
  • Thanks a lot, Janne. I suppose it won't work for the situation where the emitter is parented to a rocket... which is parented to a bone or path than?

    I.e. does it only work for an emitter parented to an object, who is the "master"?

    (PS: I tried to thank you for moving it to the top of your to-do list yesterday, but the system kept on logging me out automatically...)
  • Date: 2011-03-21 12:24
  • Sender: Janne Karhu
  • Yes, using a bone as the parent won't work currently, but setting a "follow path" constraint on the emitter should work properly, so animation along a path is possible.
 

Attached Files:

Name Date Download
ParticleBurst5.blend 2011-03-13 22:39 Download

Changes:

Field Old Value Date By
StatusTodo / Closed2011-03-21 09:47jhk
status_idOpen2011-03-14 18:46jhk
close_dateNone2011-03-14 18:46jhk
StatusInvestigate2011-03-14 18:46jhk
assigned_tonone2011-03-14 14:09ton
StatusNew2011-03-14 14:09ton
File Added15391: ParticleBurst5.blend2011-03-13 22:39anymation