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!
Ajare
Goblin
Posts: 282
Joined: Sat May 14, 2005 9:20 pm
x 1

Particle Accelerator [v1.0 released!]

Post by Ajare »

...is the rather pretentious name of the particle editor I'm creating. Hey, 'OGRE Particle Editor' was somewhat dull.

Image Image Image

As you can see, I spent quite a bit of time on some custom controls for choosing vectors and colours :). It's written in wxWidgets, so should be cross-platform, though I only have access to Win32 dev environment. wxWidgets really is quite wonderful!

There's still a small amount of core functionality to implement, plus some bugs to crush, but I'm going to have to take a break for a short while. I thought it would be good to announce its presence, because there's been some talk about world editors and tools recently, so I thought I should make myself known in case someone decides to start one too.

Apologies for the rather uninteresting demo particle systems!

Edit: v1.0 has been released!

http://www.tetracorp.net/dev/ParticleAccelerator1.0.zip

It's Win32 only at the moment. Check out the help file. It's quite terse at the moment, but should get you up and running. You may need the VS redistributable. You can get it here.
Last edited by Ajare on Wed Sep 27, 2006 10:35 am, edited 4 times in total.
User avatar
Robomaniac
Hobgoblin
Posts: 508
Joined: Tue Feb 03, 2004 6:39 am

Post by Robomaniac »

Demo/Release?

Looks awesome, much more intuiative than the current editor. Very clean too
phear hingo

My Webpage
jstone
Gnoblar
Posts: 8
Joined: Fri Apr 28, 2006 5:48 pm
Location: x,y,z,w

Post by jstone »

This looks like a really interesting tool. Right now I'm introducing the current particle editor (which is quite powerful, but not exactly user friendly at first glance) into our production pipeline, and I can appreciate the value of an intuitive interface for this sort of work.

Are you planning on releasing the source? I might be able to help you out on the Linux (and probably MacOSX) porting and I can get the tool into the hands of artists for some usability testing.

Cheers
p.
User avatar
tau
Silver Sponsor
Silver Sponsor
Posts: 413
Joined: Wed Feb 11, 2004 11:44 am
Location: Austin (that's kept wierd :))

Post by tau »

I would say it looks like somebody did an awesome job! ;)

Yes, demo would be nice.
futnuh
Goblin
Posts: 225
Joined: Sun Sep 25, 2005 3:22 am
Location: Calgary, Alberta
x 1

Post by futnuh »

Nice work on the custom controls! Is this going to be a freeware release or a commercial product? In either case, what's your guess on a release date?

Also, since you are obviously a particle guru, what affectors and emitters do you think the current API is missing?
User avatar
Falagard
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 2060
Joined: Thu Feb 26, 2004 12:11 am
Location: Toronto, Canada
x 3

Post by Falagard »

Very very nice! Also excellent that you're using wxWidgets. I'm very impressed!
Ajare
Goblin
Posts: 282
Joined: Sat May 14, 2005 9:20 pm
x 1

Post by Ajare »

It's basically working at the moment. There are a few small things to add in, like the visual representation of ellipsoid emitters (when I work out the maths), and a bug list to keep ploughing away at, but I'm hoping to get version 1.0 out in 2-3 days. Then I'll release the source once I'm happy there are no more bugs. Having said that, I now notice that the second screenshot is prominently displaying a bug! :o
futnuh wrote: Also, since you are obviously a particle guru, what affectors and emitters do you think the current API is missing?
Once this is done, I may look into extending ParticleFX's functionality. We'll see.
Estrich
Halfling
Posts: 79
Joined: Fri Mar 31, 2006 7:51 pm
Location: Linz, Austria

Post by Estrich »

Looks really nice!
I especially like the clean look of the GUI.
User avatar
yuriythebest
Orc
Posts: 468
Joined: Sun Jul 10, 2005 11:44 am
Location: Kiev, Ukraine

Post by yuriythebest »

I can see a great future for this tool- can't wait to see the finished result.
User avatar
sinbad
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 19269
Joined: Sun Oct 06, 2002 11:19 pm
Location: Guernsey, Channel Islands
x 66

Post by sinbad »

Looks great :) Can't wait to play with it.

How hard was it to create those custom controls? I'll reveal my vested interest here - I'm interested in using wxWidgets myself for a tool project and I'll probably need quite a few non-standard controls, particularly in the realm of graphing (connect node A to node B, set properties etc). I see a few examples of this on the wxWidgets screenshots and I wondered how hard it was.
User avatar
Falagard
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 2060
Joined: Thu Feb 26, 2004 12:11 am
Location: Toronto, Canada
x 3

