Clipping: Crazy Polygon Shenanigans

Among many other things I’m a physics/collision system programmer for games. kathode’s answer is spot on.

I get really annoyed when poor collision is referred to as “clipping” though. :-).

In my experience the majority of the problems are caused by poor art. Which probably means inadequate tools supplied to the artists. You should see far less of these issues in future games, as developers learn their lessons about managing tools and collision assets.

So, is there a book on programmer-to-artist communication? :)
(Only half joking - I could use one myself!)

You sure about that? Seems to me as people demand more and more realistic systems (hair, cloth, etc) in their graphics, it’s going to get worse. Not much an artist can do alone to solve that. (Maybe pinning the flexible system along with telling the programmer to make it stiff enough so it barely moves…)

Here is what bugs me in the new DOA for the 360 everything looks great except the chicks hair. Some of it still falls through her body… I mean really now there is like nothing else in the game except the chars how hard could it be to at least get that right?

So what is clipping, then? I always thought that was the term for when a 3D object passed through another 3D object that it wasn’t supposed to, like someone’s hair going into their back instead of resting upon it, as in ranvarian’s example.

Hair is astonishingly hard. I’m trying to think of newish examples from animated movies… can’t come up with anything more recent examples than Toy Story and the Final Fantasy movie. Both were state of the art pre-rendered, and even with that advantage in both the hair was terrible.

Yeah I really have no doubt its hard but really its DOA and there is like nothing to that game. I dunno thats just how I feel.

The whole “looking at your character’s back most of the time” comment raises an interesting, probably unrelated question. All this time is spent making detailed character faces. Faces show the emotion of the character you are playing. Yet when you are playing a 3rd person game, 90% of the time you are walking around you are looking at your character’s back. You’d think that the artist’s time would go into creating a really detailed back.

Why do you think Tomb Raider was popular.

On another note it’s called clipping because drawing a pixel on screen was expensive, and when doing 3d you rendered from back to front. This meant that in order to save pixel drawing time, if something in front occluded something in back, the thing in back was “clipped” so that it didn’t draw pixels that were just going to be drawn over by the pixels of the thing in front.

I’ve had that problem with capes as well, but at least you can turn those off. Weapons bug me a lot more. Weapons are generally fine on Humanish-sized characters, but give a Gnome a sword and it will extend through the ground. Give a Tauren most two-handed weapons (aside from staves and polearms), and they will extend through their tails when sheathed. Some shoulderpads are also bulky enough that a weapon sheathed on the back can go through them.

It doesn’t affect gameplay, but it is one of those niggling things that gets annoying.

So what is clipping, then? I always thought that was the term for when a 3D object passed through another 3D object that it wasn’t supposed to, like someone’s hair going into their back instead of resting upon it, as in ranvarian’s example.[/quote]

Clipping is what you do to polygons etc to cut them to fit the screen, a volume etc.

Intersecting, interfering, overlapping, passing through each other, staying in collision is what objects do when you think of clipping.

And… I’m currently solving the hair, cloaks thing with a set of particles that check for collision against a limited set of precalced primitives each and do a simple constraint relaxation between the particles on each strand. It mostly works. Still not perfect though.

Doesn’t that tend to make things “bouncy”? (I would assume you necessarily have to overconstrain to begin with, otherwise you get the intersection problems back if you have lots of velocity.)

This is why I love Qt3. Some guy says “yeah, this clipping thing, this bothers me”. Another guy comes along and says “yeah, that is annoying, I’m fixing that there problem”.

Boo-ya!

Yeah, but DOA4 pretty much does what he’s describing, and yet people are bitching about it still because it’s not per-poly-perfect.

But whaddya expect from the internet?

Not only that, but it sounds like the same technique that Hitman has been using for years.

And in response to people saying that “hey, DOA4 only has the two characters onscreen, how hard can it be??/??.?”…just because a problem “sounds” simple doesn’t mean that it is. :?

Not only that, but it sounds like the same technique that Hitman has been using for years.

And in response to people saying that “hey, DOA4 only has the two characters onscreen, how hard can it be??/??.?”…just because a problem “sounds” simple doesn’t mean that it is. :?[/quote]

There’s a bit more onscreen in all the DOA4 screenshots I’ve seen than the two characters.

Yeah, the IO paper is a great intro to the loose constraint behaviour I’m using for my hair stuff. Simple and effective. Particle collision response with non-hair is not handled as in that paper though. Also, I have to do some additional damping for particles known to be in resting contact, that stops most of the unwanted fly-away behaviour, and extra bounciness.

It still doesn’t look good enough for me yet - but it’s games, so we’ll ship with the best we have at the time we need to ship. If I’m lucky I’ll have worked out some of the other problems before then.

The point is: this stuff is still at the research phase for almost everyone. It is hard to do right, much harder than drawing pretty pixels. And I’m pretty sure it won’t be appreciated enough to justify all the effort - but nerds like me will still try just because the problems are interesting.

Speaking of which, got a link (or at least a real cite) for “the IO paper” since this isn’t actually my field?

Also, I recall seeing about a year or so ago some nice research being showcased at siggraph dealing with controlling hair/styling by guide volumes/splines. Are you implementing something similar?

[quote=“mouselock”]

Speaking of which, got a link (or at least a real cite) for “the IO paper” since this isn’t actually my field?

Also, I recall seeing about a year or so ago some nice research being showcased at siggraph dealing with controlling hair/styling by guide volumes/splines. Are you implementing something similar?[/quote]

I think its on GamaSutra somewhere, google for IO interactive - also there is a nice paper by some guys at Rainbow Studios.

And yeah, I’m playing with that paper right now - maybe it’ll stop my hair from looking quite so weird.

So basically, Mr Lannister’s going to save us all! :D

Lots of interesting stuff, guys. I can almost feel your big giant brains pulsating from here. :)