Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Fluid Physics

edited 1:46PM in Suggestions
There are a couple of free and paid particle-based fluid simulators in the Unity asset store. Fluids are highly customizable (viscosity, surface tension, "stickiness" etc.) and I imagine you might be able to do some nice effects like that. I just don't know how well it would work with non-static rigid bodies.

Comments

  • edited August 2015
    Yeah, better fluid physics would be nice. Something like this (https://www.patreon.com/posts/2439232) would be nearly perfect. Of course, there's the question of performance and availability. The penetration system is CPU heavy, as odes said somewhere (EDIT: here it is - http://forum.yiffalicious.com/index.php?p=/discussion/comment/152/#Comment_152) and this would make the whole thing quite a bit more demanding. Also, I don't know how they achieved the result, if they're willing to share and if they are - how much it would cost.
  • edited 1:46PM
    I would love something more than the current "sprite shooter". What's in right now is better than nothing but I would love to see even better.

    There can always be an option to toggle dynamic off completely or decrease the quality of the simulation. Maybe to help reduce cpu demand the simulation can be killed on any environmental plane it touches (or just particle age) and the system could just spawn decals on the floor like it does now?

    Possibilities! I am interested as to what the crew thinks about this.
  • odesodes Administrator
    edited 1:46PM

    As you say, the problem has to do with dynamic objects. Or in this case - dynamic objects with dynamic meshes too. That makes it even worse.

    @Fenrir,

    That's actually pretty much exactly what we're doing. It's just a particle system. The difference is that they've got collision on their character too, but it's far from perfect. The cum clips through in many areas, and often times just sticks in the air. This character is fairly static, but if it was deformed by bones in a pose, it would be far more apparent that this technique does not hold up. That's why we haven't implemented something like this yet, because it's not really feasible when using a dynamic character.

    Unfortunately, collision against a dynamic mesh is not something Unity is meant to handle. You can do it, but that costs CPU.
  • edited August 2015
    Concerning performance, you could always make the feature optional to be toggled on/off.

    That "cum test" doesn't impress me much tbh. It doesn't seem to have any "liquid" properties at all. Those are just particles with collision detection. An event callback is used for collision (particle/mesh) and then the particle is removed and a sprite that looks like a particle is made a child of the corresponding bone (where the particle hit) at the hit location.

    edit: ok, they are not sprites and I could be wrong, but the "fluid" aspect only seems to be the rendering/shader, nothing physical.

    What I was thinking about is more like this: https://www.assetstore.unity3d.com/en/#!/content/33429

    I don't know how fast this would run when using a dynamic un-simplified mesh (the one used for rendering) for the collision detection, but the particle behaviour looks pretty nice. It wouldn't just be spots statically sticking to a surface - that stuff would partly stick, partly run down, partly splash in all directions etc. If you made the character temporarily static, just for the duration of the event, it would almost certainly work and look very well. If the character moves too much, particle behaviour will probably look weird. But maybe there are ways to work around that.
  • edited August 2015
    Btw, are there any more 3d yiff games? They are really hard to find.

    [2 days ago, I didn't know there was even one. Now I know about two :) ]
  • edited 1:46PM
    @odes
    Oh, I can see all that now. Strange how I haven't noticed before you pointed it out. Thank you for that. I do think it's just because it's merely a test and far from complete. I believe it could be fixed. It would take quite a bit of work, though, and the result still wouldn't necessarily be worth it - especially if it's as CPU demanding as I think it is.

    @peter
    The Cathouse Tale - which is very likely the 2nd you know of. It has been inactive with it's releases for quite a while because they're working on a very sophisticated and dynamic system and they won't release it until it's complete.

    Then there's Naughty Tails (https://www.patreon.com/JanetMerai) but it's kinda crude. Also, the prototypes don't seem to work with a 32bit version of Windows and I can't be bothered with making a Patreon account merely to tell the author. They should be uncensored to everyone now but I can't confirm that for obvious reasons.
  • edited 1:46PM
    @peter
    There's also Naughty Shinobi. I can't believe I actually forgot about that one.

    And let's not forget Yiffalicious - so far the best one out of all of the ones I've mentioned here... but you already know that. ;)
  • odesodes Administrator
    edited August 2015
    @peter,
    I actually tried running their sample project (Fluvio). It does not seem to be very well optimized. Even when there's nothing going on in the scene (emission disabled), the fluid solver is still hogging frames like crazy. And when it does compute fluids, it's even worse (obviously). I honestly don't see how anyone could accept such poor performance for anything but a tech demo.

    We will probably revisit cum in the future, but for now there are a ton of things with higher priority.
  • edited August 2015
    If I'm right about the way the Cathouse Tale team is handling their effects, they will most likely have problems with moving characters, because of vertex weights. If a surface is moved by several bones, the sticky particles will shift and not stay on the skin cleanly. I guess one would have to scan for the closest vertex in the mesh and use the weighting in one way or another. Or maybe you could increase some vertex value (like vertex colors) within a set radius of the particle impact and use that value in a custom shader to have a purely vertex-based effect.
Sign In or Register to comment.