Git Product home page Git Product logo

unity-verlet-simulator's Introduction

unity-verlet-simulator

GPU-based simple verlet integration simulator for Unity.

Tentacles

GPUChainDemo

GPUClothDemo

Usage (chain structure example)

[SerializeField] ComputeShader compute; // GPUVerletSimulator.compute
GPUVerletSimulator simulator;

void Start() {
    const float edgeLength = 0.5f;

    // define nodes and edges.
    var nodes = new GPUNode[nodesCount];
    for(int i = 0; i < nodesCount; i++)
    {
        var n = nodes[i];
        var p = new Vector3(Random.value - 0.5f, i * edgeLength, Random.value - 0.5f);
        n.position = n.prev = p;
        n.decay = 1f;
        nodes[i] = n;
    }

    var edgesCount = nodesCount - 1;
    var edges = new GPUEdge[edgesCount];
    for(int i = 0; i < edgesCount; i++)
    {
        var e = edges[i];
        e.a = i;
        e.b = i + 1;
        e.length = edgeLength;
        edges[i] = e;
    }

    // create simulator instance.
    simulator = new GPUVerletSimulator(nodes, edges);
}

void Update() {
    const int iterations = 8;

    // simulate
    simulator.Step(compute);
    for(int i = 0; i < iterations; i++)
    {
        simulator.Solve(compute);
    }
}

Sources

Compatibility

tested on Unity 2018.2.4f, windows10 (GTX 1060).

unity-verlet-simulator's People

Contributors

mattatz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.