Post by Falagard »

Obviously Ajare is the pro here, but wxWidgets is similar to the windows API in that you have a device context and a way to plot lines, pixels, arcs, etc. to it through the wxPaintDC class.

Creating a custom control is pretty easy - you derive from wxControl and hook up the EVT_PAINT event to your function, such as onPaint, and then write out to the wxPaintDC. There are examples and documentation.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179

Post by jacmoe »

Very inspirational! Very cool! :)
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
Wretched_Wyx
Orc
Posts: 498
Joined: Thu Mar 16, 2006 5:27 pm

Post by Wretched_Wyx »

That looks very slick. Great job there, and can't wait to get a hands on judgement of it!
Ajare
Goblin
Posts: 282
Joined: Sat May 14, 2005 9:20 pm
x 1

Post by Ajare »

Thanks for the comments. Part of the reason for showing this off unfinished was to blackmail myself into finishing it.
sinbad wrote: How hard was it to create those custom controls?
It's pretty easy, really. As Falagard said, you just use a bunch of drawing primitives, and paint directly onto the control's window. It can be time-consuming if you want it to look good, though.

All in all, I can't recommend wxWidgets highly enough. I just took the wxOgre code straight off the wiki and dove in. If the forum and API reference can't help you, it's got a 700 page practical manual, ferchrissakes!
User avatar
jomunoz
Goblin
Posts: 228
Joined: Wed Apr 13, 2005 5:07 pm
Location: Medellin - Colombia

Post by jomunoz »

The WxWidgets book can be downloaded here http://www.phptr.com/content/images/013 ... 6_book.pdf

Maybe it can help you guys start quicker.
kneeride
Bugbear
Posts: 807
Joined: Sun May 14, 2006 2:24 pm
Location: Melbourne, Australia

Post by kneeride »

It would be cool if you could have a number of common or useful samples. eg, a flame, a fire missile/commet, an explosion, a smoke cloud, etc.

Would also be cool if a database was managed where others could upload their own effects. ie allow the community to build a database of effects.
User avatar
Fakamaz
Halfling
Posts: 40
Joined: Fri Feb 03, 2006 6:24 pm
Location: Poland

Post by Fakamaz »

Way up! Great job! Looking forward to try it 8)
As I saw some suggestions to features here, I would like to ask too. 8)
Is it possible to make an assignment of different materials to different emitters in a single particle maybe?
Ajare
Goblin
Posts: 282
Joined: Sat May 14, 2005 9:20 pm
x 1

Post by Ajare »

Ok, well this probably isn't the right place, but I have a question:

OGRE's resource system is giving me a headache. When I want to save a system, I need to know all the names of current loaded systems, to make sure that duplicates names are not created. Finding these is easy, but if the one you specify already exists, I want to allow the option to overwrite it. The problem here is that I can't get the file that the system is declared in. I can get the filename, but not the full path, which I need. My options seem to be:

a) Search the entire hard disk. Not on.
b) Assume all particle scripts reside in the same directory. Not idiotproof.
c) Allow duplicate systems to be created. Bad, can crash the editor on load.
d) Search the declared resource locations for the file. Must save particle scripts to resource location directories. Not idiotproof.
e) Change OGRE. Again, not on.

Of course, if I've missed a simple 'get particle system's full path' function, then that solves it, but getOrigin only returns the filename. Can anyone who's had to deal with similar OGRE resource management issues suggest anything? I'm currently using method b).
Fakamaz wrote:Is it possible to make an assignment of different materials to different emitters in a single particle maybe?
No. Ogre's particle systems do not support this. Presumably because it's faster to use two separate systems.
kneeride wrote:It would be cool if you could have a number of common or useful samples. eg, a flame, a fire missile/commet, an explosion, a smoke cloud, etc.
I'm making a set of random particle textures to get people started, if I have time I'll make some sample systems. There are some good ones included with the CEGUI editor, by the way.
Would also be cool if a database was managed where others could upload their own effects. ie allow the community to build a database of effects.
I think the wiki is the best place. I can't see much point in adding any database management to the editor.
Oogst
OGRE Expert User
OGRE Expert User
Posts: 1067
Joined: Mon Mar 29, 2004 8:49 pm
Location: the Netherlands
x 43

Post by Oogst »

