• TP Partio - Cinema 4D
    TP Partio - Cinema 4D

    https://aescripts.com/tp-partio/

    TP Partio is a plugin for Cinema 4D that will let you cache Thinking Particle particles, write them to disk, share them with other applications and read them back. It will let you take a snapshot of a current frame of your simulation and let it continue from there. It'll let you play your sims backwards, while you can scrub through them on your timeline.

  • Hello,
    i cant figure out how i can just import an bgeo-sequence with tppartio. i do not need to to cache the sequence. the sequence is already there.
    thanks
    Oli
  • Hi Oli,

    in theory you could just import a single frame of your bgeo data on frame 0 and then let Cinema simulate the particles from there. It'd still "cache" the bgeo file on frame 0, but after that it'd work as normal.

    You can't just import particles as a one time operation, since Cinema resets all particles at frame 0, so if you were to import them, they'd only work a single time.

    Cheers
    Michael
  • hi michael,
    thanks for the reply but i am not shure if you understand what i mean. my englishj is so lousy....;)
    i mean: i have a already proper simulated bgeo-sequence and i only want to load and play this sequence inside cinema. no simulation is needed. i need only a "dump" playbackfunction for this bgeo-sequence. the particles are simulated in houdini
  • You can't turn off simulation, but since we're creating the particles from scratch on each frame (from the cache) and delete the previous ones, there's no simulation going on, so it should be fast. So basically by default TP Partio does exactly what you want it to (unless again I misunderstand you).
    Michael
  • Hi Michael,
    Thanks, this looks like a great script!

    Would Partio cached particles work with NET render?

    Thanks
    David 
  • Hey all,

    Sorry, relatively new to Thinking Particles, but I'm unable to find a way to select my input TP group in TP_partio to Cached; a crucial step.

    I don't see the 'Cached' option show up in the TP Settings as shown in the demo. I'm sure it's something simple, but I can't seem to figure it out.

    Thanks!  Looking forward to trying this out.

  • Hi Michael, I would like to ask you question that remains unanswered so far (I think so, at least, although David Flamholc did ask you the very same thing) - is it possible to use TP Partio with Net Render (multiple machines to use cached simulation to render in same exact manner animations with TP)? I mean, this question impose itself after very first glance upon this excellent plugin. Thanks.
  • Hi Michael,
    Thanks, this looks like a great script!

    Would Partio cached particles work with NET render?

    Thanks
    David 
    Yes, it works with NET as long as the particles are accessible to all clients (network drive).
  • Hi Michael, I would like to ask you question that remains unanswered so far (I think so, at least, although David Flamholc did ask you the very same thing) - is it possible to use TP Partio with Net Render (multiple machines to use cached simulation to render in same exact manner animations with TP)? I mean, this question impose itself after very first glance upon this excellent plugin. Thanks.
    Hi,
    it was answered in the old discussion board I think, but those posts seem to have gone... anyway, yes, it's working with NET if the clients can get to the file location (a mapped network drive).
  • Hey all,

    Sorry, relatively new to Thinking Particles, but I'm unable to find a way to select my input TP group in TP_partio to Cached; a crucial step.

    I don't see the 'Cached' option show up in the TP Settings as shown in the demo. I'm sure it's something simple, but I can't seem to figure it out.

    Thanks!  Looking forward to trying this out.

    Hi,
    by default cached particles are just put into the "All" group. The "Cached" group was just a manually created TP group that was named "Cached". Could be anything really. So, just create a new TP group in the TP Settings dialog and drag it into the "Input TP Group" field. Done.

  • Hi:

    Just to confirm, the latest version of TP Partio IS compatible with R14 (on a Mac)?  The version history says yes, the compatibility tab says R13.  Please confirm.

    Also, will this work with Pyroclusters?

    Thank you.

    Shawn Marshall
  • Hi Shawn,

    yes, it works with R14 on Mac.

    I can't say anything about Pyrocluster, but I'd assume yes, since all it does is create regular TP particles.

    Michael
  • Hi Michael,
    it's seems to me that TPpartio doesn't work in windows Net Render Client. I've tried the last two version (0.14.2 and 0.15a) and I've replaced the zlib.dll but when I lunch the client there's always an error (MSVCR100.dll missing...). I've tried to update my net render client (13.061) also.
    Any suggestion? 

    Cheers

    Paolo
  • Hi Paolo, that's the Visual C++ runtime missing on your system. Try these please:
  • Hi Paolo, that's the Visual C++ runtime missing on your system. Try these please:
    Thanks Michael, now it works fine :-) Sorry for my question, but  I'm not very skilled on Windows... So, thank you, your plugin is fantastic!!!
  • Cool, glad to hear it's working now!
  • Hi Michael,

    great work with TP Partio so far.

    I know that the original Idea was just to have a cacher for TP. But even more useful is the fact that you can import other sequences. (krakatoa, realflow, etc)
    It could be a great particle importer if there was something like an import file ui. 

    Right know I have to change the path of the cache directory and use the filename of the sequence.

    going a little bit deeper, this also could be something like a particle sequence converter!!!

    Think about it. ;)

    Bests,

    Niko
  • Hola Michael.

    I was playing around a bit with the plugin and just tried to cache a szene where i was using the Mograph-Tracer to build a spline of the particle movement. With the original particles it works quite well. But when i use the cached TPPartio Particle Group, the Tracer completly freaks out. I guess it is a technical problem, how the tracer gets it´s information!? So, i assume, that there is no way to trace the Particle Path with the cached TP-Partio Particles, isn't it?

    Either way, great Job with the TPPartio Plugin!
    Cheers,
    Tom
  • Hi Tom,

    it's most likely because the particles are created on each frame, and the order in which they are created can't be guaranteed. So it can happen that particles get different IDs on each frame, thus freaking out the Tracer. Unfortunately PIDs are read only in Cinema, so I can't fix that. Try checking the "Free all particles instead of group" checkbox under the Read Particle Data settings. See if that helps.

    Michael
  • Hey Michael.
    Problem solved. The "Free all particles instead of group" checkbox is the solution to use the tracer as usual. Thanks!
    Cheers, Tom
  • Cool, glad to hear it. Just as a general info, what this box does is change the behaviour so that TP Partio does not just delete and recreate the particles within its group of particles, but it creates _all_ particles in the entire document and creates its own from scratch. This has the advantage that the Particle IDs stay the same, since the particles are always created in the same order (as long as that didnt change in the original cache). It of course has the disadvantage that any other TP setup in your scene will not work...
  • How can I make this work with pFragment? Grouping-wise how do I make it re-render the fragments that I'm reading from?

    ie) I'm reading from my pFragment group (lets say it's called Shattered) then what group would I output to to still have it display the same geometry?
  • Hi Michael, I have one big issue with this plug in as it doesn't appear in my plug in list or library at all.

    I've changed folder names and so forth but TP partio isnt showing up at all in the console either and it's the only one that doesn't. 

    I'll update this post with results.

    EDIT !: I've removed all plugins and then only added the 0.15... folder inside the plugins folder and added the .dll in the main filder. Still no TP Parto.

    EDIT 2: I got a hold of the TP Partio v0.14.2 version and it worked out. Sadly the 0.15 doesnt.
  • Hm. Which version of C4D are you running (Release, OS, 32/64bit)?
  • Hm. Which version of C4D are you running (Release, OS, 32/64bit)?
    Cinema 4D R13.061 Studio 64bit 
    Windows 7 64 Bit
    Any issues I should know of with this version?
  • Ah, yes, I just noticed the version notes are a bit misleading... 0.15 is R14 only right now.
  • Howdy, I've started using TP Partio and so far so good, it seems like it will be really handy.

    I've got two questions:

    1. Is there a way to re-time (basically slow down) cached particles? I saw that this has a reversal feature which is nice and helpful, but I'm in a situation where I'd like to slow down the overall simulation.

    2. I tried but failed to cache Mograph Dynamic particles (using a Rigid Body tag on the Particle Geometry, which was linked to my TP Partio cache group). Any suggestions on how to go about caching that?
  • Ahh ok. Will it be available for R13?

    ___

    Could you please change the comparability tab on here? It says R13, hopefully more people won't bother you like I do! :)

    ___

    Still I like 0.14, great job! :)
  • @Sam I'll look into it

    @Fred Cached files are read based on their filename. I agree it'd be nice to retime, which would need interpolation between points. Anything other than linear interpolation will require some work, but it's a nice idea for sure.

    TP Partio stores particles the way that the internal TP master system stores them, so if their position is taken over by a rigid body sim, it appears to not reflect that position in the TP master. In that case they're not cached out properly. I'll see if that's possible to read out and store.
  • Excellent plugin! It has come in handy several times now!

    However, on a recent project I am having some difficulties.  I have particles and I would like to cache them with TP_Partio, but I have an event that activates a new emitter on the first particle's birth.  There is an instanced light attached to these particles, so since there is variation on them and I can't render a seperate pass for the instanced light and the birth variation would alter the lighting, cached particles is just what I need.  

    But, from what I understand, TP_Partio recreates a new particle each frame, so that the first particle is born, activates the emitter and this happens each frame so that an emitter is activated each frame, instead of just upon the actual birth. 

    Is there any way around this?

    Thanks!
  • @Dennis Unfortunately no. If C4D would allow to set the particle ID, I wouldn't have to recreate them on each frame.
    An alternative would be to create Nulls instead of Particles. That's something I'll think about (but you'd end up with a large amount of objects, which might cause problems in the scene)
  • I was afraid of that. Thank you very much for your quick reply!
  • Hi, I'm in trouble with this plugin, it crashes continuosly when trying to read cached files. TPPartio 1.4.2 on R14. How can I get in contact with you? Thank you in advance.
  • Hi Andrea,

    can you give me some more details regarding the cached files? What format are they?
    There are issues with zipped cached files, which has to do with the zlib.dll somehow :(

    There's also a problem with Houdini12+ bgeo files - they use a new format that is not supported. Starting with Houdini12, these files need to be stored as .bhclassic instead of .bgeo

    Michael
  • I'm in the same boat as Oli - I cannot figure out how to get Houdini particles into C4D. How is this supposed to work?? Michael said he does this on a constant basis - so HOW is this done? I've been playing with the plug for 2 days but I can't find the way this is done. It's driving me crazy since I have a boatload of Houdini particles I need in C4D

    I think it would really help us to have instructions or a tutorial on this.

    Thank You.
  • Hi Sor,

    sorry I didn't get back to you earlier, I was at the off the grid for a few days...

    What exactly isn't working with the houdini particles? You should only have to export them from houdini as e.g. particles$F4.bhclassic, then use those files as the input files in TP Partio and it should work right away (make sure to put in the full path, and set it to 4 digits).

    Is it not showing anything at all? Also look at the Console window of Cinema 4D - any errors there when you scrub through the scene?

    Michael

  • I'm probably not understanding right what you are saying. Where exactly would I set them as the input files - in the Filename Settings?

    If so, I have done that but it does not work. It scrubs through and it shows that a different file is loaded for each frame (eg for frame 50 it loads file 0050 etc) but there are no particles. Also, in the Filename Settings there is no option for .bhclassic.

    In the Read Particle Data section would be my guess for importing them -
    but there is nothing that can be pointed to a file in that section except for the input TP Group. Sorry, I'm much more proficient in Houdini than C4D.

    I'm sure I'm not understandings something correctly but could you please just describe the procedure for importing the particles step by step. Mostly interested in where in TP Partio I have to make the importing happen and what settings I should use.
  • Hi Sor,

    is the path/filename that it tries to open correct? (the one that is generated by TP Partio, so "particle0050.bhclassic" for example)

    There's no bhclassic setting, just chose bgeo please.

    Have you turned on "auto-read" in the Read Particle settings? Otherwise it won't read automatically on every frame.

    Can you check the Thinking Particles Settings... dialog in the Cinema 4D Simulate/Thinking Particles menu? Does it show any Thinking Particles being generated at all?

    How about scaling? Sometimes the particles coming from Houdini space are way too small for the default Cinema 4D space.
  •  Hello, Michael. My particle simulation includes of two TPGroup. How can I bake 2 or more TPGroup together? It`s possible? 
  • @Alexander: you could bake he "All" group, which should combine both into one, I guess.
  • It doesn`t work, i have tried this way. Caching process is sucсessful, but size of each file is 1 KB and then cache files is not loading. Take a picture (http://imm.io/15erN) What is wrong in my setup?
    image
  • @Alexander: try turning off the Auto-Read function, you're basically deleting all the particles that way before they are read again. If you need to read the cached particles from disk as well, try adding a second tppartio object, one for reading and one for writing. 
  • does it support R15?
  • does it support R15?
    Not yet.
  • I've just finished building a beta version for R15 (OSX/WIN). It should be online soon.

    Michael
  • Latest tp partio, Cinema 4d r14. Caching in TP Partio is extremely slow, it is slower than just plain rendering: I could render entire scene in 1 hour, the caching ran overnight and is still at 25 per cent done.

    What are my options except requesting money back?

    Thanks.

  • Latest tp partio, Cinema 4d r14. Caching in TP Partio is extremely slow, it is slower than just plain rendering: I could render entire scene in 1 hour, the caching ran overnight and is still at 25 per cent done.

    What are my options except requesting money back?

    Thanks.

  • Hi, I assume you are caching out a large number of particles? The thing about caching to hard disk is, that it is not necessarily faster than live simulation. The internal simulation takes place either way, but then in the case of caching through tp partio, we need to loop through each particle again and write it to disk. Writing to disk is obviously a lot slower than dealing with them in memory only. Then there's the viewport in Cinema 4D, which is very, very slow when it comes to lots of objects or particles. So, when you are simulating straight to render, there are cases where this is a lot faster actually, since it does not have to write to disk, nor have to deal with drawing every single particle to the screen.
    How large are the files? What format? How many particles?
  • Thanks for your answer. I have about 100 000 particles (I think -- Cinema is non-responsive caching, and I don't want to kill it). I am using BGEO format, each frame cache file is 261 bytes (too small it seems?). I noticed that it starts pretty fast at frame 0 (compared to rendering), and then slowly gets slower. At about 250 frames (I have total 1632 frames) it crawls to a stall. I see that the c4d RAM footprint at that point is 5 GB (total RAM on this machine is 8 GB). The project I am basing this experiment on is here . (One has to add tp partio to it).



  • 261 bytes is _way_ to small to contain any particles at all, let alone 100k of them. something is definitely not going well here. i'm testing the scene just now and it works here, the cached files are 7mb at frame 10 already.

    so... i fear there's no point in letting your sim run. i would suggest testing it with a small sim first.

    also, i'll have the new version ready by next week, so maybe wait for that. sorry for the problems.