Particle Accelerator [v1.0 released!]

A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!
Van
Hobgoblin
Posts: 512
Joined: Fri Nov 19, 2004 3:56 am
Contact:

Post by Van »

We are trying to use Billboard sets as projectiles (bullets). We can get the affect we want in the Particle Accellerator, however, we can't duplicated it in code.

We are NOT using a particle system. We have our own pool of billboard sets attached to scene nodes. The problem is, they are NOT visible in our client but are in the particle accelerator. Yes, I realize that PA is using a particle system but we should be able to achieve the same affect.

Code: Select all

		// Create Projectile BillboardSet with Default Material.
		sprintf( mTempStr, "Scene/BillboardSet/Weapon/Projectile/%lu", i );
		mWeaponProjectilePool[ i ].BillboardSet = mOgreSceneMgr->createBillboardSet( mTempStr, 1 );
		mWeaponProjectilePool[ i ].BillboardSet->setDefaultDimensions( 5.0f, 100.0f );
		mWeaponProjectilePool[ i ].BillboardSet->setMaterialName( "Equipment/Weapon/Projectile/Default" );
		mWeaponProjectilePool[ i ].BillboardSet->setRenderingDistance( 10000.0f );
		mWeaponProjectilePool[ i ].BillboardSet->setBillboardType( Ogre::BillboardType::BBT_ORIENTED_SELF );
		mWeaponProjectilePool[ i ].BillboardSet->setCommonUpVector( Ogre::Vector3::UNIT_Y );
		mWeaponProjectilePool[ i ].BillboardSet->setCommonDirection( Ogre::Vector3::UNIT_Z );
		mWeaponProjectilePool[ i ].BillboardSet->setUseAccurateFacing( true );
		mWeaponProjectilePool[ i ].BillboardSet->setBillboardOrigin( Ogre::BillboardOrigin::BBO_CENTER );
		mWeaponProjectilePool[ i ].BillboardSet->createBillboard( Ogre::Vector3::ZERO );
Now, since we are using BBT_ORIENTED_SELF, is there something special we have to supply the Billboard in runtime to get it to accurately face the camera so it can be seen? Do we need to calculate an angle or set something?
Stop Global Whining.
the_darkone
Greenskin
Posts: 129
Joined: Wed Jun 21, 2006 1:37 am
x 1

Post by the_darkone »

how did you create thos custom controls ? are is this app open source ?
User avatar
Game_Ender
Ogre Magi
Posts: 1269
Joined: Wed May 25, 2005 2:31 am
Location: Rockville, MD, USA

Post by Game_Ender »

The first pages states as much. On windows that is pretty simple. Look at wxOgre on the wiki. On Linux its harder, and its not supported on Mac yet.
Rak'kar
Gremlin
Posts: 152
Joined: Sun May 30, 2004 5:51 pm

Post by Rak'kar »

This is much better than Particle editor. Thanks for making it.
Ajare
Goblin
Posts: 282
Joined: Sat May 14, 2005 9:20 pm
x 1

Post by Ajare »

Rak'kar wrote:This is much better than Particle editor. Thanks for making it.
Thanks! When Eihort is stable, I will likely be releasing a new version to incorporate the new syntax additions, plus fix the stuff I really ought to have done by now.
User avatar
syedhs
Silver Sponsor
Silver Sponsor
Posts: 2703
Joined: Mon Aug 29, 2005 3:24 pm
Location: Kuala Lumpur, Malaysia
x 51

Post by syedhs »

Ajare wrote:
Rak'kar wrote:This is much better than Particle editor. Thanks for making it.
Thanks! When Eihort is stable, I will likely be releasing a new version to incorporate the new syntax additions, plus fix the stuff I really ought to have done by now.
You can release it now, calling your tool as Particle Accelerator <insert version here> RC1 :wink:
Ajare
Goblin
Posts: 282
Joined: Sat May 14, 2005 9:20 pm
x 1

Post by Ajare »

Well, I've started work on the next version of Particle Accelerator. I should probably give it a silly codename like "Large Ogron Collider" or something.

Anyway, this is where you people suggest features, etc, which you'd like to see. Stuff that I'm already thinking about:

* Modeless dialog boxes, so you can interact with the view window while another dialog box has focus - for instance, rotating the particle system while fiddling with the direction control widget.
* All emitter and affector controls will be defined by XML or similar, which will allow you to easily extend the program to incorporate any additional emitters/affectors you've created.
* Loading a model into the scene, so you can preview how effects look on an actual model - ie rocket trails, engines, etc.
* Obviously there will be support for Eihort enhancements such as emitting emitters.
* All other bugfixes/suggestions mentioned in this thread.
* I'm not sure what spookyboo is up to with his particle stuff, but if he's willing to shed some light on it then I'd definitely consider supporting it.

