Oh,
I forgot one detail though… how can you make a certain particle be a certain
instance? What I’m doing is taking a particle from cloud 1, remove it and add
one to cloud 2 with the same attributes… my guess would have been to copy the
particle ID but there’s no function to put an ID, only to extract one. So what
should I do? Add invisible particles (size=0) to cloud 2 until I get a ID
which will give me a “instance_index = (
particle_id * 23827 ) % nb_instances” that’s the same as the particle I’m
removing from cloud 2? That will create a bunch of useless particles for
nothing!! So if I’m to take this road, I guess I would be better off checking
in those unused particles if one exist with an ID that would match the
instance_index and use that one if it exist or add more particles if it
doesn’t? It all becomes kind of ugly don’t you think? Anyone got a better
suggestion?
Mathieu
Leclaire
R&D
Programmer
Hybride
Technologies
-----Original
Message-----
From:
owner-xsi(at)Softimage.COM [mailto:owner-xsi(at)Softimage.COM]On Behalf Of Mathieu Leclaire
Sent: Tuesday, April 18, 2006 12:53
PM
To:
XSI(at)Softimage.COM
Subject:
RE: copying particle instance from one cloud to another
Thanks
for the info… I would have never guessed
that!!
-----Original
Message-----
From:
owner-xsi(at)Softimage.COM [mailto:owner-xsi(at)Softimage.COM]On Behalf Of Halfdan
Ingvarsson
Sent: Friday,
April 14, 2006 7:40 PM
To:
XSI(at)Softimage.COM
Subject:
RE: copying particle instance from one cloud to another
It's
not a particularly sophisticated algorithm either. It boils down to
this:
instance_index = (
particle_id * 23827 ) % nb_instances
Random
prime number courtesy of random.org.
Assuming that the
index into the group from the SDK is the same as internally (which is usually
a pretty fair assumption) this should work for you.
-
½
From:
owner-xsi(at)Softimage.COM on behalf of Mathieu Leclaire
Sent: Fri 14-Apr-06 13:54
To: XSI(at)Softimage.COM
Subject: RE: copying particle instance
from one cloud to another
No, it picks randomly one
object for each particle.
-----Original Message-----
From:
owner-xsi(at)Softimage.COM [mailto:owner-xsi(at)Softimage.COM]On
Behalf Of
Bernard Lebel
Sent: Friday, April 14, 2006 1:43 PM
To:
XSI(at)Softimage.COM
Subject: Re: copying particle instance from one cloud to
another
Perhaps I'm missing something, but last time I checked, all
members of
the group are instantiated at each
particle....
Bernard
On 4/14/06, Mathieu Leclaire
<mleclair(at)hybride.com> wrote:
> No I think you misunderstood the
question... lets say my instance group
has
> a cube, a sphere and a
cylinder. Each particle will instance one of the 3
> objects from the
group but how can I identify which one of those 3 objects
a
>
specific particle is instantiating? If one particle is instantiating a
>
sphere and I want that particle to disappear and have another particle
on
> the second cloud appear that will also instantiate the same sphere,
not a
> cube nor a cylinder... how can I control that? How can I
identify which
> object from the group that is being used by a
particular particle? I'm
doing
> all this in C++ using the
ParticleCloudPrimitive btw. From that, the SDK
> says I can access
information like position, velocity, rotation, angular
> velocity, UVW,
color, size, sprite angle, mass, age, seed, age limit,
sprite
> index
and type ID... but nowhere does it talk about instances!!
Anyone
ever
> had to deal with something like that?
>
>
-----Original Message-----
> From: owner-xsi(at)Softimage.COM [mailto:owner-xsi(at)Softimage.COM]On
Behalf Of
> Bernard Lebel
> Sent: Friday, April 14, 2006 12:41
PM
> To: XSI(at)Softimage.COM
> Subject: Re: copying particle
instance from one cloud to another
>
> Mathieu,
>
> Is
there a possibility that the instanced group has a name extremely
>
close (if not the same) as the PType? This is how I could sort
>
something like that, as in XSI 4.2 I could not find a way to query the
>
instanced group from the PType (sorry if I missed it...)
>
> I
don't "manually" set the group of particle instances. Instead, I use
> a
script that allows me to pick the object(s) I want to particle
>
instantiate, then it will create the group and the PType with a near
>
same name, and then perform the actual group instantiation.
>
>
You could possibly write a tool that when a group is used as instance
>
group in a PType, either the PType or the group is renamed to make
>
sure the two conform to a traceable label.
>
> When you want to
transfer information, retrieve the group by their
> name, based on the
PType name, and then visit the group members.
>
> Note I have not
tried to do what you're after, these are just
suggestions.
>
>
> Cheers
>
Bernard
>
>
> On 4/14/06, Mathieu Leclaire
<mleclair(at)hybride.com> wrote:
> >
> >
>
>
> > First let me give you the context of what I'm doing: I'm
creating a
> special
> > kind of collision system for
particles. I'm creating a particle cloud to
> > which I attached a
scripted event evaluated on every frame that calls a
> > custom
command to verify which particles collide. If a certain
particle(s)
>
> does collide, the custom command writes information to a second
clouds'
> > userDataBlob, and puts an ageLimit value to it's current
age value to
make
> > that particle disappear. Then the second
cloud has a custom operator
that
> > reads it's userDataBlob and
if theirs information in it, it adds the new
> > particle(s) and the
clears the userDataBlob to await new information. So
> > that's
basically copying particles from one cloud to another depending
on
>
> collision calculations.
> >
> >
> >
>
> But here's my problem: I can copy the ptype from one cloud to the
other
> > while creating this second cloud before I do the
simulation. But I use
> > particle instancing and in my instance
group there might be more then
one
> > object so how do I know for
each particle, which object it's
instantiating
> > so I can copy
that information through the userDataBlob and make sure
that
> >
the new particle on the second cloud instantiates the right object?
>
>
> >
> >
> >
> >
> > Mathieu
Leclaire
> >
> > R&D Programmer
> >
>
> Hybride Technologies
>
> ---
> Unsubscribe? Mail
Majordomo(at)Softimage.COM with the following text in body:
> unsubscribe
xsi
>
>
>
> ---
> Unsubscribe? Mail
Majordomo(at)Softimage.COM with the following text in body:
> unsubscribe
xsi
>
---
Unsubscribe? Mail Majordomo(at)Softimage.COM with the
following text in body:
unsubscribe xsi
---
Unsubscribe?
Mail Majordomo(at)Softimage.COM with the following text in body:
unsubscribe
xsi