Hacker News new | past | comments | ask | show | jobs | submit login
One of the most amazing physics engines I’ve ever seen (vimeo.com)
377 points by jmillerinc on July 20, 2010 | hide | past | favorite | 49 comments



Rather than sharing a blog post about a cool thing, why don't we share the cool thing directly?

The video is at http://vimeo.com/13457383 - you can get to this page by simply clicking the Vimeo logo on the embedded clip. From here, you can click on Thiago Costa's profile http://vimeo.com/thiagocosta/ and have a look at all of his 48 videos, and find a link to his website (which looks pretty interesting): http://thiagocosta.net/

The CrunchGear article doesn't really add anything, other than a layer of indirection.

Having said that, the video is awesome and thanks for sharing :)


OTOH, the submitter might not have found these cool videos without TechCrunch so some appreciation via sending them traffic seems reasonable.


Showing appreciation by putting them between us and the beef is a bit like tipping a waiter with the cash of the people that ate with you, without asking them.


I don't really know much about physics engines, so I count on others to point out when something new or unique happens in that area. Its hard to know who to trust on such subjects, so sites with decent reputations act as a filter.


I don't think I would've been as impressed or interested in the video without all the hype that crunchgear added.


If you like physics simulations, there were some very cool papers at this year's SIGGRAPH:

http://www.youtube.com/watch?v=KMsc48e41AQ (A Practical Simulation of Dispersed Bubble Flow)

http://www.youtube.com/watch?v=GyfB_vQHMAo (Physics-Inspired Topology Changes for Thin Fluid Features)

http://www.youtube.com/watch?v=7Who8EpbvCY (A Multiscale Approach to Mesh-based Surface Tension Flows)

http://www.youtube.com/watch?v=nHH8N_lNZzI (Rigid-Body Fracture Sound)

http://www.youtube.com/watch?v=gx80u6hJT6o (Efficient Yarn-based Cloth with Adaptive Contact Linearization)


I'm so happy that YouTube now has HD options so that researches don't feel the need to post 100 MB Quicktime videos of their presentations, hosted on sad servers that can't handle it.


Whats the deal with the rabbit that keeps popping up? Is it the physics simulation's Lena?


It's the Stanford Bunny.

http://www.cc.gatech.edu/~turk/bunny/bunny.html

It was preceded by the Utah Teapot. There's also the Cornell Box, for global illumination testing.

So, yeah, like Lena.


> It was preceded by the Utah Teapot

Teapotahedron, please. It's the sixth platonic solid.


I also vaguely remember one of the popular 3d software packages having a bald eagle as one of the primitives.


The Stanford 3D Scanning Repository: http://graphics.stanford.edu/data/3Dscanrep/

I've seen the bunny and the happy buddha the most often.


Were? SIGGRAPH hasn't even happened yet! :P



Interesting... but not all that amazing, really. There's a rather glaring error, repeated many times, which many engines suffer from. Twitchy, spontaneous motion:

1) at ~23 seconds, look at the top-1/3, left-1/4 location. Chunks of particles literally spontaneously accelerate towards each other. Towards the top-most corner of the top platform, there's even a little snake-like thing that starts inch-worming around for no apparent reason, and a blob that leaps into the air at far higher velocity than it is made of.

2) with the 8-second cloth clip, note the twitching as the cloths try to find a stable resting point. Remind you of stacked objects in the Source engine[1], perhaps? Jump on top of them and it's like walking on an earthquake.