I'm also thinking about a different interface for creating/choosing/deleting emitters & affectors, because the current dropdown list is a little cumbersome. And who knows, now that I've learnt a bit more about wxWidgets, the code may even be tidy enough to release.
User avatar
spookyboo
Silver Sponsor
Silver Sponsor
Posts: 1141
Joined: Tue Jul 06, 2004 5:57 am
x 151
Contact:

Post by spookyboo »

I'm not sure what spookyboo is up to with his particle stuff, but if he's willing to shed some light on it then I'd definitely consider supporting it.
For now I recommend to continue with the current Particle System plugin. It will take a few months before I release the first increment of the new plugin. In the core it has the same features as Ogre's plugin (ParticleSystem, ParticleEmitter, ParticleAffector), but the structure is totally different. Some major differences:
- A ParticleSystem contains multiple ParticleTechniques. Basicly a ParticleTechnique is more or less the same as the ParticleSystem in the current particleFX plugin. This means that you are able to combine different ParticleTechniques each having its own material and renderer into 1 ParticleSystem.
- Implementation of start, stop, pause, resume
- LOD (i.e. changing between renderer between lod levels)
- PHysX integration (as additional plugin)
- "On event - Do action" (of course totally scriptable)
- Particle Behaviour, which allows adding of additional data/behaviour to a particle
- Emission of Visual Particles, other Emitters, Affectors and Techniques
- Exclude particles from being affected by certain emitters
- A range of new emitters and affectors (i.e. emission based on a texture pattern, ...)
- Extended scripting possibilities
- Etc...

The core is pretty stable and already working, but there is still a long way to go...
User avatar
PolyVox
OGRE Contributor
OGRE Contributor
Posts: 1316
Joined: Tue Nov 21, 2006 11:28 am
Location: Groningen, The Netherlands
x 18
Contact:

Post by PolyVox »

@spookyboo - Does your plugin allow the particles to be meshes? Does the standard particle plugin allow this?
User avatar
spookyboo
Silver Sponsor
Silver Sponsor
Posts: 1141
Joined: Tue Jul 06, 2004 5:57 am
x 151
Contact:

Post by spookyboo »

@esuvs
The standard particle plugin doesn't have a mesh renderer. You have to write one yourself. My plugin will have a mesh renderer.
User avatar
PolyVox
OGRE Contributor
OGRE Contributor
Posts: 1316
Joined: Tue Nov 21, 2006 11:28 am
Location: Groningen, The Netherlands
x 18
Contact:

Post by PolyVox »

Great! Then I look forward to it...
asmo
Greenskin
Posts: 112
Joined: Thu Nov 16, 2006 8:37 pm
Location: Sweden
Contact:

Post by asmo »

Greate application!

We like to do some tweaking, however, so I wonder if you'll release the source for this beast?
Ajare
Goblin
Posts: 282
Joined: Sat May 14, 2005 9:20 pm
x 1

Post by Ajare »

asmo wrote:We like to do some tweaking, however, so I wonder if you'll release the source for this beast?
Yes.
User avatar
hulahulahest
Gnoblar
Posts: 2
Joined: Thu Apr 26, 2007 7:48 am

Post by hulahulahest »

What my fellow project member asmo is trying to say is to wonder if we could have access to the source code, well... as soon as possible. Though we are largely happy about the program but would like to have some crucial changes made. Now we obviously wouldn't expect you to do it, so we'd gladly make the changes we need ourselves... but then, we're back to requiring the source code. Our project nearing its crunch time only adds to the relative urgency of the situation.

We would very much appreciate it if the source code could be made available.
Ajare
Goblin
Posts: 282
Joined: Sat May 14, 2005 9:20 pm
x 1

Post by Ajare »

hulahulahest wrote:Though we are largely happy about the program but would like to have some crucial changes made. Now we obviously wouldn't expect you to do it, so we'd gladly make the changes we need ourselves...
Well, try me. What changes are these - they may be useful for the current version I'm working on. The old source is badly coded and entirely uncommented - and while it's very stubborn of me, it pain me to release it as such.
User avatar
hulahulahest
Gnoblar
Posts: 2
Joined: Thu Apr 26, 2007 7:48 am

Post by hulahulahest »

Let's see. One thing that struck me as particularly outstanding is that the scale is not easily customizable. You can change the grid size, yes, but the graphical axes (which cannot be disabled, as far as I can tell), when the scale is set to one relevant for our project, become so large as to obstruct any useful interaction (our project deals with SI-sized scales, meaning that 1 world unit corresponds to 1 meter). There were some concerns raised to me from another member that the placement of emitters was suboptimal for certain purposes he was trying for (in particular, circular/spiral particle patterns). Some of the effectors aren't working as expected, and we'd like to see some (such as one of the color gradient effectors) redone completely, if possible. There are a few UI improvements we wouldn't be opposed to seeing as well.

But the important factor here is speed. Optimally we'd like to see these changes (and others) done, well... today. It would be unreasonable of us to expect you to do this, which is why we're so eager to have the source ourselves. Naturally we also understand your reluctance to give out undocumented code - we've all been there ourselves. In what condition is the newer version of Accelerator?
Gonenb
Gnoblar
Posts: 15
Joined: Wed Jan 24, 2007 8:51 am

