Have you tried XSIshatter?
http://www.motionblur.it/
Michele Sandroni wrote this a while ago, I found it does exactly
what you want, very nicely.
E
Freelance 3-D Animator, F/X Artist
----- Original Message ----
From: Robert Chapman <tekano.bob(at)googlemail.com>
To: XSI(at)Softimage.COM
Sent: Monday, February 25, 2008 4:45:28 PM
Subject: Re: Rocks breaking and falling
Hi,
Just thinking out loud from non programmer perspective, rather than
booleans - would it not be better to separate each segment with some
kind of projected curve on your rock geometry (with a noise
attributes on the curve) and some kind of slice/dice procedure
afterwards in xyz to determine amount of breakup pieces. then from
each generated segment extrude inwards to new pieces?
oh and for dynamics of all these pieces - like Kim says is hard to
find a non-imploding rest state, but what I try and do if possible,
is to help the RBD sim along by keyframing initial state of all
pieces, moving on a few frames and putting a randomish translation
/ rotation keyframe on the pieces - thinking about desired
direction/location and use the Modify>Rigid Body>Use Animation as
Initial State .Of course only if its practical, depending on the
shot, but at least you dont have to fiddle with trying to simulate a
rest state.
.
On 25/02/2008, *kim aldis* <xsi(at)kim-aldis.co.uk
<mailto:xsi(at)kim-aldis.co.uk>> wrote:
I'd ditch the Booleans right from the start, they're just not
reliable enough for the general case.
For what you're doing I think the biggest problem is how you
persuade the RBD engine that those really close together rocks
aren't intersecting. In the past I've shrunk everything a tad
using a push op. The your problem becomes, how do you stop the
whole thing from settling. For this I've used various methods to
animate a switch over from static to active at the point I want
any give rock to start falling. For example, a wrecking ball, a
script that offsets this transition according to distance from the
centre of impact.
Other than that, I think your premise is sound.
RBDs in XSI are capable of handling a great deal of complexity,
you just need to spend time making sure the parameters and initial
state is in the right ball park. Keep that at the front of your
mind and you'll be fine.
*From:* owner-xsi(at)Softimage.COM
<mailto:owner-xsi(at)Softimage.COM>
[mailto:owner-xsi(at)Softimage.COM <mailto:owner-xsi(at)Softimage.COM>]
*On Behalf Of *Mathieu Leclaire
*Sent:* 25 February 2008 18:51
*To:* XSI(at)Softimage.COM <mailto:XSI(at)Softimage.COM>
*Subject:* Rocks breaking and falling
Hi guys. I need ideas here. We need to simulate lots of rocks
cracking, falling off the surface, breaking apart and colliding
with the scenery.
My first instinct was to use Boolean operators to break-up the
geometry into rocks and then use RBD. From there, when those
pieces would attain a certain velocity or collide with something,
I'd break them up into smaller pieces using the same Boolean
technique and transfer the bigger piece's velocity to the smaller
pieces by scripting or programming, while animating their
visibility and emitting particles from the surfaces of the new
pieces that where inside the original piece to simulate dust and
debris coming from within the cracks.
That turns-out to be a little more complicated then I
originally
anticipated.
The first problem comes from the Boolean operator as at a
certain
level, the geometry becomes impossible to cut anymore and sends me
the warning Boolean engine did not cope. Result becomes first
polygon mesh input. I can't even figure out how to detect by
scripting when a piece is no longer dividable so yeah, that causes
me some problems.
Then, if it is dividable, I don't know how to detect which
polygons of the new object comes from which object so I can figure
out which polygons to use to emit dust particles from.
And I haven't figured out if there's a way to detect when
there's
a RBD collision and from which object. Is there an event sent or
something so I can check the velocity on the impact and decide if
it's a good idea to split the geometry?
Or am I using the wrong approach all together?
Someone has a
better idea of how to approach this situation? Anyone know of some
plug-ins or other software that might be more appropriate? We've
taken a look at blastcode and it helps for certain things but it's
more aimed at surface breaking and not really design for volume
breaking. How would you guys approach the challenge? Let's see if
you can inspire some ideas here.
Cheers!
Mathieu Leclaire
R&D Programmer
Hybride Technologies
"Yesterday is history, tomorrow is a mystery, today is a
gift and
that is why it's called the present"