3) note how long the left block at ~2:40 takes to settle (almost, it doesn't actually), and the weird thrown-on-top chunk that twitches up and down a couple times, and then gets a burst of energy right when it starts fading out, moving up, and faster than the pieces it's touching, and without any visible ripple which could account for it.

If it's done by one person (Thiago Costa?), yes, very impressive job, that's a lot of work. But overall... more of the same.

---

[1]: chosen only because it's a relatively modern engine, and one many are familiar with.


The article seems to have the wrong idea about what that engine is.

While impressive, it was developed using ICE - a rendering package addon for Softimage, and is probably not able to be calculated in anything remotely resembling real-time.

So no, you won't be able to tell what religion Kratos is unless it's during a cutscene.


Actually, it shows in the first video that you can interact with the materials in real time in the 3D graphics package, albeit with less accuracy. So it shows the use of the mouse to drag a data point and stretch a squishy, gummy object that breaks and snaps back. That was real time interaction. Of course it didn't have nearly as many data points as the high res renders at the start, but I was still very impressed by that real time use of the engine.

That means that if can surely be used for 3D games as well.


Definitely cool tech, but while some of the underlying techniques might translate into simulating videogame physics, it's highly unlikely anything from this package will.

It's a different problem domain. An effects system for movies will have tons of configurable knobs and parameters, allowing the artist to tweak it so it's exactly right for that shot. Some of these settings will produce interesting and gorgeous effects, but they're designed to allow maximum customizability. If the system has some artifacts in particular situations, they can easily be worked around by tuning some knobs, adjusting the camera angle, etc. Hell, you can even paint in 2d over the final output frame.

In a game, the effects have to look good from all angles and in all situations - many of which you don't know in advance. When I wrote a cloth simulation for a game, most of my time wasn't spend developing the core sim (which took all of an hour or two), but actually spent making sure the cloth behaved appropriately under all circumstances - even when the player would make sudden, exaggerated movements and animations (some of which weren't even physically possible).


Maybe, but I doubt it.

Those real-time versions for modelling packages tend to be really rough approximations using the same code, and not worth the time it would take to optimize for a real, resource-restricted environment like a gaming console.


For a standard modern game rough approximations of the quality shown in that video are more than adequate for something simple like a loincloth. It might not do for approximating an entire lake or body of water, but for simple things it would work just fine.

Even gaming consoles are limited by the number of polygons they can render, so the physics engine, if running in a game, wouldn't have to consider all the approximation points that were used to generate the high res renders at the start of the video for instance.


If this isn't real time, then this isn't that impressive. This type of fluid rendering has been possible for almost a decade:

http://graphics.stanford.edu/papers/water-sg02/

That said, if it is realtime, then yay.


No way this is real time, not even close. There's a frame rate counter visible in a couple of the videos (see http://vimeo.com/7455632, for example), and it's going at about 3-4 fps for the lowest detail models, which only have somewhere around 1000 points. The highest detail ones have millions, and probably took hours if not days to render.


Anyone out there from Pixar? How does this compare to what you guys have? I still gape at The Incredibles, especially the fine hair animation. But what I saw in the demo here of the cloth looks like something Pixar would want to have. Let me caution everyone, however, I haven't seen UP!, so perhaps Pixar has this or surprassed it.


Based off Pixar's recent movies, and a quick retrospective look at their older movies, I suspect they are sticking to their current level of realism as a matter of style, and only making slight subtle tweaks and improvements. If you compare their old movies to the newer ones, primarily you notice textures and objects are sharper, clearer and more detailed, movements of characters are more natural, and faces are more lifelike.


Might wanna check out Toy Story 3 while you're catching up. :)


Crysis 2 is getting close to Toy Story (original) graphics. 233 MB/frame real-time vs 500 MB/frame (rendered in days on render farm)


A some of the leaders in this area work at or with Pixar and ILM. e.g. Baraff and Witkin.


Does charcoal really act exactly like water?


That demo would have been cooler to see at a lower trajectory to see the shearing forces and bouncing irregular particles.


No, the particles are bigger. Duh.

To be fair it looked a little different than water.


Actually, I think real charcoal would have more dust sized particles.


As far as an SPH simulation goes it does. In real life, not really.


The friction seems a bit off, but it looks great.


Funny, this reminds me of all those old 2d mass-spring engines. I believe there was a cool one like asteroid where you could shear off one of your engines making your ship spin around. It was open source too. Can't remember the name.

EDIT: Ah, found it: http://www.alecrivers.com/physical/overview_physics.htm

There is even a older one that was an form-based application for windows where you could edit particles and connections. Pretty fun.


I was thinking the same thing regarding xspringies...

edit Your link reminds me of Phun http://www.phunland.com/wiki/Home


Definitely impressive. I can't imagine the framerates with this engine being practical though.


Pretty incredible! Now I'd love to see them take high quality video inside/outside a demolition of a building and compare that to the simulator. For video games and such though, this would be incredible already. Is this sort of engine used to design cars and such?


This stuff always has a warm and fuzzy feeling to it, but imagine the pain of implementing a full game with such physic effects, setting all the particles...


What do you mean by "setting all the particles"?


I'm guessing "describing the material and construction properties of every object such that it can be moved, collided, broken, and deformed convincingly." "Convincingly" typically isn't quite what you want either, you usually want "spectacular" which means hand tuning for all breaking/deforming events of interest. Movie effects, for example, start with pure simulation, but nearly always have lots of knobs for artists to play with to give the intended effect (e.g., the last page of this article http://www.wired.com/entertainment/hollywood/magazine/16-01/... ).


I'm sure APIs would be implemented which would provide games developers with programmatic 'knobs' for fine-tuning.


The problem is that the fine tuning only works for one particular situation. In a game, it has to work for every situation the user can create.


Then just don't bother with manual fine tuning. Level designers are using object libraries even now, where they just take a pre-made chair, instead of constructing them out of basic polygons every time.


Man, I am so proud to be a Montrealer right now. This is an amazing example of the Creativity + Talent + Technology = Innovation that exemplifies this city.

Vive le Montréal! Oh and kudos to Thiago Costa. This is just awesome!


Thiago costa is brazilian...


Living in ...


ouch, what's with all the hate for Montreal?


It's nothing personal, it's just that we don't want even ten other inhabitatants of Montreal commenting about that fact, just because the protagonist of a post lives there.

There are always many more people that can add relatively low quality comments to a discussion, for instance by solely making a joke or recounting some personal connection to the OP. The quality of the average comment on HN is high, partly because the low quality kinds of comments are discouraged, so they don't drown out the high quality comments.


On the negative side, the potential use of an engine as advanced as this in the world of 3D porn will almost certainly result in more furry sex.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: