Jump to content


The place to talk about X-Particles and Cycles 4D


  • Content Count

  • Joined

  • Last visited

  • Days Won


Lothar last won the day on April 23

Lothar had the most liked content!

Community Reputation

5 Neutral


About Lothar

  • Birthday 12/26/1952

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Lothar

    Xp shatter issue.

    your problem is that you set explode to act from "this modifier" and then placed the modifier in the centre of the object to be exploded. To get it act in Z direction, just move the explode modifier back in z ( your alignment is correct) and it will act as you expect. I added a cone field for limited influence as well xy-not-z.c4d try some variation in explode speed, let´s say speed 300 and variation 200 and add a xpdynamics tag to get more realism. xy-not-z2.c4d
  2. Lothar

    Fill up an Object

    I´m afraid - not at all. Fill uses a liquid simulation setup, so the solver is not supposed to care much for intersections as particles used are being meshed in most cases ...
  3. OK, looks we should go though the basics - I`m trying to explain again and go through the details. What you want is basically a limited influence of a modifier. You can consider explosia object being a modifier like others, e.g. xpturbulence. Do do so, xparticles has groups. You can think of a group as a container where specified particles are in and you can limit modifiers´s forces to act only on specified groups by dragging group objects into the window found in groups affected tab. This way Explosia has this window as well to be found under the advection tab , just called groups. So lets go to through the scene you attached above again in detail. First things to do - disable emitter called plane as it´s output hides things we want to see and delete animation for activating explosia, we don´t need that at all. Now go to texture emitter -> display and set it from dots to box or circle for better visualisation, let´s say box. If we play animation now, some white boxes are coming towards us, not what we want. Tried to change your texture that I get an alpha, but had to realize, that does not work, not sure if bug or limitation. So most simple solution - don´t use a plane but a disc for emission. and apply texture to this disk. In texture emitter all you have to do is replace object emitter plane by this disk. Now we have particles from white areas emitted , again not yet what we need. Time to explore texture emitter´s texture settings. Go to texture emitter -> texture tab and as a first step we are going to disable all channels by setting everything from colour to none. Now we get green particles emitted from the disk as none of the texture channels is evaluated. You may now try and activate emission channel by setting this from none to colour. Now you see our green particles are emitted from white areas only, not what we want so set this to none again as I explained in my previous answer . This channel is working as a limiter for output rate , white full output, black none. Time to introduce groups as long as we get visual reference. So go to texture emitter -> groups tab and click create and add group. As the group is active now, just change the colour to anything, let´s say green ( which it might be already depending on some preference settings). Nothing changed so far as we play animation now. Repeat that step and in texture emitter create and add another group and change it´s colour to anything else, maybe red. If you play now, you have red and green particles coming from the disk, but randomly distributed and not from texture colours as you want. If you cycle through the mode options within group tab, you´ll find nothing you can use directly, random, sequential, use gradient ,everything is meant for particle index, so you have to choose "use first group only" and we take care for sorting later. Now all particles born are within group 1 and we can go to explosia , advection tab, activate this again ( got lost when we deleted animation) an drag group 2 object to the group window. If you play now - nothing happens as all particles are emitted to group 1 so this group explosia is limited to use is empty now, nothing to advect. We have to send particles to be affected to this group. Let´s see how we can do that now, First step, back to texture emitter , we go to object -> texture tab and set colour channel from none to colour. Now playing animation we get white particles from white areas and black particles from black areas - that´s a step further, but still all particles are in group 1, so nothing else happens. But now we have an additional tool, xparticle´s question /action options. We can go now to texture emitter´s questions tab and add a question , it adds as a default asking for age, not what we need, so we change this to colour, just next option on particle data cycle list. Default is set RGB value greater than 128,128,128 so just what we need as we want to send our white particles that have close to 255,255,255 - sure with a variation as it gets values from the texture colour at the position where this particle has been born . As an action (-> add action) we choose action type -> direct action and direct actions -> change group. New group is group 2 of course and groups affected you may drag in group 1. Now we are almost there. We see black and red particles coming and the red are moving according to advection now as group 2 is filled with all particles that are emitted from white areas now. We don´t want the particles to turn red (the group colour) so all we have to do is in change group action, uncheck colour, so the original colour is kept. Now you should see black particles coming in straight and white particles in a chaotic motion caused by advection as you desired ... Hopefully everything is clear and understandable now. As a last point to consider, once you limit a modifier to a group, it will ignore all other particles. So does explosia. If you want the other particle layer from emitter plane we switched off as a first step be affected by explosia as well, you have to create a group in it´s group tab as well and drag this group to explosia -> advection group window . Without that group, this emitter activated again will be ignored by explosia...
  4. Did a little expresso setup that might be useful to others as well. You have to emit as a shot from points, but then you can send each particle to a group according a point selection painted onto this object. There are user data on the null you can drag in your emitter , point selection tag and group to emit from this selection... point selection to group.c4d
  5. don´t quite understand your setup, so disabled plane emitter to show your basic problem to advect only part of the emitted particles from texture. Didn´t prepare texture as well to be transparent so there are some particles emitted on areas outside the logo not wanted, but this should be gone with correct texture. To do so, you have to care that different coloured particles are in different groups. That can be done by question for colour and then set groups accordingly. So emit from texture - but use colour from texture only to get black particles as well, with your setup, using emit channel as well, no particles on black areas would be created. Create 2 groups for this emitter, use first only and put a question for colour. I set it to get all particles that are darker than 74,74,74 into group 2 and gave those particles a red colour just to check if split works correctly so you don´t see black particles - but you can set display colour for this group to black any time. You see that texture emission is working correctly from the fact that there are no green particles group 1 is set to but they get colour from texture space emitted from. Now all you have to do is restrict advection to specified group, black areas only are advected now. If you want to change that to white colour , use a question "is less than" and put white particles into group 2 this way... but always use group 2 for advection´s restriction ( to avoid trouble that they are immediately advected as they are born into group one before any change can happen, so feed advection with the group where only particles are in you sent to as well) This way I removed keying of advection as well as I don´t see any necessity for that - I put particles to be advected whenever I want to (sent them to restriction group 2) If you want particles from plane emitter I switched off be advected as well, just create a group on this emitter and add that group in explosia´s advect restrictions... hope that helps and you can understand the principle now. As a general rule - if you want to separate influences, groups are your friend 😉 SURFACE ADVECTION-3-V2lm.c4d
  6. you could try a displacer as a child of spline mesher and use appropriate texture ...
  7. Lothar

    Scripting help needed

    solved that now, at least partly as only a single selection is allowed. But it works now moving a xpdynamic object by means of a belt if you don´t do too fast movements, always remember keep energy low ... Way to do this is use more python than expresso 🙂 dynbelttest.c4d edit - an now I have just found that pin to spline is possible as well and does the very same, so no need at all for a script 🙄
  8. Lothar

    Fill up an Object

    what you can do is use several emitters in a pipe to get a good amount of particles and a little trick I use - emit small to get most of the hexagonal emission and scale up . Fill like you would in real life to avoid too much spill 🙂 fill glas.c4d
  9. Lothar

    emit when object movies

    Don´t have XP2 on a R19 installation but a little expresso should be able to do it as well using R2 (which hopefully has expresso nodes 🙂 Get object´s speed of movement and feed in via rangemapper to birth rate of emitter emitting from that object ....
  10. Lothar

    emit when object movies

    strange - just downoladed from that link and it is working fine. .. Which versions, Cinema and xparticles are you using ?
  11. Lothar

    Fill up an Object

    take care your object to fill has enough faces compared to particle radius and screw up subframe steps and iterations within project settings , just as a general advice.
  12. Lothar

    Scripting help needed

    just to show where I´m stuck. The file shows, python node would work and be accepted, but I can´t generate the output desired. But instead of the formula indout = ind -482 indout must get 0 to 47 like ind has 482 to 529 without a simple subtraction but must get its 0-x values from count of incoming ind values somehow... If I read in xparticle indices of particles concerned and try to get them into a list , all values are stored on first index of list, no idea how to count them from there and finally convert them to an index sequence, 0 to last particle involved ... frozen expresso2.c4d
  13. As there are no connectors for XPdynamics, I´m trying to get some kind of handles to them at least. What I see will work is fixing some frozen particles to a spline - but succeeded in a special case only. This scene is working as particle index on a latitude circle of a sphere will be in sequence , so it is possible to get the necessary index sequence for a spline, 0 to X by some subtraction value from the particle index that is starting from a certain index and goes up in sequence. But what to do if index of particles will jump between values which will be the case e.g on a latitude circle . What I can get is group´s particle index and count, that´s not a problem, but I can´t use normal expresso iteration on the spline, expresso will not allow that and nodes will turn yellow. So I guess I will need a python node with 2 index outputs, one for the set particle and one for the spline that syncs outputs. I can imagine input index from particle iteration for the python node, so it gets let´s say numbers of 24, 45, 67, 99 and will care that 24 goes to index 0 on the spline, 45 to index 1, 67 to index 3 and so forth ... But no idea how to archive that or if this is impossible as these outputs can´t be synced at all. frozen expresso.c4d
  14. Lothar

    Colliders in domains..?

    if you provide a xpcollider tag to the objects inside domain it should work ... domain.mp4