20-11-2020, 01:53 PM
(This post was last modified: 20-11-2020, 02:04 PM by josemendez.)
(20-11-2020, 01:47 PM)JoseCarlosĀ S Wrote: In the sample scene, only the blue particles got killed (or at least only yellow particles remaind..ill check, maybe not all particles came in contact).
In my case, both blue and yellow particles are killed when in contact with each other. Don't see how it could be otherwise, as diffusion is symmetric: diffusion data is averaged for every particle pair, so if two particles with different diffusion data come in close proximity, they'd both modify their diffusion data, and get removed from the emitter.
(20-11-2020, 01:47 PM)JoseCarlosĀ S Wrote: I didnt change the script, tried it first on the sample scene, worked, then on my scene (with my solvers) didnt work. Is it posible its my solvers/emitters problem?
This is a compilation error, so it will happen regardless of what scene(s) in the project it is used in. The error says:
Quote:ObiEmitter does not contain a definition for "KillParticle" and no accessible extension method "KillParticle" accepting a first argument of type "ObiEmitter" could be found.
So, the compiler can't find a KillParticle() method that accepts a ObiEmitter as argument. The original script is passing an integer (solver.particleToActor[i].indexInActor), thus the only possible way to trigger this error would be to write:
Code:
emitter.KillParticle(emitter);
which ofc does not make any sense. Are you positive that the script isn't modified in any way? Another possibility is that you're using an older version of Obi that does not contain the KillParticle() method.
Obi is aimed at advanced users so it assumes you're familiar with at least basic scripting/programming. If you're not, you have a really steep learning curve ahead :/.