Post by Gonenb »

Hi,

is it possible you can send me the "unreleased code", i just need to do minor modifications, to add a new model, and see how the particles looks with the model ( car with smoke effect ).

Please PM me.

Thanks.
Ajare
Goblin
Posts: 282
Joined: Sat May 14, 2005 9:20 pm
x 1

Post by Ajare »

User avatar
Jabberwocky
OGRE Moderator
OGRE Moderator
Posts: 2819
Joined: Mon Mar 05, 2007 11:17 pm
Location: Canada
x 218
Contact:

Post by Jabberwocky »

Ajare wrote:Anyway, this is where you people suggest features, etc, which you'd like to see.
It would be cool to be able to view more than one particle system at the same time. For example, viewing two separate particles, "fire" and "smoke" together.
Ajare
Goblin
Posts: 282
Joined: Sat May 14, 2005 9:20 pm
x 1

Post by Ajare »

Jabberwocky wrote: It would be cool to be able to view more than one particle system at the same time. For example, viewing two separate particles, "fire" and "smoke" together.
I've already implemented this in the latest version.

Image

Most of the new code is done, now it's just a matter of copying the old code over and tidying things up. Also working on a definition scheme, so that emitters & affectors can be added without need for recompilation, eg:

Code: Select all

	<Affector name="LinearForce">
		<Parameter name="force_vector">
			<Value type="direction">
				<Parameter normalise="false" />
			</Value>
			<Control type="vector3">
				<Parameter posx="20" />
				<Parameter posy="50" />
				<Parameter description="Strength" />
				<Parameter default="0,-100,0" />
			</Control>
		</Parameter>
		<Parameter name="force_application">
			<Value type="enum">
				<Parameter value="0" name="Average" />
				<Parameter value="1" name="Add" />
			</Value>
			<Control type="listbox">
				<Parameter posx="20" />
				<Parameter posy="80" />
				<Parameter description="Application" />
				<Parameter default="0" />
			</Control>
		</Parameter>	
	</Affector>
User avatar
Jabberwocky
OGRE Moderator
OGRE Moderator
Posts: 2819
Joined: Mon Mar 05, 2007 11:17 pm
Location: Canada
x 218
Contact:

Post by Jabberwocky »

Ajare wrote:I've already implemented this in the latest version.
Sweet! :)
User avatar
KungFooMasta
OGRE Contributor
OGRE Contributor
Posts: 2087
Joined: Thu Mar 03, 2005 7:11 am
Location: WA, USA
x 16
Contact:

Post by KungFooMasta »

Wow, that screenshot is nice!

Sorry for the noob questions:

:?: Is it easy to resize the particle system, if we want it a certain size in relation to the mesh?

:?: Does the grid units represent Ogre coordinate space units, or how is it calculated?

:?: Is the scheme meant to be editted by hand, or via the application?

I need to find time to play with this! :D

KungFooMasta
Ajare
Goblin
Posts: 282
Joined: Sat May 14, 2005 9:20 pm
x 1

Post by Ajare »

KungFooMasta wrote: :?: Is it easy to resize the particle system, if we want it a certain size in relation to the mesh?
Well, you'll have to play about with particle size, emitter speed, etc. It's trial and error, but not particularly difficult.
:?: Does the grid units represent Ogre coordinate space units, or how is it calculated?
One of the big problems with the previous version was that the scale was hardcoded. You can now set the scale, and it affects grid size and mouse rotating/zooming accordingly.
:?: Is the scheme meant to be editted by hand, or via the application?
By hand, but it's only a one-off thing. It's for if you want to be able to edit emitters/affectors that you've coded yourself, and don't want to hack about the source. Behold, the previously posted XML generates this:

Image
User avatar
KungFooMasta
OGRE Contributor
OGRE Contributor
Posts: 2087
Joined: Thu Mar 03, 2005 7:11 am
Location: WA, USA
x 16
Contact:

Post by KungFooMasta »

Looks good!

A while back I did open it up and play with a few parameters and looked at the examples, I remember that the particles are always being displayed. Is it possible to have an option where you can play the particle once? (Like a play button. Also, assuming it dies after x amount of time) So we can choose between looping the particle system and playing it only once. Its not a really big issue, more of a convenience, so that you can perfect a particle effect. For example, if you're casting a spell and you want particles to explode out of your hands, but you don't want the effect to keep looping, so you can tweak it and see how it would look in use in your game.

KungFooMasta
Ajare
Goblin
Posts: 282
Joined: Sat May 14, 2005 9:20 pm
x 1

Post by Ajare »

KungFooMasta wrote:For example, if you're casting a spell and you want particles to explode out of your hands, but you don't want the effect to keep looping, so you can tweak it and see how it would look in use in your game.
That's pretty much what I'm planning to have - let you set points in an animation at which the system fires. I don't want things to get too involved though - this is a particle editor not an Ogre editor.
Post Reply