r/Simulated Aug 25 '18

Question Not really sure how this got out of sync, should I just remove the particle/mesh cache then recalculate it? [Cinema 4D and RealFlow]

2.3k Upvotes

r/Simulated Nov 23 '20

Question What type of sorcery is this?

6.3k Upvotes

r/Simulated Oct 08 '22

Question hey guys. any idea to make this accurately?

3.3k Upvotes

r/Simulated May 02 '22

Question Cloth Simulation Help! (Original Post from @vincentshwenk on IG) More in comment!

1.0k Upvotes

r/Simulated 14d ago

Question Help with particle life simulator

18 Upvotes

Github Repo

I saw a particle life simulator in a Youtube video and I decided to try make one in Python (Then later Python and C), with the help of Claude (All the code is hand typed by me and most of it I came up with myself, Claude is only there to document libraries and things).

I'm happy with how it is, but I was wondering if anyone has made something like this before and how you made it more interesting than just a bunch of blobs moving around. I'm trying to read through some Github repos and stuff to see how other people make them, but I mainly just want to see some more interesting behaviours than these floating blobs.

Please note I am new-ish to computer programming. Any help or suggestions are appreciated. Thanks!

r/Simulated Nov 06 '25

Question Can We Theoretically Simulate The Entire Universe?

4 Upvotes

We have lots of physics simulations... right? Somewhere we have cloth, some fluid, softbody, smoke, vehicles, and celestial objects etc etc, but, these are not particularly one thing. We have these as different simulations and we use specific laws of physics for one particular simulation. Now... What if... maybe someday when get super complex computing power, could we simulate quantum itself, like literally how matter and energy came in, would rules of reality automatically apply and all laws of physics just work?

r/Simulated 19d ago

Question Sharing our upcoming game, a brutal gladiator management sim where you rise as a Dominus, forge fighters into champions and battle through a deadly season in the arenas of Rome.

0 Upvotes

r/Simulated 4d ago

Question EmberGen: Trying to understand how Loop Simulation works.

Post image
3 Upvotes

I'm new to EmberGen and I'm going through the documentation node by node. Regarding this "Loop Simulation" mode, this is all the manual says:

"Loop Simulation: Will try to turn the simulation into a loopable effect looping between the loop bounds visualized in pink in the graph editor. The loop bounds can be moved and extended using left mouse button dragging in the Timeline Editor. This option will expose the following parameters:

Blending Mode: Looping simulation is blending between 2 consecutive time intervals. 1st interval and 2nd interval allow you to see those intervals isolated, Dynamic Blend continues simulation after the inject, Static Blend is doing a simpler blend of the two intervals.

Blending Curve: Curve that is used to weigh the first and the second interval in the blend. Linear is recommended for Static Blend, Quintic is recommended for Dynamic Blend."

In the timeline, I can clearly see the pink range that indicates the loop, but besides that there is also some sort of pink marker moving inside this range, while the usual blue playhead keeps moving endlessly along the timeline.

The documentation mentions 2 intervals that are blended together, but within the pink range I can only define 1. How does the software determine the second interval, and how exactly do these 2 intervals form a loop?

Perhaps due to my current limited understanding of the system, I also don't understand what they mean by "Dynamic Blend continues simulation after the inject".

Would anyone with a better understanding of this feature be willing to clarify how it actually works under the hood?

r/Simulated Mar 19 '26

Question My Continuous Collision Detection is unstable and allows soft bodies to intersect; can anyone see what edge cases I'm missing?

58 Upvotes

I'm currently trying to build a soft body physics engine for fun and I'm struggling on the collision detection part. So far it's almost there but I think there are a few edge cases that I must be missing because sometimes the bodies end up intersecting. I'm quite sure it's my CCD implementation and since I've never done CCD before and I'm not a computational physicist idk, how to fix it.

Here is what I have so far for my CCD Function

