Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Help  Setting ObiParticleAttachment ParticleGroup via script
#1
Hi,

I'm an inexperienced developer and I'm not sure how I should be setting the ParticleGroup of a ObiParticleAttachment component via c# script.

I've checked the sample code and google, but it's still holding me up, anyone care to help out?  Huh

Thanks in  advance,
Bobs
Reply
#2
Anyone able to assist? this is still holding me back.

Thanks
Reply
#3
(09-01-2020, 03:17 PM)Bobsalot Wrote: Anyone able to assist? this is still holding me back.

Thanks

Hi Bob,

Particle groups are stored in the "groups" list of the blueprint. So simply do:

Code:
attachment.particleGroup = blueprint.groups[index];

(If you don't already have a reference to the actor's blueprint, you can get it like this):
Code:
var blueprint = attachment.actor.blueprint;

That's it.

You can see an example in ObiParticleAttachmentEditor.cs, which is the script for the particle group inspector.
There you'll see we use a GenericMenu to show a dropdown menu listing all the particle groups in the blueprint (by name). When the user picks one, the OnParticleGroupSelected() method is called (passing the group as a parameter). This method then assigns the particle group to the attachment's particleGroup property.
Reply
#4
Dedo arriba 
(11-01-2020, 03:22 PM)josemendez Wrote: Hi Bob,

Particle groups are stored in the "groups" list of the blueprint. So simply do:

Code:
attachment.particleGroup = blueprint.groups[index];

(If you don't already have a reference to the actor's blueprint, you can get it like this):
Code:
var blueprint = attachment.actor.blueprint;

That's it.

You can see an example in ObiParticleAttachmentEditor.cs, which is the script for the particle group inspector.
There you'll see we use a GenericMenu to show a dropdown menu listing all the particle groups in the blueprint (by name). When the user picks one, the OnParticleGroupSelected() method is called (passing the group as a parameter). This method then assigns the particle group to the attachment's particleGroup property.

Thanks, Jose! Much appreciated Sonrisa
Reply
#5
(11-01-2020, 03:22 PM)josemendez Wrote: Hi Bob,

Particle groups are stored in the "groups" list of the blueprint. So simply do:

Code:
attachment.particleGroup = blueprint.groups[index];

(If you don't already have a reference to the actor's blueprint, you can get it like this):
Code:
var blueprint = attachment.actor.blueprint;

That's it.

You can see an example in ObiParticleAttachmentEditor.cs, which is the script for the particle group inspector.
There you'll see we use a GenericMenu to show a dropdown menu listing all the particle groups in the blueprint (by name). When the user picks one, the OnParticleGroupSelected() method is called (passing the group as a parameter). This method then assigns the particle group to the attachment's particleGroup property.

Is there a way to access the particles within that group, so you can create particles groups and then do different things with them?
Reply
#6
(23-01-2020, 11:09 AM)jalee Wrote: Is there a way to access the particles within that group, so you can create particles groups and then do different things with them?

Yes, that's the point of particle groups.

A particle group contains a List<int> of particle indices in the actor:
Code:
group.particleIndices
Reply
#7
(23-01-2020, 12:37 PM)josemendez Wrote: Yes, that's the point of particle groups.

A particle group contains a List<int> of particle indices in the actor:
Code:
group.particleIndices

Awesome, thanks Jose!
Reply