Aah-h-h, good editors are exactly what Ogre needs and what makes the great difference between Ogre and Unreal 3. Your particle editor looks really useful. 8)

(Now if someone created a node-based shader editor that could be linked to Ogre... ;))
futnuh wrote:Also, since you are obviously a particle guru, what affectors and emitters do you think the current API is missing?
A bit off-topic, but while a see this question I'd still like to answer it. I have experience with particles in 3dsmax and some quite simple to create affectors that are missing now are a plane-deflector (so just an infinite plane that eithers kills particles or makes them bounce away), point-gravity/wind and angular motor (an affector that would give particles a rotational speed around a given axis).

Also quite missing is the texturing feature that one bitmap contains a grid of textures. Vertically different textures are there and the emitter randomly chooses one for each particle to create some differences between them. Horizontally would be the frames of an animation, so each texture can be animated. As this is all in one texture, it would not hurt performance to do this and it would increase the possibilities of Ogre's particles enormously.
My dev blog
Awesomenauts: platforming MOBA (PC/Mac/Linux/XBox360/X1/PS3/PS4)
Blightbound: coop online dungeon crawler (PC)
Swords & Soldiers: side-scrolling RTS (Switch/PS3/Wii/PC/Mac/Linux/iPhone/iPad/Android)
Proun: abstract racing game (PC)
Cello Fortress: mixing game and live cello performance
The Ageless Gate: cello album
User avatar
Chris Jones
Lich
Posts: 1742
Joined: Tue Apr 05, 2005 1:11 pm
Location: Gosport, South England
x 1

Post by Chris Jones »

OGRE uses a set of locations to search for resources in, so its best just to stick to them, you cant make this too idiotproof, you can at least assume users arent that bad..

ogre has a few functions to search for files, which gives an info struct with info about each found file, such as its filename, path, size etc

see Ogre::Archive::findFileInfo() in the docs

any use?
bharling
Gremlin
Posts: 166
Joined: Fri Jun 30, 2006 1:04 pm

Post by bharling »

Marvellous,

As a wxWidgets user myself, I'm intrigued by some of the features in your prog. Like the angle and gradient widgets etc.

Good job, looking forward to a release ( please :)! )
Was here
Ajare
Goblin
Posts: 282
Joined: Sat May 14, 2005 9:20 pm
x 1

Post by Ajare »

Just a quick progress update - these things have a habit of taking longer than expected. Still working on it, trying to make it as robust and user-friendly as possible. Release date: "soon." ;)

By the way, it seems that the zip library that Ogre uses cannot write to zips. This is correct, right? This is quite a problem for tools. There is some more functionality that Ogre's archive system could have which would help tool creation. I feel this is quite important - I may start a thread in Feature Requests when I've collected my thoughts.
Oogst wrote: [...] some quite simple to create affectors that are missing now are a plane-deflector [...] point-gravity/wind and angular motor (an affector that would give particles a rotational speed around a given axis).
Deflector planes are already in, and gravity/wind is too (LinearForce).
Oogst
OGRE Expert User
OGRE Expert User
Posts: 1067
Joined: Mon Mar 29, 2004 8:49 pm
Location: the Netherlands
x 43

Post by Oogst »

LinearForce is not a point-source, it always applies in the same direction. What I meant is point-gravity (which becomes the somewhat odd point-wind when using a negative value) that draws particles to a specific point. I might be wrong, but I have not found point-gravity yet.

As for plane-deflectors: I am surprised to see you are right. :) The Ogre manual does not mention them, but I did find them in the API: DeflectorPlaneAffector. Would be nice if that were in the manual too.
My dev blog
Awesomenauts: platforming MOBA (PC/Mac/Linux/XBox360/X1/PS3/PS4)
Blightbound: coop online dungeon crawler (PC)
Swords & Soldiers: side-scrolling RTS (Switch/PS3/Wii/PC/Mac/Linux/iPhone/iPad/Android)
Proun: abstract racing game (PC)
Cello Fortress: mixing game and live cello performance
The Ageless Gate: cello album
User avatar
gogoplayer
Greenskin
Posts: 108
Joined: Tue Jun 20, 2006 1:16 pm
Location: HangZhou China

Post by gogoplayer »

Great work :wink:
Ogre is the best.
QuickGUI && QuickEditor.
User avatar
dfacchin
Greenskin
Posts: 105
Joined: Fri May 13, 2005 10:11 am

Post by dfacchin »

can't wait to try this babe :D