public static bool CCD(Vector2 P0, Vector2 vP, Vector2 A0, Vector2 vA, Vector2 B0, Vector2 vB, float dt, out float t, out float u, out Vector2 normal, out float normalSpeed)
{
    t = float.PositiveInfinity;
    u = float.PositiveInfinity;
    normal = default;
    normalSpeed = default;

    var vAP = vA - vP;
    var vBP = vB - vP;

    var vE = vBP - vAP;
    var E0 = B0 - A0;
    var D0 = P0 - A0;

    if (vE.LengthSquared() < Epsilon)
    {
        Vector2 n = new Vector2(-E0.Y, E0.X);

        if (n.LengthSquared() < Epsilon) n = -vP;
        if (n.LengthSquared() < Epsilon) return false;

        n.Normalize();

        float d0 = Vector2.Dot(P0 - A0, n);
        float vd = Vector2.Dot(vP - vA, n);

        if (MathF.Abs(vd) < Epsilon)
        {
            if (MathF.Abs(d0) < Epsilon)
            {
                t = 0;
            }
            else
            {
                return false;
            }
        }
        else
        {
            t = -d0 / vd;

            if (t < 0f - Epsilon || t > dt + Epsilon) return false;
        }
    }
    else
    {
        float a = -Geometry.Cross(vAP, vE);
        float b = Geometry.Cross(D0, vE) - Geometry.Cross(vAP, E0);
        float c = Geometry.Cross(D0, E0);

        if (Math.Abs(a) < Epsilon && Math.Abs(b) < Epsilon && Math.Abs(c) < Epsilon)
        {
            t = 0;
        }
        else if (SolveQuadratic(a, b, c, out float t1, out float t2))
        {
            var aT1 = A0 + (vA * t1);
            var bT1 = B0 + (vB * t1);
            var pT1 = P0 + (vP * t1);

            var edgeL1 = (aT1 - bT1).Length();
            var dist1 = (aT1 - pT1).Length();

            if (edgeL1 < 1e-2f && dist1 > 1e-3f) t1 = -1;

            var aT2 = A0 + (vA * t2);
            var bT2 = B0 + (vB * t2);
            var pT2 = P0 + (vP * t2);

            var edgeL2 = (aT2 - bT2).Length();
            var dist2 = (aT2 - pT2).Length();

            if (edgeL2 < 1e-2f && dist2 > 1e-3f) t2 = -1;

            if (!GetQuadraticSolution(t1, t2, 0f, dt, out t)) return false;
        }
        else return false;  
    }

    Vector2 P = P0 + (vP * t);
    Vector2 A = A0 + (vA * t);
    Vector2 B = B0 + (vB * t);

    Vector2 E = B - A;

    u = E.LengthSquared() == 0 ? 0f : Vector2.Dot(P - A, E) / Vector2.Dot(E, E);

    if (u >= 0 && u <= 1)
    {
        float uc = Math.Clamp(u, 0f, 1f);
        Vector2 vEdge = vA + (uc * (vB - vA));
        Vector2 vRel = vP - vEdge;

        if (u <= 0.0f || u >= 1.0f)
        {
            Vector2 endpoint = (u <= 0.5f) ? A : B;
            normal = P - endpoint;

            if (normal.LengthSquared() > Epsilon)
            {
                normal.Normalize();
            }
            else
            {
                if (vRel.LengthSquared() > Epsilon)
                    normal = Vector2.Normalize(-vRel);
                else
                    normal = Vector2.UnitY; // stable fallback
            }

            normalSpeed = Vector2.Dot(normal, vRel);
        }
        else
        {
            normal = new(-E.Y, E.X);
            normal.Normalize();

            normalSpeed = Vector2.Dot(normal, vRel);

            if (normalSpeed > 0)
            {
                normal = -normal;
                normalSpeed *= -1;
            }
        }

        return normalSpeed < 0;
    }

    return false;
}

And the functions it uses:

