Thread: [Algorithms] Bounding Volume from Intersecting Planes
Brought to you by:
vexxed72
From: John P. <jp...@br...> - 2004-08-27 17:15:24
|
Is there an easy way to get the bounding volume (sphere say) of the intersection of multiple planes? I want to do a volume intersection test where the caller specifies a series of planes which intersect to form some convex volume. Right now, I have the caller pass in a bounding sphere, but I'd like to be able to calculate it from the planes. Anyone have any good ideas? |
From: Megan F. <sha...@gm...> - 2004-08-27 18:31:31
|
It's a simplist method, but - find the intersection points of the planes (if line segments, store the end-points), determine the center point of this point soup via an average, find the point the farthest from this center point, and the distance to that point is the radius of your bounding sphere. -Megan Fox On Fri, 27 Aug 2004 13:32:08 -0400, John Paquin <jp...@br...> wrote: > Is there an easy way to get the bounding volume (sphere say) of the > intersection of multiple planes? > > I want to do a volume intersection test where the caller specifies a > series of planes which intersect to form some convex volume. Right now, > I have the caller pass in a bounding sphere, but I'd like to be able to > calculate it from the planes. Anyone have any good ideas? > > ------------------------------------------------------- > This SF.Net email is sponsored by BEA Weblogic Workshop > FREE Java Enterprise J2EE developer tools! > Get your free copy of BEA WebLogic Workshop 8.1 today. > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > _______________________________________________ > GDAlgorithms-list mailing list > GDA...@li... > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=6188 > |
From: Jonathan B. <jo...@nu...> - 2004-08-27 19:46:32
|
If you want a more approximate method that requires less bookkeeping, here's a suggestion (that I haven't actually tried but would be interested in if I needed to solve this problem). You use the spatial inverse with respect to a point that's not on any of the planes, to turn all of the planes into spheres. (See e.g. http://www.geom.uiuc.edu/education/math5337/linkage/part2.html). All of those spheres will mutually intersect, and you just want a bounding sphere around that region of mutual intersection. Once you have that sphere, you invert it back, and you get a sphere in your original space. If you were to try to solve the problem exactly, you'd have about the same amount of headache. But with the sphere version you can be approximate -- every pair of spheres intersects in some region, and it's easy to compute a sphere that contains that region. Copy the first input sphere; that's your "working sphere". As you look at each new input, the intersection of that input with the current working sphere gives you some funny shape, which you can enclose with a new sphere that is generally smaller. Keep shrinking the sphere thus until you have seen all the inputs. Oh, there's one catch I guess: some of the spheres are going to be inside out, so instead of taking the intersection, you carve a chunk off instead. This gives you three combinations, inside-inside, inside-outside, and outside-inside. Of course you don't really compute the carved off chunks, you just approximate them with a sphere. And for outside-outside you could just invert again with respect to a new point to get an inside-inside case, shrink the sphere, and invert back. The question then is whether this sphere shrinks enough to give you a good answer. Not having tried it, I don't know. But I always wanted to come up with a good use for inversion, heh heh. -Jonathan. Megan Fox wrote: >It's a simplist method, but - find the intersection points of the >planes (if line segments, store the end-points), determine the center >point of this point soup via an average, find the point the farthest >from this center point, and the distance to that point is the radius >of your bounding sphere. > >-Megan Fox > >On Fri, 27 Aug 2004 13:32:08 -0400, John Paquin ><jp...@br...> wrote: > > >>Is there an easy way to get the bounding volume (sphere say) of the >>intersection of multiple planes? >> >>I want to do a volume intersection test where the caller specifies a >>series of planes which intersect to form some convex volume. Right now, >>I have the caller pass in a bounding sphere, but I'd like to be able to >>calculate it from the planes. Anyone have any good ideas? >> >>------------------------------------------------------- >>This SF.Net email is sponsored by BEA Weblogic Workshop >>FREE Java Enterprise J2EE developer tools! >>Get your free copy of BEA WebLogic Workshop 8.1 today. >>http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click >>_______________________________________________ >>GDAlgorithms-list mailing list >>GDA...@li... >>https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list >>Archives: >>http://sourceforge.net/mailarchive/forum.php?forum_id=6188 >> >> >> > > >------------------------------------------------------- >This SF.Net email is sponsored by BEA Weblogic Workshop >FREE Java Enterprise J2EE developer tools! >Get your free copy of BEA WebLogic Workshop 8.1 today. >http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click >_______________________________________________ >GDAlgorithms-list mailing list >GDA...@li... >https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list >Archives: >http://sourceforge.net/mailarchive/forum.php?forum_id=6188 > > > |
From: <rob...@pl...> - 2004-08-27 20:19:29
|
Jonathan Blow wrote: > > All of those spheres will mutually intersect, and you just want a > bounding sphere around that region of mutual intersection. Once you > have that sphere, you invert it back, and you get a sphere in your > original space. > Maybe you mean invert the planes into spheres, fit a *plane* to their MEET points and invert that plane back into a sphere? Go go gadget Geometric Algebra! Of course you'd have to do it in 5D space... - Robin Green. |
From: Jonathan B. <jo...@nu...> - 2004-08-27 20:57:41
|
Actually that sounds a little bit less hacky than what I was suggesting. So yeah, do that one. rob...@pl... wrote: > > Jonathan Blow wrote: > > > > All of those spheres will mutually intersect, and you just want a > > bounding sphere around that region of mutual intersection. Once you > > have that sphere, you invert it back, and you get a sphere in your > > original space. > > > > Maybe you mean invert the planes into spheres, fit a *plane* to their > MEET points and invert that plane back into a sphere? > > Go go gadget Geometric Algebra! Of course you'd have to do it in 5D > space... > > - Robin Green. > > > ------------------------------------------------------- > This SF.Net email is sponsored by BEA Weblogic Workshop > FREE Java Enterprise J2EE developer tools! > Get your free copy of BEA WebLogic Workshop 8.1 today. > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > _______________________________________________ > GDAlgorithms-list mailing list > GDA...@li... > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=6188 > |
From: Larbi M. <lmo...@ho...> - 2004-08-28 02:03:43
|
Hi everybody I'm not sure if this subject has been covered recently, so here I am. I'm looking possible solutions for cape animation (cloths in general) for our game. I need this for the player and for the NPCs, so I could be looking for two different solutions. Basically, here are my options: - 100% animated: where animators manually animate ( or using any cloth simulator in Maya ) the cape for every single animation in the game. This will work perfectly for all the deterministic animations, like attacks and get hits. but won't work for things like locomotions, as the character turns around, or take off or stop or land, or with directional jumps. - 80% animated + 20% procedural: where the animators still manually animate the cape for all the animations, in addition, adjust the orientation of the cape at runtime to match the inverse of the momentum of the joint that it's attached to. The problem with this approach is it's too tied to the animation, i.e. if you just move or turn a bit, the character should stop before the cape, and the cape should still juggle around for a little bit more before it comes to a complete stop. - 100% procedural: animators won't have to deal with the cape, but at the same time they won't have much control of the whole system. I could use a linear chain of connected pendulums, which is pretty fast and will work for ponytails, and most linear kind of capes. but this method is not sufficient with larger capes, and I'm worried that using a 2d grid of connected springs or any similar techniques wouldn't fit my CPU budget. So here are my questions: - can other people share their experience with procedural cloths? - I'm looking for different implementation techniques. Thank you Cheers |
From: Tom F. <tom...@ee...> - 2004-08-28 05:19:36
|
For Blade 2, we did his long leather trench-coat entirely procedurally. = It did take quite some time to get it looking good (lots of tweaking = values), but when it was done, it was utterly brilliant. IIRC, the biggest problem was getting the coat to look "heavy" enough without exploding the simulation. We ended up having the simulation run = at something like 150Hz (while the rest of the game just ran at 30Hz) to = get it looking "heavy" enough. If you don't mind your capes being fairly light = and flowing and breezy, you should be able to reduce the simulation rate = quite a lot. Which is good, because I seem to remember we had to turn the coat = off for the PS2 version because of excessive CPU load! By the way - if you restrict topologies to things made out of regular = square grids, life becomes a lot simpler. You can have split points in the grid = - there was a split half-way down the middle of the coat - but assuming = that the two axes of the square grid are always at right-angles to each other does make life a lot simpler. We didn't have self-collision testing, the coat just collided against a couple of ellipsoids that were bolted to the leg bones (and positioned = by hand). It didn't seem to matter much - you really don't notice self-intersection that much. (sorry about the haziness - this was about two years ago) TomF. > -----Original Message----- > From: gda...@li...=20 > [mailto:gda...@li...] On=20 > Behalf Of Larbi Mouedden > Sent: 27 August 2004 16:52 > To: gda...@li... > Subject: [Algorithms] Procedural Cape Animation >=20 >=20 > Hi everybody >=20 > I'm not sure if this subject has been covered recently, so here I am. >=20 > I'm looking possible solutions for cape animation (cloths in=20 > general) for > our game. I need this for the player and for the NPCs, so I=20 > could be looking > for two different solutions. Basically, here are my options: >=20 >=20 >=20 > - 100% animated: where animators manually animate ( or using any cloth > simulator in Maya ) the cape for every single animation in=20 > the game. This > will work perfectly for all the deterministic animations,=20 > like attacks and > get hits. but won't work for things like locomotions, as the=20 > character turns > around, or take off or stop or land, or with directional jumps. >=20 >=20 >=20 > - 80% animated + 20% procedural: where the animators still=20 > manually animate > the cape for all the animations, in addition, adjust the=20 > orientation of the > cape at runtime to match the inverse of the momentum of the=20 > joint that it's > attached to. The problem with this approach is it's too tied to the > animation, i.e. if you just move or turn a bit, the character=20 > should stop > before the cape, and the cape should still juggle around for=20 > a little bit > more before it comes to a complete stop. >=20 >=20 >=20 > - 100% procedural: animators won't have to deal with the=20 > cape, but at the > same time they won't have much control of the whole system. I=20 > could use a > linear chain of connected pendulums, which is pretty fast and=20 > will work for > ponytails, and most linear kind of capes. but this method is=20 > not sufficient > with larger capes, and I'm worried that using a 2d grid of=20 > connected springs > or any similar techniques wouldn't fit my CPU budget. >=20 >=20 >=20 > So here are my questions: >=20 > - can other people share their experience with procedural cloths? >=20 > - I'm looking for different implementation techniques. >=20 >=20 >=20 > Thank you >=20 > Cheers >=20 >=20 >=20 >=20 > ------------------------------------------------------- > This SF.Net email is sponsored by BEA Weblogic Workshop > FREE Java Enterprise J2EE developer tools! > Get your free copy of BEA WebLogic Workshop 8.1 today. > http://ads.osdn.com/?ad_id=3D5047&alloc_id=3D10808&op=3Dclick > _______________________________________________ > GDAlgorithms-list mailing list > GDA...@li... > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=3D6188 >=20 |
From: Mark W. <mwa...@to...> - 2004-08-28 12:12:22
|
We did something similar for a demo we made about 3 years ago, we had the cape attached at a few points (across the back and a couple of points around the arms / armpits) which made it look much more like a coat. We collided the cloth against spheres on the character and a ground plane at the players feet, as he could crouch and the cape would crumple on the ground. This looks very cool with projected shadows too. Best results were achieved by traversing the vertices from top (attached part) to bottom (detached part) when applying the constraints. Also, like the Muckyfoot boys, we didn't bother with self collision (we implemented it, but it didn't look that much better and was much slower so we took it out). HTH, Mark ----- Original Message ----- From: "Tom Forsyth" <tom...@ee...> To: <gda...@li...> Sent: Saturday, August 28, 2004 3:19 PM Subject: RE: [Algorithms] Procedural Cape Animation For Blade 2, we did his long leather trench-coat entirely procedurally. It did take quite some time to get it looking good (lots of tweaking values), but when it was done, it was utterly brilliant. IIRC, the biggest problem was getting the coat to look "heavy" enough without exploding the simulation. We ended up having the simulation run at something like 150Hz (while the rest of the game just ran at 30Hz) to get it looking "heavy" enough. If you don't mind your capes being fairly light and flowing and breezy, you should be able to reduce the simulation rate quite a lot. Which is good, because I seem to remember we had to turn the coat off for the PS2 version because of excessive CPU load! By the way - if you restrict topologies to things made out of regular square grids, life becomes a lot simpler. You can have split points in the grid - there was a split half-way down the middle of the coat - but assuming that the two axes of the square grid are always at right-angles to each other does make life a lot simpler. We didn't have self-collision testing, the coat just collided against a couple of ellipsoids that were bolted to the leg bones (and positioned by hand). It didn't seem to matter much - you really don't notice self-intersection that much. (sorry about the haziness - this was about two years ago) TomF. > -----Original Message----- > From: gda...@li... > [mailto:gda...@li...] On > Behalf Of Larbi Mouedden > Sent: 27 August 2004 16:52 > To: gda...@li... > Subject: [Algorithms] Procedural Cape Animation > > > Hi everybody > > I'm not sure if this subject has been covered recently, so here I am. > > I'm looking possible solutions for cape animation (cloths in > general) for > our game. I need this for the player and for the NPCs, so I > could be looking > for two different solutions. Basically, here are my options: > > > > - 100% animated: where animators manually animate ( or using any cloth > simulator in Maya ) the cape for every single animation in > the game. This > will work perfectly for all the deterministic animations, > like attacks and > get hits. but won't work for things like locomotions, as the > character turns > around, or take off or stop or land, or with directional jumps. > > > > - 80% animated + 20% procedural: where the animators still > manually animate > the cape for all the animations, in addition, adjust the > orientation of the > cape at runtime to match the inverse of the momentum of the > joint that it's > attached to. The problem with this approach is it's too tied to the > animation, i.e. if you just move or turn a bit, the character > should stop > before the cape, and the cape should still juggle around for > a little bit > more before it comes to a complete stop. > > > > - 100% procedural: animators won't have to deal with the > cape, but at the > same time they won't have much control of the whole system. I > could use a > linear chain of connected pendulums, which is pretty fast and > will work for > ponytails, and most linear kind of capes. but this method is > not sufficient > with larger capes, and I'm worried that using a 2d grid of > connected springs > or any similar techniques wouldn't fit my CPU budget. > > > > So here are my questions: > > - can other people share their experience with procedural cloths? > > - I'm looking for different implementation techniques. > > > > Thank you > > Cheers > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by BEA Weblogic Workshop > FREE Java Enterprise J2EE developer tools! > Get your free copy of BEA WebLogic Workshop 8.1 today. > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > _______________________________________________ > GDAlgorithms-list mailing list > GDA...@li... > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=6188 > ------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_idP47&alloc_id808&op=ick _______________________________________________ GDAlgorithms-list mailing list GDA...@li... https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list Archives: http://sourceforge.net/mailarchive/forum.php?forum_ida88 |
From: Wong K. Y. <kon...@ph...> - 2004-09-03 03:20:17
|
Hi, Just wondering how do you guys handle collision with the character ? I have try to do collision between the cloth vertices with obb attached to the characters bones. The problem is that the obb box also moved and rotate thus when the character moved or animate too fast it is possible that the cloth vertex is nearer on the opposite side of the box thus causing the vertex to be push out in the wrong direction. My main problem is that the main character in our game is a ninja gaiden type of character so he moved very fast not forgeting the somesault too! ----- Original Message ----- From: "Mark Wayland" <mwa...@to...> To: <gda...@li...> Sent: Saturday, August 28, 2004 8:09 PM Subject: Re: [Algorithms] Procedural Cape Animation > We did something similar for a demo we made about 3 years ago, > we had the cape attached at a few points (across the back and > a couple of points around the arms / armpits) which made it > look much more like a coat. We collided the cloth against > spheres on the character and a ground plane at the players > feet, as he could crouch and the cape would crumple on the > ground. This looks very cool with projected shadows too. > Best results were achieved by traversing the vertices from > top (attached part) to bottom (detached part) when applying > the constraints. Also, like the Muckyfoot boys, we didn't > bother with self collision (we implemented it, but it didn't > look that much better and was much slower so we took it out). > > HTH, > Mark > > ----- Original Message ----- > From: "Tom Forsyth" <tom...@ee...> > To: <gda...@li...> > Sent: Saturday, August 28, 2004 3:19 PM > Subject: RE: [Algorithms] Procedural Cape Animation > > > For Blade 2, we did his long leather trench-coat entirely procedurally. It > did take quite some time to get it looking good (lots of tweaking values), > but when it was done, it was utterly brilliant. > > IIRC, the biggest problem was getting the coat to look "heavy" enough > without exploding the simulation. We ended up having the simulation run at > something like 150Hz (while the rest of the game just ran at 30Hz) to get it > looking "heavy" enough. If you don't mind your capes being fairly light and > flowing and breezy, you should be able to reduce the simulation rate quite a > lot. Which is good, because I seem to remember we had to turn the coat off > for the PS2 version because of excessive CPU load! > > By the way - if you restrict topologies to things made out of regular square > grids, life becomes a lot simpler. You can have split points in the grid - > there was a split half-way down the middle of the coat - but assuming that > the two axes of the square grid are always at right-angles to each other > does make life a lot simpler. > > We didn't have self-collision testing, the coat just collided against a > couple of ellipsoids that were bolted to the leg bones (and positioned by > hand). It didn't seem to matter much - you really don't notice > self-intersection that much. > > (sorry about the haziness - this was about two years ago) > > TomF. > > > > -----Original Message----- > > From: gda...@li... > > [mailto:gda...@li...] On > > Behalf Of Larbi Mouedden > > Sent: 27 August 2004 16:52 > > To: gda...@li... > > Subject: [Algorithms] Procedural Cape Animation > > > > > > Hi everybody > > > > I'm not sure if this subject has been covered recently, so here I am. > > > > I'm looking possible solutions for cape animation (cloths in > > general) for > > our game. I need this for the player and for the NPCs, so I > > could be looking > > for two different solutions. Basically, here are my options: > > > > > > > > - 100% animated: where animators manually animate ( or using any cloth > > simulator in Maya ) the cape for every single animation in > > the game. This > > will work perfectly for all the deterministic animations, > > like attacks and > > get hits. but won't work for things like locomotions, as the > > character turns > > around, or take off or stop or land, or with directional jumps. > > > > > > > > - 80% animated + 20% procedural: where the animators still > > manually animate > > the cape for all the animations, in addition, adjust the > > orientation of the > > cape at runtime to match the inverse of the momentum of the > > joint that it's > > attached to. The problem with this approach is it's too tied to the > > animation, i.e. if you just move or turn a bit, the character > > should stop > > before the cape, and the cape should still juggle around for > > a little bit > > more before it comes to a complete stop. > > > > > > > > - 100% procedural: animators won't have to deal with the > > cape, but at the > > same time they won't have much control of the whole system. I > > could use a > > linear chain of connected pendulums, which is pretty fast and > > will work for > > ponytails, and most linear kind of capes. but this method is > > not sufficient > > with larger capes, and I'm worried that using a 2d grid of > > connected springs > > or any similar techniques wouldn't fit my CPU budget. > > > > > > > > So here are my questions: > > > > - can other people share their experience with procedural cloths? > > > > - I'm looking for different implementation techniques. > > > > > > > > Thank you > > > > Cheers > > > > > > > > > > ------------------------------------------------------- > > This SF.Net email is sponsored by BEA Weblogic Workshop > > FREE Java Enterprise J2EE developer tools! > > Get your free copy of BEA WebLogic Workshop 8.1 today. > > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > > _______________________________________________ > > GDAlgorithms-list mailing list > > GDA...@li... > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > Archives: > > http://sourceforge.net/mailarchive/forum.php?forum_id=6188 > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by BEA Weblogic Workshop > FREE Java Enterprise J2EE developer tools! > Get your free copy of BEA WebLogic Workshop 8.1 today. > http://ads.osdn.com/?ad_idP47&alloc_id808&op=ick > _______________________________________________ > GDAlgorithms-list mailing list > GDA...@li... > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_ida88 > > > > ------------------------------------------------------- > This SF.Net email is sponsored by BEA Weblogic Workshop > FREE Java Enterprise J2EE developer tools! > Get your free copy of BEA WebLogic Workshop 8.1 today. > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > _______________________________________________ > GDAlgorithms-list mailing list > GDA...@li... > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=6188 > |
From: Mark W. <mwa...@to...> - 2004-09-03 04:45:36
|
We used spheres, and I think (3 years ago now!) we swept the cloth particles against the collision spheres which equates to a ray vs sphere test which is pretty easy to do fast. HTH, Mark ----- Original Message ----- From: "Wong Kong Yew" <kon...@ph...> To: <gda...@li...> Sent: Friday, September 03, 2004 1:29 PM Subject: Re: [Algorithms] Procedural Cape Animation > Hi, > > Just wondering how do you guys handle collision with the character ? I have > try to do collision between the cloth vertices with obb attached to the > characters bones. The problem is that the obb box also moved and rotate thus > when the character moved or animate too fast it is possible that the cloth > vertex is nearer on the opposite side of the box thus causing the vertex to > be push out in the wrong direction. My main problem is that the main > character in our game is a ninja gaiden type of character so he moved very > fast not forgeting the somesault too! > > > ----- Original Message ----- > From: "Mark Wayland" <mwa...@to...> > To: <gda...@li...> > Sent: Saturday, August 28, 2004 8:09 PM > Subject: Re: [Algorithms] Procedural Cape Animation > > > > We did something similar for a demo we made about 3 years ago, > > we had the cape attached at a few points (across the back and > > a couple of points around the arms / armpits) which made it > > look much more like a coat. We collided the cloth against > > spheres on the character and a ground plane at the players > > feet, as he could crouch and the cape would crumple on the > > ground. This looks very cool with projected shadows too. > > Best results were achieved by traversing the vertices from > > top (attached part) to bottom (detached part) when applying > > the constraints. Also, like the Muckyfoot boys, we didn't > > bother with self collision (we implemented it, but it didn't > > look that much better and was much slower so we took it out). > > > > HTH, > > Mark > > > > ----- Original Message ----- > > From: "Tom Forsyth" <tom...@ee...> > > To: <gda...@li...> > > Sent: Saturday, August 28, 2004 3:19 PM > > Subject: RE: [Algorithms] Procedural Cape Animation > > > > > > For Blade 2, we did his long leather trench-coat entirely procedurally. It > > did take quite some time to get it looking good (lots of tweaking values), > > but when it was done, it was utterly brilliant. > > > > IIRC, the biggest problem was getting the coat to look "heavy" enough > > without exploding the simulation. We ended up having the simulation run at > > something like 150Hz (while the rest of the game just ran at 30Hz) to get > it > > looking "heavy" enough. If you don't mind your capes being fairly light > and > > flowing and breezy, you should be able to reduce the simulation rate quite > a > > lot. Which is good, because I seem to remember we had to turn the coat off > > for the PS2 version because of excessive CPU load! > > > > By the way - if you restrict topologies to things made out of regular > square > > grids, life becomes a lot simpler. You can have split points in the grid - > > there was a split half-way down the middle of the coat - but assuming that > > the two axes of the square grid are always at right-angles to each other > > does make life a lot simpler. > > > > We didn't have self-collision testing, the coat just collided against a > > couple of ellipsoids that were bolted to the leg bones (and positioned by > > hand). It didn't seem to matter much - you really don't notice > > self-intersection that much. > > > > (sorry about the haziness - this was about two years ago) > > > > TomF. > > > > > > > -----Original Message----- > > > From: gda...@li... > > > [mailto:gda...@li...] On > > > Behalf Of Larbi Mouedden > > > Sent: 27 August 2004 16:52 > > > To: gda...@li... > > > Subject: [Algorithms] Procedural Cape Animation > > > > > > > > > Hi everybody > > > > > > I'm not sure if this subject has been covered recently, so here I am. > > > > > > I'm looking possible solutions for cape animation (cloths in > > > general) for > > > our game. I need this for the player and for the NPCs, so I > > > could be looking > > > for two different solutions. Basically, here are my options: > > > > > > > > > > > > - 100% animated: where animators manually animate ( or using any cloth > > > simulator in Maya ) the cape for every single animation in > > > the game. This > > > will work perfectly for all the deterministic animations, > > > like attacks and > > > get hits. but won't work for things like locomotions, as the > > > character turns > > > around, or take off or stop or land, or with directional jumps. > > > > > > > > > > > > - 80% animated + 20% procedural: where the animators still > > > manually animate > > > the cape for all the animations, in addition, adjust the > > > orientation of the > > > cape at runtime to match the inverse of the momentum of the > > > joint that it's > > > attached to. The problem with this approach is it's too tied to the > > > animation, i.e. if you just move or turn a bit, the character > > > should stop > > > before the cape, and the cape should still juggle around for > > > a little bit > > > more before it comes to a complete stop. > > > > > > > > > > > > - 100% procedural: animators won't have to deal with the > > > cape, but at the > > > same time they won't have much control of the whole system. I > > > could use a > > > linear chain of connected pendulums, which is pretty fast and > > > will work for > > > ponytails, and most linear kind of capes. but this method is > > > not sufficient > > > with larger capes, and I'm worried that using a 2d grid of > > > connected springs > > > or any similar techniques wouldn't fit my CPU budget. > > > > > > > > > > > > So here are my questions: > > > > > > - can other people share their experience with procedural cloths? > > > > > > - I'm looking for different implementation techniques. > > > > > > > > > > > > Thank you > > > > > > Cheers > > > > > > > > > > > > > > > ------------------------------------------------------- > > > This SF.Net email is sponsored by BEA Weblogic Workshop > > > FREE Java Enterprise J2EE developer tools! > > > Get your free copy of BEA WebLogic Workshop 8.1 today. > > > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > > > _______________________________________________ > > > GDAlgorithms-list mailing list > > > GDA...@li... > > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > > Archives: > > > http://sourceforge.net/mailarchive/forum.php?forum_id=6188 > > > > > > > > > > > ------------------------------------------------------- > > This SF.Net email is sponsored by BEA Weblogic Workshop > > FREE Java Enterprise J2EE developer tools! > > Get your free copy of BEA WebLogic Workshop 8.1 today. > > http://ads.osdn.com/?ad_idP47&alloc_id808&op=ick > > _______________________________________________ > > GDAlgorithms-list mailing list > > GDA...@li... > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > Archives: > > http://sourceforge.net/mailarchive/forum.php?forum_ida88 > > > > > > > > ------------------------------------------------------- > > This SF.Net email is sponsored by BEA Weblogic Workshop > > FREE Java Enterprise J2EE developer tools! > > Get your free copy of BEA WebLogic Workshop 8.1 today. > > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > > _______________________________________________ > > GDAlgorithms-list mailing list > > GDA...@li... > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > Archives: > > http://sourceforge.net/mailarchive/forum.php?forum_id=6188 > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by BEA Weblogic Workshop > FREE Java Enterprise J2EE developer tools! > Get your free copy of BEA WebLogic Workshop 8.1 today. > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > _______________________________________________ > GDAlgorithms-list mailing list > GDA...@li... > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=6188 |
From: Tom F. <tom...@ee...> - 2004-09-03 05:11:48
|
We used ellipsoids - they represent legs much better :-) But it's the = same principle. TomF. > -----Original Message----- > From: gda...@li...=20 > [mailto:gda...@li...] On=20 > Behalf Of Mark Wayland > Sent: 02 September 2004 21:39 > To: gda...@li... > Subject: Re: [Algorithms] Procedural Cape Animation >=20 >=20 > We used spheres, and I think (3 years ago now!) we swept the=20 > cloth particles > against the collision spheres which equates to a ray vs=20 > sphere test which is > pretty easy to do fast. >=20 > HTH, > Mark >=20 > ----- Original Message -----=20 > From: "Wong Kong Yew" <kon...@ph...> > To: <gda...@li...> > Sent: Friday, September 03, 2004 1:29 PM > Subject: Re: [Algorithms] Procedural Cape Animation >=20 >=20 > > Hi, > > > > Just wondering how do you guys handle collision with the=20 > character ? I > have > > try to do collision between the cloth vertices with obb=20 > attached to the > > characters bones. The problem is that the obb box also=20 > moved and rotate > thus > > when the character moved or animate too fast it is possible=20 > that the cloth > > vertex is nearer on the opposite side of the box thus=20 > causing the vertex > to > > be push out in the wrong direction. My main problem is that the main > > character in our game is a ninja gaiden type of character=20 > so he moved very > > fast not forgeting the somesault too! > > > > > > ----- Original Message ----- > > From: "Mark Wayland" <mwa...@to...> > > To: <gda...@li...> > > Sent: Saturday, August 28, 2004 8:09 PM > > Subject: Re: [Algorithms] Procedural Cape Animation > > > > > > > We did something similar for a demo we made about 3 years ago, > > > we had the cape attached at a few points (across the back and > > > a couple of points around the arms / armpits) which made it > > > look much more like a coat. We collided the cloth against > > > spheres on the character and a ground plane at the players > > > feet, as he could crouch and the cape would crumple on the > > > ground. This looks very cool with projected shadows too. > > > Best results were achieved by traversing the vertices from > > > top (attached part) to bottom (detached part) when applying > > > the constraints. Also, like the Muckyfoot boys, we didn't > > > bother with self collision (we implemented it, but it didn't > > > look that much better and was much slower so we took it out). > > > > > > HTH, > > > Mark > > > > > > ----- Original Message ----- > > > From: "Tom Forsyth" <tom...@ee...> > > > To: <gda...@li...> > > > Sent: Saturday, August 28, 2004 3:19 PM > > > Subject: RE: [Algorithms] Procedural Cape Animation > > > > > > > > > For Blade 2, we did his long leather trench-coat entirely=20 > procedurally. > It > > > did take quite some time to get it looking good (lots of tweaking > values), > > > but when it was done, it was utterly brilliant. > > > > > > IIRC, the biggest problem was getting the coat to look=20 > "heavy" enough > > > without exploding the simulation. We ended up having the=20 > simulation run > at > > > something like 150Hz (while the rest of the game just ran=20 > at 30Hz) to > get > > it > > > looking "heavy" enough. If you don't mind your capes=20 > being fairly light > > and > > > flowing and breezy, you should be able to reduce the=20 > simulation rate > quite > > a > > > lot. Which is good, because I seem to remember we had to=20 > turn the coat > off > > > for the PS2 version because of excessive CPU load! > > > > > > By the way - if you restrict topologies to things made=20 > out of regular > > square > > > grids, life becomes a lot simpler. You can have split=20 > points in the > grid - > > > there was a split half-way down the middle of the coat -=20 > but assuming > that > > > the two axes of the square grid are always at=20 > right-angles to each other > > > does make life a lot simpler. > > > > > > We didn't have self-collision testing, the coat just=20 > collided against a > > > couple of ellipsoids that were bolted to the leg bones=20 > (and positioned > by > > > hand). It didn't seem to matter much - you really don't notice > > > self-intersection that much. > > > > > > (sorry about the haziness - this was about two years ago) > > > > > > TomF. > > > > > > > > > > -----Original Message----- > > > > From: gda...@li... > > > > [mailto:gda...@li...] On > > > > Behalf Of Larbi Mouedden > > > > Sent: 27 August 2004 16:52 > > > > To: gda...@li... > > > > Subject: [Algorithms] Procedural Cape Animation > > > > > > > > > > > > Hi everybody > > > > > > > > I'm not sure if this subject has been covered recently,=20 > so here I am. > > > > > > > > I'm looking possible solutions for cape animation (cloths in > > > > general) for > > > > our game. I need this for the player and for the NPCs, so I > > > > could be looking > > > > for two different solutions. Basically, here are my options: > > > > > > > > > > > > > > > > - 100% animated: where animators manually animate ( or=20 > using any cloth > > > > simulator in Maya ) the cape for every single animation in > > > > the game. This > > > > will work perfectly for all the deterministic animations, > > > > like attacks and > > > > get hits. but won't work for things like locomotions, as the > > > > character turns > > > > around, or take off or stop or land, or with directional jumps. > > > > > > > > > > > > > > > > - 80% animated + 20% procedural: where the animators still > > > > manually animate > > > > the cape for all the animations, in addition, adjust the > > > > orientation of the > > > > cape at runtime to match the inverse of the momentum of the > > > > joint that it's > > > > attached to. The problem with this approach is it's too=20 > tied to the > > > > animation, i.e. if you just move or turn a bit, the character > > > > should stop > > > > before the cape, and the cape should still juggle around for > > > > a little bit > > > > more before it comes to a complete stop. > > > > > > > > > > > > > > > > - 100% procedural: animators won't have to deal with the > > > > cape, but at the > > > > same time they won't have much control of the whole system. I > > > > could use a > > > > linear chain of connected pendulums, which is pretty fast and > > > > will work for > > > > ponytails, and most linear kind of capes. but this method is > > > > not sufficient > > > > with larger capes, and I'm worried that using a 2d grid of > > > > connected springs > > > > or any similar techniques wouldn't fit my CPU budget. > > > > > > > > > > > > > > > > So here are my questions: > > > > > > > > - can other people share their experience with=20 > procedural cloths? > > > > > > > > - I'm looking for different implementation techniques. > > > > > > > > > > > > > > > > Thank you > > > > > > > > Cheers > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------- > > > > This SF.Net email is sponsored by BEA Weblogic Workshop > > > > FREE Java Enterprise J2EE developer tools! > > > > Get your free copy of BEA WebLogic Workshop 8.1 today. > > > > http://ads.osdn.com/?ad_id=3D5047&alloc_id=3D10808&op=3Dclick > > > > _______________________________________________ > > > > GDAlgorithms-list mailing list > > > > GDA...@li... > > > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > > > Archives: > > > > http://sourceforge.net/mailarchive/forum.php?forum_id=3D6188 > > > > > > > > > > > > > > > > ------------------------------------------------------- > > > This SF.Net email is sponsored by BEA Weblogic Workshop > > > FREE Java Enterprise J2EE developer tools! > > > Get your free copy of BEA WebLogic Workshop 8.1 today. > > > http://ads.osdn.com/?ad_idP47&alloc_id=10808&op=3Dick > > > _______________________________________________ > > > GDAlgorithms-list mailing list > > > GDA...@li... > > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > > Archives: > > > http://sourceforge.net/mailarchive/forum.php?forum_ida88 > > > > > > > > > > > > ------------------------------------------------------- > > > This SF.Net email is sponsored by BEA Weblogic Workshop > > > FREE Java Enterprise J2EE developer tools! > > > Get your free copy of BEA WebLogic Workshop 8.1 today. > > > http://ads.osdn.com/?ad_id=3D5047&alloc_id=3D10808&op=3Dclick > > > _______________________________________________ > > > GDAlgorithms-list mailing list > > > GDA...@li... > > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > > Archives: > > > http://sourceforge.net/mailarchive/forum.php?forum_id=3D6188 > > > > > > > > > > > ------------------------------------------------------- > > This SF.Net email is sponsored by BEA Weblogic Workshop > > FREE Java Enterprise J2EE developer tools! > > Get your free copy of BEA WebLogic Workshop 8.1 today. > > http://ads.osdn.com/?ad_id=3D5047&alloc_id=3D10808&op=3Dclick > > _______________________________________________ > > GDAlgorithms-list mailing list > > GDA...@li... > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > Archives: > > http://sourceforge.net/mailarchive/forum.php?forum_id=3D6188 >=20 >=20 >=20 > ------------------------------------------------------- > This SF.Net email is sponsored by BEA Weblogic Workshop > FREE Java Enterprise J2EE developer tools! > Get your free copy of BEA WebLogic Workshop 8.1 today. > http://ads.osdn.com/?ad_id=3D5047&alloc_id=3D10808&op=3Dclick > _______________________________________________ > GDAlgorithms-list mailing list > GDA...@li... > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=3D6188 >=20 |
From: Wong K. Y. <kon...@ph...> - 2004-09-03 06:32:19
|
but the problem is that not only the cloth vertices are moving but the box or sphere it is colliding with also move and rotates since it is attached to the bones. The problem it is that the character just animate way too fast because of the kicking, the somesault and the jumping. I was actually impressed with Dead or Alive because they does not seem to have that problem though the cloth on the character seem a bit stiff. ----- Original Message ----- From: "Tom Forsyth" <tom...@ee...> To: <gda...@li...> Sent: Friday, September 03, 2004 1:11 PM Subject: RE: [Algorithms] Procedural Cape Animation We used ellipsoids - they represent legs much better :-) But it's the same principle. TomF. > -----Original Message----- > From: gda...@li... > [mailto:gda...@li...] On > Behalf Of Mark Wayland > Sent: 02 September 2004 21:39 > To: gda...@li... > Subject: Re: [Algorithms] Procedural Cape Animation > > > We used spheres, and I think (3 years ago now!) we swept the > cloth particles > against the collision spheres which equates to a ray vs > sphere test which is > pretty easy to do fast. > > HTH, > Mark > > ----- Original Message ----- > From: "Wong Kong Yew" <kon...@ph...> > To: <gda...@li...> > Sent: Friday, September 03, 2004 1:29 PM > Subject: Re: [Algorithms] Procedural Cape Animation > > > > Hi, > > > > Just wondering how do you guys handle collision with the > character ? I > have > > try to do collision between the cloth vertices with obb > attached to the > > characters bones. The problem is that the obb box also > moved and rotate > thus > > when the character moved or animate too fast it is possible > that the cloth > > vertex is nearer on the opposite side of the box thus > causing the vertex > to > > be push out in the wrong direction. My main problem is that the main > > character in our game is a ninja gaiden type of character > so he moved very > > fast not forgeting the somesault too! > > > > > > ----- Original Message ----- > > From: "Mark Wayland" <mwa...@to...> > > To: <gda...@li...> > > Sent: Saturday, August 28, 2004 8:09 PM > > Subject: Re: [Algorithms] Procedural Cape Animation > > > > > > > We did something similar for a demo we made about 3 years ago, > > > we had the cape attached at a few points (across the back and > > > a couple of points around the arms / armpits) which made it > > > look much more like a coat. We collided the cloth against > > > spheres on the character and a ground plane at the players > > > feet, as he could crouch and the cape would crumple on the > > > ground. This looks very cool with projected shadows too. > > > Best results were achieved by traversing the vertices from > > > top (attached part) to bottom (detached part) when applying > > > the constraints. Also, like the Muckyfoot boys, we didn't > > > bother with self collision (we implemented it, but it didn't > > > look that much better and was much slower so we took it out). > > > > > > HTH, > > > Mark > > > > > > ----- Original Message ----- > > > From: "Tom Forsyth" <tom...@ee...> > > > To: <gda...@li...> > > > Sent: Saturday, August 28, 2004 3:19 PM > > > Subject: RE: [Algorithms] Procedural Cape Animation > > > > > > > > > For Blade 2, we did his long leather trench-coat entirely > procedurally. > It > > > did take quite some time to get it looking good (lots of tweaking > values), > > > but when it was done, it was utterly brilliant. > > > > > > IIRC, the biggest problem was getting the coat to look > "heavy" enough > > > without exploding the simulation. We ended up having the > simulation run > at > > > something like 150Hz (while the rest of the game just ran > at 30Hz) to > get > > it > > > looking "heavy" enough. If you don't mind your capes > being fairly light > > and > > > flowing and breezy, you should be able to reduce the > simulation rate > quite > > a > > > lot. Which is good, because I seem to remember we had to > turn the coat > off > > > for the PS2 version because of excessive CPU load! > > > > > > By the way - if you restrict topologies to things made > out of regular > > square > > > grids, life becomes a lot simpler. You can have split > points in the > grid - > > > there was a split half-way down the middle of the coat - > but assuming > that > > > the two axes of the square grid are always at > right-angles to each other > > > does make life a lot simpler. > > > > > > We didn't have self-collision testing, the coat just > collided against a > > > couple of ellipsoids that were bolted to the leg bones > (and positioned > by > > > hand). It didn't seem to matter much - you really don't notice > > > self-intersection that much. > > > > > > (sorry about the haziness - this was about two years ago) > > > > > > TomF. > > > > > > > > > > -----Original Message----- > > > > From: gda...@li... > > > > [mailto:gda...@li...] On > > > > Behalf Of Larbi Mouedden > > > > Sent: 27 August 2004 16:52 > > > > To: gda...@li... > > > > Subject: [Algorithms] Procedural Cape Animation > > > > > > > > > > > > Hi everybody > > > > > > > > I'm not sure if this subject has been covered recently, > so here I am. > > > > > > > > I'm looking possible solutions for cape animation (cloths in > > > > general) for > > > > our game. I need this for the player and for the NPCs, so I > > > > could be looking > > > > for two different solutions. Basically, here are my options: > > > > > > > > > > > > > > > > - 100% animated: where animators manually animate ( or > using any cloth > > > > simulator in Maya ) the cape for every single animation in > > > > the game. This > > > > will work perfectly for all the deterministic animations, > > > > like attacks and > > > > get hits. but won't work for things like locomotions, as the > > > > character turns > > > > around, or take off or stop or land, or with directional jumps. > > > > > > > > > > > > > > > > - 80% animated + 20% procedural: where the animators still > > > > manually animate > > > > the cape for all the animations, in addition, adjust the > > > > orientation of the > > > > cape at runtime to match the inverse of the momentum of the > > > > joint that it's > > > > attached to. The problem with this approach is it's too > tied to the > > > > animation, i.e. if you just move or turn a bit, the character > > > > should stop > > > > before the cape, and the cape should still juggle around for > > > > a little bit > > > > more before it comes to a complete stop. > > > > > > > > > > > > > > > > - 100% procedural: animators won't have to deal with the > > > > cape, but at the > > > > same time they won't have much control of the whole system. I > > > > could use a > > > > linear chain of connected pendulums, which is pretty fast and > > > > will work for > > > > ponytails, and most linear kind of capes. but this method is > > > > not sufficient > > > > with larger capes, and I'm worried that using a 2d grid of > > > > connected springs > > > > or any similar techniques wouldn't fit my CPU budget. > > > > > > > > > > > > > > > > So here are my questions: > > > > > > > > - can other people share their experience with > procedural cloths? > > > > > > > > - I'm looking for different implementation techniques. > > > > > > > > > > > > > > > > Thank you > > > > > > > > Cheers > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------- > > > > This SF.Net email is sponsored by BEA Weblogic Workshop > > > > FREE Java Enterprise J2EE developer tools! > > > > Get your free copy of BEA WebLogic Workshop 8.1 today. > > > > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > > > > _______________________________________________ > > > > GDAlgorithms-list mailing list > > > > GDA...@li... > > > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > > > Archives: > > > > http://sourceforge.net/mailarchive/forum.php?forum_id=6188 > > > > > > > > > > > > > > > > ------------------------------------------------------- > > > This SF.Net email is sponsored by BEA Weblogic Workshop > > > FREE Java Enterprise J2EE developer tools! > > > Get your free copy of BEA WebLogic Workshop 8.1 today. > > > http://ads.osdn.com/?ad_idP47&alloc_id808&op=ick > > > _______________________________________________ > > > GDAlgorithms-list mailing list > > > GDA...@li... > > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > > Archives: > > > http://sourceforge.net/mailarchive/forum.php?forum_ida88 > > > > > > > > > > > > ------------------------------------------------------- > > > This SF.Net email is sponsored by BEA Weblogic Workshop > > > FREE Java Enterprise J2EE developer tools! > > > Get your free copy of BEA WebLogic Workshop 8.1 today. > > > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > > > _______________________________________________ > > > GDAlgorithms-list mailing list > > > GDA...@li... > > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > > Archives: > > > http://sourceforge.net/mailarchive/forum.php?forum_id=6188 > > > > > > > > > > > ------------------------------------------------------- > > This SF.Net email is sponsored by BEA Weblogic Workshop > > FREE Java Enterprise J2EE developer tools! > > Get your free copy of BEA WebLogic Workshop 8.1 today. > > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > > _______________________________________________ > > GDAlgorithms-list mailing list > > GDA...@li... > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > Archives: > > http://sourceforge.net/mailarchive/forum.php?forum_id=6188 > > > > ------------------------------------------------------- > This SF.Net email is sponsored by BEA Weblogic Workshop > FREE Java Enterprise J2EE developer tools! > Get your free copy of BEA WebLogic Workshop 8.1 today. > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > _______________________________________________ > GDAlgorithms-list mailing list > GDA...@li... > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=6188 > ------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_idP47&alloc_id808&op=ick _______________________________________________ GDAlgorithms-list mailing list GDA...@li... https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list Archives: http://sourceforge.net/mailarchive/forum.php?forum_ida88 |
From: Mark W. <mwa...@to...> - 2004-09-04 02:42:37
|
That's why we used spheres and not oriented boxes nor ellipsoids - they simply move with the bone and don't rotate. You can easily work out the vertex movement (raycast) wrt the moving sphere by simple sphere relative math (treat the sphere as stationary). Works well enough and there is never any penetration. Mark ----- Original Message ----- From: "Wong Kong Yew" <kon...@ph...> To: <gda...@li...> Sent: Friday, September 03, 2004 4:41 PM Subject: Re: [Algorithms] Procedural Cape Animation > but the problem is that not only the cloth vertices are moving but the box > or sphere it is colliding with also move and rotates since it is attached to > the bones. The problem it is that the character just animate way too fast > because of the kicking, the somesault and the jumping. I was actually > impressed with Dead or Alive because they does not seem to have that problem > though the cloth on the character seem a bit stiff. > > ----- Original Message ----- > From: "Tom Forsyth" <tom...@ee...> > To: <gda...@li...> > Sent: Friday, September 03, 2004 1:11 PM > Subject: RE: [Algorithms] Procedural Cape Animation > > > We used ellipsoids - they represent legs much better :-) But it's the same > principle. > > TomF. > > > -----Original Message----- > > From: gda...@li... > > [mailto:gda...@li...] On > > Behalf Of Mark Wayland > > Sent: 02 September 2004 21:39 > > To: gda...@li... > > Subject: Re: [Algorithms] Procedural Cape Animation > > > > > > We used spheres, and I think (3 years ago now!) we swept the > > cloth particles > > against the collision spheres which equates to a ray vs > > sphere test which is > > pretty easy to do fast. > > > > HTH, > > Mark > > > > ----- Original Message ----- > > From: "Wong Kong Yew" <kon...@ph...> > > To: <gda...@li...> > > Sent: Friday, September 03, 2004 1:29 PM > > Subject: Re: [Algorithms] Procedural Cape Animation > > > > > > > Hi, > > > > > > Just wondering how do you guys handle collision with the > > character ? I > > have > > > try to do collision between the cloth vertices with obb > > attached to the > > > characters bones. The problem is that the obb box also > > moved and rotate > > thus > > > when the character moved or animate too fast it is possible > > that the cloth > > > vertex is nearer on the opposite side of the box thus > > causing the vertex > > to > > > be push out in the wrong direction. My main problem is that the main > > > character in our game is a ninja gaiden type of character > > so he moved very > > > fast not forgeting the somesault too! > > > > > > > > > ----- Original Message ----- > > > From: "Mark Wayland" <mwa...@to...> > > > To: <gda...@li...> > > > Sent: Saturday, August 28, 2004 8:09 PM > > > Subject: Re: [Algorithms] Procedural Cape Animation > > > > > > > > > > We did something similar for a demo we made about 3 years ago, > > > > we had the cape attached at a few points (across the back and > > > > a couple of points around the arms / armpits) which made it > > > > look much more like a coat. We collided the cloth against > > > > spheres on the character and a ground plane at the players > > > > feet, as he could crouch and the cape would crumple on the > > > > ground. This looks very cool with projected shadows too. > > > > Best results were achieved by traversing the vertices from > > > > top (attached part) to bottom (detached part) when applying > > > > the constraints. Also, like the Muckyfoot boys, we didn't > > > > bother with self collision (we implemented it, but it didn't > > > > look that much better and was much slower so we took it out). > > > > > > > > HTH, > > > > Mark > > > > > > > > ----- Original Message ----- > > > > From: "Tom Forsyth" <tom...@ee...> > > > > To: <gda...@li...> > > > > Sent: Saturday, August 28, 2004 3:19 PM > > > > Subject: RE: [Algorithms] Procedural Cape Animation > > > > > > > > > > > > For Blade 2, we did his long leather trench-coat entirely > > procedurally. > > It > > > > did take quite some time to get it looking good (lots of tweaking > > values), > > > > but when it was done, it was utterly brilliant. > > > > > > > > IIRC, the biggest problem was getting the coat to look > > "heavy" enough > > > > without exploding the simulation. We ended up having the > > simulation run > > at > > > > something like 150Hz (while the rest of the game just ran > > at 30Hz) to > > get > > > it > > > > looking "heavy" enough. If you don't mind your capes > > being fairly light > > > and > > > > flowing and breezy, you should be able to reduce the > > simulation rate > > quite > > > a > > > > lot. Which is good, because I seem to remember we had to > > turn the coat > > off > > > > for the PS2 version because of excessive CPU load! > > > > > > > > By the way - if you restrict topologies to things made > > out of regular > > > square > > > > grids, life becomes a lot simpler. You can have split > > points in the > > grid - > > > > there was a split half-way down the middle of the coat - > > but assuming > > that > > > > the two axes of the square grid are always at > > right-angles to each other > > > > does make life a lot simpler. > > > > > > > > We didn't have self-collision testing, the coat just > > collided against a > > > > couple of ellipsoids that were bolted to the leg bones > > (and positioned > > by > > > > hand). It didn't seem to matter much - you really don't notice > > > > self-intersection that much. > > > > > > > > (sorry about the haziness - this was about two years ago) > > > > > > > > TomF. > > > > > > > > > > > > > -----Original Message----- > > > > > From: gda...@li... > > > > > [mailto:gda...@li...] On > > > > > Behalf Of Larbi Mouedden > > > > > Sent: 27 August 2004 16:52 > > > > > To: gda...@li... > > > > > Subject: [Algorithms] Procedural Cape Animation > > > > > > > > > > > > > > > Hi everybody > > > > > > > > > > I'm not sure if this subject has been covered recently, > > so here I am. > > > > > > > > > > I'm looking possible solutions for cape animation (cloths in > > > > > general) for > > > > > our game. I need this for the player and for the NPCs, so I > > > > > could be looking > > > > > for two different solutions. Basically, here are my options: > > > > > > > > > > > > > > > > > > > > - 100% animated: where animators manually animate ( or > > using any cloth > > > > > simulator in Maya ) the cape for every single animation in > > > > > the game. This > > > > > will work perfectly for all the deterministic animations, > > > > > like attacks and > > > > > get hits. but won't work for things like locomotions, as the > > > > > character turns > > > > > around, or take off or stop or land, or with directional jumps. > > > > > > > > > > > > > > > > > > > > - 80% animated + 20% procedural: where the animators still > > > > > manually animate > > > > > the cape for all the animations, in addition, adjust the > > > > > orientation of the > > > > > cape at runtime to match the inverse of the momentum of the > > > > > joint that it's > > > > > attached to. The problem with this approach is it's too > > tied to the > > > > > animation, i.e. if you just move or turn a bit, the character > > > > > should stop > > > > > before the cape, and the cape should still juggle around for > > > > > a little bit > > > > > more before it comes to a complete stop. > > > > > > > > > > > > > > > > > > > > - 100% procedural: animators won't have to deal with the > > > > > cape, but at the > > > > > same time they won't have much control of the whole system. I > > > > > could use a > > > > > linear chain of connected pendulums, which is pretty fast and > > > > > will work for > > > > > ponytails, and most linear kind of capes. but this method is > > > > > not sufficient > > > > > with larger capes, and I'm worried that using a 2d grid of > > > > > connected springs > > > > > or any similar techniques wouldn't fit my CPU budget. > > > > > > > > > > > > > > > > > > > > So here are my questions: > > > > > > > > > > - can other people share their experience with > > procedural cloths? > > > > > > > > > > - I'm looking for different implementation techniques. > > > > > > > > > > > > > > > > > > > > Thank you > > > > > > > > > > Cheers > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------- > > > > > This SF.Net email is sponsored by BEA Weblogic Workshop > > > > > FREE Java Enterprise J2EE developer tools! > > > > > Get your free copy of BEA WebLogic Workshop 8.1 today. > > > > > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > > > > > _______________________________________________ > > > > > GDAlgorithms-list mailing list > > > > > GDA...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > > > > Archives: > > > > > http://sourceforge.net/mailarchive/forum.php?forum_id=6188 > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------- > > > > This SF.Net email is sponsored by BEA Weblogic Workshop > > > > FREE Java Enterprise J2EE developer tools! > > > > Get your free copy of BEA WebLogic Workshop 8.1 today. > > > > http://ads.osdn.com/?ad_idP47&alloc_id808&op=ick > > > > _______________________________________________ > > > > GDAlgorithms-list mailing list > > > > GDA...@li... > > > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > > > Archives: > > > > http://sourceforge.net/mailarchive/forum.php?forum_ida88 > > > > > > > > > > > > > > > > ------------------------------------------------------- > > > > This SF.Net email is sponsored by BEA Weblogic Workshop > > > > FREE Java Enterprise J2EE developer tools! > > > > Get your free copy of BEA WebLogic Workshop 8.1 today. > > > > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > > > > _______________________________________________ > > > > GDAlgorithms-list mailing list > > > > GDA...@li... > > > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > > > Archives: > > > > http://sourceforge.net/mailarchive/forum.php?forum_id=6188 > > > > > > > > > > > > > > > > ------------------------------------------------------- > > > This SF.Net email is sponsored by BEA Weblogic Workshop > > > FREE Java Enterprise J2EE developer tools! > > > Get your free copy of BEA WebLogic Workshop 8.1 today. > > > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > > > _______________________________________________ > > > GDAlgorithms-list mailing list > > > GDA...@li... > > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > > Archives: > > > http://sourceforge.net/mailarchive/forum.php?forum_id=6188 > > > > > > > > ------------------------------------------------------- > > This SF.Net email is sponsored by BEA Weblogic Workshop > > FREE Java Enterprise J2EE developer tools! > > Get your free copy of BEA WebLogic Workshop 8.1 today. > > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > > _______________________________________________ > > GDAlgorithms-list mailing list > > GDA...@li... > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > Archives: > > http://sourceforge.net/mailarchive/forum.php?forum_id=6188 > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by BEA Weblogic Workshop > FREE Java Enterprise J2EE developer tools! > Get your free copy of BEA WebLogic Workshop 8.1 today. > http://ads.osdn.com/?ad_idP47&alloc_id808&op=ick > _______________________________________________ > GDAlgorithms-list mailing list > GDA...@li... > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_ida88 > > > > ------------------------------------------------------- > This SF.Net email is sponsored by BEA Weblogic Workshop > FREE Java Enterprise J2EE developer tools! > Get your free copy of BEA WebLogic Workshop 8.1 today. > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > _______________________________________________ > GDAlgorithms-list mailing list > GDA...@li... > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=6188 |
From: Jon W. <hp...@mi...> - 2004-09-03 16:43:21
|
Make the time step smaller :-) Barring that: Cloth vertices can have normals for collision, even if you don't use the normals for rendering (depending on how you handle two-sided lighting). Make sure the cloth vertex normals point "out" from the character, and make sure you always move the penetrating cloth vertices along their normal until they are not intersecting. Also make sure that your collision proxies are a littel bigger than your character, especially around very sharp features, else penetration may happen in the middle of cloth triangles (rather than at vertices). Drawing the triangulation in wireframe on top of the filled meshes and studying a snapshot when there is penetration will let you know if this is the problem. Cheers, / h+ -----Original Message----- From: gda...@li... [mailto:gda...@li...]On Behalf Of Wong Kong Yew Sent: Thursday, September 02, 2004 8:30 PM To: gda...@li... Subject: Re: [Algorithms] Procedural Cape Animation Hi, Just wondering how do you guys handle collision with the character ? I have try to do collision between the cloth vertices with obb attached to the characters bones. The problem is that the obb box also moved and rotate thus when the character moved or animate too fast it is possible that the cloth vertex is nearer on the opposite side of the box thus causing the vertex to be push out in the wrong direction. My main problem is that the main character in our game is a ninja gaiden type of character so he moved very fast not forgeting the somesault too! ----- Original Message ----- From: "Mark Wayland" <mwa...@to...> To: <gda...@li...> Sent: Saturday, August 28, 2004 8:09 PM Subject: Re: [Algorithms] Procedural Cape Animation > We did something similar for a demo we made about 3 years ago, > we had the cape attached at a few points (across the back and > a couple of points around the arms / armpits) which made it > look much more like a coat. We collided the cloth against > spheres on the character and a ground plane at the players > feet, as he could crouch and the cape would crumple on the > ground. This looks very cool with projected shadows too. > Best results were achieved by traversing the vertices from > top (attached part) to bottom (detached part) when applying > the constraints. Also, like the Muckyfoot boys, we didn't > bother with self collision (we implemented it, but it didn't > look that much better and was much slower so we took it out). > > HTH, > Mark > > ----- Original Message ----- > From: "Tom Forsyth" <tom...@ee...> > To: <gda...@li...> > Sent: Saturday, August 28, 2004 3:19 PM > Subject: RE: [Algorithms] Procedural Cape Animation > > > For Blade 2, we did his long leather trench-coat entirely procedurally. It > did take quite some time to get it looking good (lots of tweaking values), > but when it was done, it was utterly brilliant. > > IIRC, the biggest problem was getting the coat to look "heavy" enough > without exploding the simulation. We ended up having the simulation run at > something like 150Hz (while the rest of the game just ran at 30Hz) to get it > looking "heavy" enough. If you don't mind your capes being fairly light and > flowing and breezy, you should be able to reduce the simulation rate quite a > lot. Which is good, because I seem to remember we had to turn the coat off > for the PS2 version because of excessive CPU load! > > By the way - if you restrict topologies to things made out of regular square > grids, life becomes a lot simpler. You can have split points in the grid - > there was a split half-way down the middle of the coat - but assuming that > the two axes of the square grid are always at right-angles to each other > does make life a lot simpler. > > We didn't have self-collision testing, the coat just collided against a > couple of ellipsoids that were bolted to the leg bones (and positioned by > hand). It didn't seem to matter much - you really don't notice > self-intersection that much. > > (sorry about the haziness - this was about two years ago) > > TomF. > > > > -----Original Message----- > > From: gda...@li... > > [mailto:gda...@li...] On > > Behalf Of Larbi Mouedden > > Sent: 27 August 2004 16:52 > > To: gda...@li... > > Subject: [Algorithms] Procedural Cape Animation > > > > > > Hi everybody > > > > I'm not sure if this subject has been covered recently, so here I am. > > > > I'm looking possible solutions for cape animation (cloths in > > general) for > > our game. I need this for the player and for the NPCs, so I > > could be looking > > for two different solutions. Basically, here are my options: > > > > > > > > - 100% animated: where animators manually animate ( or using any cloth > > simulator in Maya ) the cape for every single animation in > > the game. This > > will work perfectly for all the deterministic animations, > > like attacks and > > get hits. but won't work for things like locomotions, as the > > character turns > > around, or take off or stop or land, or with directional jumps. > > > > > > > > - 80% animated + 20% procedural: where the animators still > > manually animate > > the cape for all the animations, in addition, adjust the > > orientation of the > > cape at runtime to match the inverse of the momentum of the > > joint that it's > > attached to. The problem with this approach is it's too tied to the > > animation, i.e. if you just move or turn a bit, the character > > should stop > > before the cape, and the cape should still juggle around for > > a little bit > > more before it comes to a complete stop. > > > > > > > > - 100% procedural: animators won't have to deal with the > > cape, but at the > > same time they won't have much control of the whole system. I > > could use a > > linear chain of connected pendulums, which is pretty fast and > > will work for > > ponytails, and most linear kind of capes. but this method is > > not sufficient > > with larger capes, and I'm worried that using a 2d grid of > > connected springs > > or any similar techniques wouldn't fit my CPU budget. > > > > > > > > So here are my questions: > > > > - can other people share their experience with procedural cloths? > > > > - I'm looking for different implementation techniques. > > > > > > > > Thank you > > > > Cheers > > > > > > > > > > ------------------------------------------------------- > > This SF.Net email is sponsored by BEA Weblogic Workshop > > FREE Java Enterprise J2EE developer tools! > > Get your free copy of BEA WebLogic Workshop 8.1 today. > > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > > _______________________________________________ > > GDAlgorithms-list mailing list > > GDA...@li... > > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > > Archives: > > http://sourceforge.net/mailarchive/forum.php?forum_id=6188 > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by BEA Weblogic Workshop > FREE Java Enterprise J2EE developer tools! > Get your free copy of BEA WebLogic Workshop 8.1 today. > http://ads.osdn.com/?ad_idP47&alloc_id808&op=ick > _______________________________________________ > GDAlgorithms-list mailing list > GDA...@li... > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_ida88 > > > > ------------------------------------------------------- > This SF.Net email is sponsored by BEA Weblogic Workshop > FREE Java Enterprise J2EE developer tools! > Get your free copy of BEA WebLogic Workshop 8.1 today. > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > _______________________________________________ > GDAlgorithms-list mailing list > GDA...@li... > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=6188 > ------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click _______________________________________________ GDAlgorithms-list mailing list GDA...@li... https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=6188 |
From: John P. <jp...@br...> - 2004-08-30 12:19:50
|
Jonathan, I went to the site you.. um.. sited, and I still have *no idea* what you and Robin are writing about. I'm sure that what you guys are proposing is a great solution, but my poor head is like a big, soft musk-melon. There's only so much abuse it can take before it turns into a useless slurry of old x86 assembly routines and Star Trek quotes. So I'm forced through outright ignorance to with my original idea which is very similar to Megan's suggestion. I'm going to take the planes in groups of the 3 and find the single intersection point of the three planes (if it exists). Then (and here's an important step for me that's missing from Megan's description) test that point against all the planes to make sure it falls on the boundary of the convex volume being described. This is important, because a lot of the points will be off in the hinterland outside of the volume. Then I'll take the points that pass and construct the bounding volume. This is slow, but carries the advantage of not containing the words "invert" or "MEET" :) -john Jonathan Blow wrote: > Actually that sounds a little bit less hacky than what I was > suggesting. So yeah, do that one. > > rob...@pl... wrote: > >> >> Jonathan Blow wrote: >> > >> > All of those spheres will mutually intersect, and you just want a >> > bounding sphere around that region of mutual intersection. Once you >> > have that sphere, you invert it back, and you get a sphere in your >> > original space. >> > >> >> Maybe you mean invert the planes into spheres, fit a *plane* to their >> MEET points and invert that plane back into a sphere? >> >> Go go gadget Geometric Algebra! Of course you'd have to do it in 5D >> space... >> >> - Robin Green. >> >> >> ------------------------------------------------------- >> This SF.Net email is sponsored by BEA Weblogic Workshop >> FREE Java Enterprise J2EE developer tools! >> Get your free copy of BEA WebLogic Workshop 8.1 today. >> http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click >> _______________________________________________ >> GDAlgorithms-list mailing list >> GDA...@li... >> https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list >> Archives: >> http://sourceforge.net/mailarchive/forum.php?forum_id=6188 >> > > > > ------------------------------------------------------- > This SF.Net email is sponsored by BEA Weblogic Workshop > FREE Java Enterprise J2EE developer tools! > Get your free copy of BEA WebLogic Workshop 8.1 today. > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > _______________________________________________ > GDAlgorithms-list mailing list > GDA...@li... > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=6188 > > |
From: Jon W. <hp...@mi...> - 2004-08-30 16:22:57
|
> This is slow, but carries the advantage of not containing the words > "invert" or "MEET" :) That's O(n^3). Couldn't you use a regular BSP cutter to get that down to at least O(n^2)? I e, any map compiler tool that takes BSP brushes and turns them into renderable level geometry turns a set of planes into polys, and polys have vertices, which is what you want. There's bound to be tons of code on the net to do this. Then, once you have the vertices, use the covariance of the set to find a good center point. Or just use the center of the bounding box that inscribes the point, and then calculate the bounding sphere of all the verts; this is 2 O(n) operations total and very quick, and usually close-fitting enough. Cheers, / h+ |