scrawk / position-based-dynamics Goto Github PK
View Code? Open in Web Editor NEWPosition based dynamics in Unity
License: Other
Position based dynamics in Unity
License: Other
It seems that the distance constraint function is different from the one from C++ version.
In your code:
double invMass = 1.0 / mass;
double sum = mass * 2.0;
corr = CompressionStiffness * n * (d - RestLength) * sum;
Body.Predicted[i0] += invMass * corr * di;
But in the C++ version:
Real wSum = invMass0 + invMass1;
corr = compressionStiffness * n * (d - restLength) / wSum;
corr0 = invMass0 * corr;
The results are different even though I assume mass0 equals to mass1.
Is it a bug or something else?
And I also wonder what's the theory of your bending constraint? The C++'s bending constraint is different too.
Finally, thanks for your contribution in PBD's unity version which helps me a lot!
double wsum = 0.0;
int numParticles = Body.NumParticles;
for (int i = 0; i < numParticles; i++)
{
RestCm += Body.Positions[i] * mass;
wsum += mass;
}
RestCm /= wsum;
Is the result of RestCm equal to the sum of body positions?
int numParticles = Body.NumParticles;
double wsum = mass * numParticles;
for (int i = 0; i < numParticles; i++)
{
RestCm += Body.Positions[i];
}
Do we have self collision for cloth included in this project? if so please do tell me which script is it in? thanks in advance.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.