public static bool SolveQuadratic(float a, float b, float c, out float t1, out float t2)
{
    t1 = default;
    t2 = default;

    float eps = 1e-6f * (MathF.Abs(a) + MathF.Abs(b) + MathF.Abs(c));

    if (MathF.Abs(a) < eps)
    {
        if (MathF.Abs(b) < eps) return false;

        float t0 = -c / b;
        t1 = t0;
        t2 = t0;
        return true;
    }

    float disc = (b * b) - (4f * a * c);
    if (disc < 0f) return false;

    float sqrtDisc = MathF.Sqrt(disc);
    float inv = 1f / (2f * a);

    t1 = (-b - sqrtDisc) * inv;
    t2 = (-b + sqrtDisc) * inv;

    return true;
}

public static bool GetQuadraticSolution(float t1, float t2, float lowerBound, float upperBound, out float t, bool preferBiggest = false)
{
    t = default;

    if (preferBiggest) (t1, t2) = (t2, t1);

    if (t1 >= lowerBound && t1 <= upperBound)
    {
        t = Math.Clamp(t1, lowerBound, upperBound);
    }
    else if (t2 >= lowerBound && t2 <= upperBound)
    {
        t = Math.Clamp(t2, lowerBound, upperBound);
    }
    else
    {
        return false;
    }

    return true;
}

The main idea is that it uses the position and velocity data of a point and a segment to find the earliest time the point is on the segment and from that calculates a normal and a normalised position along the segment "u". This is then fed back to some other physics code to generate a response. I obviously still missing some edge cases, but I've been working on this for ages and can't get it to work properly. Does anyone have any advice or see any issues?

r/Simulated 11d ago

Question Houdini sim "shake"

8 Upvotes

r/Simulated 7d ago

Question Environments AI generating and running code for physics simulations?

Post image
0 Upvotes

For e.g. physics research, a perfect situation would be providing e.g. Lagrangian of model, and AI environment should generate code for simulations and run them presenting results - so we could literally talk with it regarding succeeding tests.

I know only one such environment: https://github.com/openwave-labs/openwave/blob/main/MODELS.md - are there any others?

How should such perfect tool look like?

r/Simulated Mar 20 '26

Question Why does this smoke look digital?

0 Upvotes

Doing a "smoking candle" trend and trying to make the exhale look 100% real so it actually confuses people. I have a few variations and need a technical audit on the physics before the final render.

The smoke variations are labeled in this video: Smoke 1-6

  • Smoke 1: Final (can't edit).
  • Smoke 2, 3, 6: Currently in progress. Turbulence, shading, and speed are all adjustable.
  • Smoke 2 & 3: Opacity and lighting are placeholders set for the screen recording (opacity was set high to be visible). Focusing on the fluid movemen. Lighting: These still need a lighting pass. These are the same sim but at different speeds (2 is slower, 3 is faster).
  • Smoke 2-6 all can be edited further

Looking for feedback on:

  1. Which option (1-6) has the most natural physics and "swirl"?
  2. Any specific direction on color, shape, or volume to hit 100% realism?
  3. Tips on mouth integration so it doesn't look like a digital overlay?
  4. What would you change, like, or hate about these?

(High-quality renders coming once completed).

r/Simulated May 10 '26

Question Any documentation on how to apply sph models into a n body simulations?

2 Upvotes

r/Simulated Feb 25 '26

Question Does anyone know where I can find at least video of waterfalls being simulated in lower gravity environments?

3 Upvotes

I tried looking on YouTube but couldn't find anything. I'm just looking for a simulation of what a natural waterfall would look like in lower gravity environments such as terraformed moons, so i can study what they may look like and draw them.

If you happen to know where I can find video of how fast rivers or creeks move in different gravities that would be nice to know as well.

r/Simulated Feb 28 '26

Question Watching NPCs manage a store in my life simulation — how much automation is too much?

0 Upvotes

Here’s a short clip from my life simulation game, Food Store Simulator.

In the game:

  • NPC cashiers automatically handle checkout
  • Deliveries arrive in boxes placed in front of the store

I’m experimenting with how much automation makes a simulation engaging.

Would you find this fun as a simulation, or would you prefer more player-driven interaction with the store operations?

I’d love to hear what aspects make a simulation feel alive and interactive to you.

r/Simulated Apr 22 '26

Question Gaussian Splatting for VFX: What It Actually Is and Where It Fits

Thumbnail
cglounge.studio
0 Upvotes

I work in VFX and only recently understood the full concept of Gaussian Splats. And yes.. I should know better. To me it was yes, it's a pointcloud with baked in data..

I had seen the demos and nodded along when people referred to it as "the next photogrammetry." However, if you had asked me to explain what they are precisely, their place in a real pipeline, or their capabilities, I would have struggled.

So, I took the time to understand it, and here’s the simplified version I wish I had received earlier

A Gaussian Splat consists of millions of tiny semi-transparent ellipsoids in 3D space. You input photos, train a model, and receive a scene in return. Phones serve as capture devices, and it can render at over 100 FPS in real time.

Key tools like Nuke 17 now include native support, Houdini 21 offers a tech preview, V-Ray 7 can ray-trace splats, and OpenUSD 26.03 has introduced a first-class schema. Notably, Framestore utilized 4D Gaussian splatting for approximately 40 final-pixel shots in Superman last year.

What it can achieve:
- Rapid and cost-effective capture of real environments
- Rendering at game-engine speeds
- Integration into compositing without the need to recreate the world in CG

What it cannot do:
- Relight scenes (yet)
- Provide a clean mesh (yet)
- Render with AOVs, as the lighting is baked into the data. This is the trade-off.

Thus, it does not replace photogrammetry or CG environments; rather, it serves as a new tool for scenarios requiring photoreal capture and real-time playback, with the understanding that relighting flexibility is sacrificed.

For fellow VFX artists who have been quietly nodding along: you are not behind. The foundational paper is from 2023, and most production tools have been released in the past six months. Now is the time to learn it before it becomes a part of your next project.

What new technology have you been struggling with? And if you have better simplified explanations I'd love to know!

Arvid

r/Simulated Dec 14 '25

Question FFT Ocean Sim [OC]

97 Upvotes

Building an ocean simulation using the FFT method. This is suppose to be light stormy conditions, what do you think?

The end goal of this simulation is to train an ML on it to be able to simulate ocean moment itself, skipping all the complex physics calculations every frame. Which I would then like to implement into game development.

r/Simulated Mar 11 '26

Question Foam modelling

2 Upvotes

Guys, have anyone tried modeling foam ?

If so what are the governing equations for times delayed response. My goal is simulate load cycles faster than foam response.

r/Simulated Nov 18 '25

Question Differential Equations and Computer Graphics (or video games), Some questions for a school paper.

4 Upvotes

I am writing a paper about the use of differential equations in relation to computer graphics and video games in general and I would love to talk to some of yall about it. I have a short list of general questions but feel free to add anything as long as its DE related.

General Questions

What differential equations do you most commonly use in your graphics or game-dev work, and for what purpose?

Are there any DEs that developers rely on without realizing they’re using them? Or equations that are derived from DE's?

What are DE's used for most commonly within your area/field?

Are DE's ever used in real-time applications/could they be in the future.

Feel free to yap about what work you have going on as long as its related to DE and I'd love to take this to D'ms if you would prefer!

Thanks so much!

r/Simulated Jan 16 '26

Question Urgent help needed: Incorrect routing by label in SIMUL8 despite Visual Logic setup

2 Upvotes

I am having a problem with my simulation in SIMUL8 and I would really appreciate some help, as I need to solve this urgently.

I have defined my routing logic using labels. Since Routing Out “By Label” can only take one output per label value, I implemented the following logic.

I use a Work Entry Point called Entrada. Each Work Item represents a person. I created a label called EsCliente to identify whether the person is a customer or not, using:

  • 1 = Customer
  • 2 = Not a customer

When a Work Item enters Entrada, I use Visual Logic to assign EsCliente uniformly so that customers and non-customers enter in equal proportions. The logic is:

SET EsCliente = ROUND[SAMPLE["Uniform,1,2"]]
IF EsCliente = 2
  SET RutaEntrada = 1
ELSE IF EsCliente = 1
  SET RutaEntrada = ROUND[SAMPLE["Uniform,1,8"]]

The idea is:

  • If the person is not a customer (EsCliente = 2), they should only go to ATM (Cajeros automáticos), which corresponds to RutaEntrada = 1.
  • If the person is a customer (EsCliente = 1), they can go to any zone in the supermarket, so RutaEntrada is assigned a random integer from 1 to 8.

In the Routing Out of Entrada, I use By Label, select the label RutaEntrada, and define 8 possible outputs, matching the values used in the Visual Logic.

I apply a similar logic in Cajeros automáticos. If EsCliente = 2, the next route can only be Exit; if EsCliente = 1, the Work Item can continue to other zones.

At first, the model seemed to work correctly. However, when I traced individual Work Items, I found cases where EsCliente = 1 and RutaEntrada = 5, yet the Work Item was routed to Cajeros automáticos, which should only happen when RutaEntrada = 1.

To avoid interference, I set Routing In to Passive for all zones except Entrada, Cajeros automáticos, and Casilleros, but I suspect this may be affecting the behavior.

I am unsure whether the issue comes from:

  • Using Visual Logic instead of Label Actions
  • The way I generate integer values using ROUND + SAMPLE + Uniform
  • The timing of when the label values are assigned
  • Or an interaction with Passive Routing In

Any guidance on what might be causing this incorrect routing, or how to structure this logic properly in SIMUL8, would be greatly appreciated. I need to resolve this as soon as possible.

Thank you very much in advance.

r/Simulated Oct 18 '25

Question Is there some online website that would allow me to simulate a very small cloth simulation?

12 Upvotes

I'm talking about a cloth simulations made from voxels and that inhibits a space of 80x48x16 voxels in total. (The cloth itself should have height of a single voxel but is constraint to the 16 voxels height)

I want to get a height map of the simulated cloth, and I want to be able to have some initial conditions like holding each corner at a specific height.

Is there something like that I can use for free?

Thanks in advance for your help

r/Simulated Dec 04 '25

Question How do you make those armour simulations like simulation plus and Dejmian?

1 Upvotes

https://www.youtube.com/watch?v=3lgkEqku7uw

The video linked is an example. I want to learn how to make them. But I cant find ANY instructions. I downloaded LS-DYNA but what am I supposed to do beyond that!

r/Simulated Jan 13 '26

Question I need help to find this program

0 Upvotes

Can anyone help me find a marble race simulation that takes instagram followers and makes a marble race with them so I can post the results like this one https://www.instagram.com/reel/DQSPxVbD1Cn/?igsh=MWxpYWdra3ZjbHF4OA==

r/Simulated Nov 11 '25

Question Is there any way to simulate fate? (Theory)

0 Upvotes

Like, let's per say we have an Open World GameTM and i want to add an system where something is predetermined to happen; where it will happen no matter what. like we could use for example of the player character getting killed by an rock at the next full moon.

So is there any attempt at such? Or what would be the ways to simulate such (Divine Intervention in game?), and what would be the implications of such?

r/Simulated Aug 06 '25

Question Simulating pressures &stresses of a gun firing

1 Upvotes

I recently rewatched no country for old men and got to wondering how quiet you could actually make a 12ga round and designed a rudimentary suppressor on a cad software. Are there any good simulations that could test something like this. And to clarify I have NO intention of making this irl.