Particle Accelerator [v1.0 released!]
-
- Goblin
- Posts: 282
- Joined: Sat May 14, 2005 9:20 pm
- x 1
Particle Accelerator [v1.0 released!]
...is the rather pretentious name of the particle editor I'm creating. Hey, 'OGRE Particle Editor' was somewhat dull.
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.
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.
-
- Gnoblar
- Posts: 8
- Joined: Fri Apr 28, 2006 5:48 pm
- Location: x,y,z,w
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.
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.
-
- Silver Sponsor
- Posts: 413
- Joined: Wed Feb 11, 2004 11:44 am
- Location: Austin (that's kept wierd :))
-
- Goblin
- Posts: 225
- Joined: Sun Sep 25, 2005 3:22 am
- Location: Calgary, Alberta
- x 1
-
- OGRE Retired Moderator
- Posts: 2060
- Joined: Thu Feb 26, 2004 12:11 am
- Location: Toronto, Canada
- x 3
-
- Goblin
- Posts: 282
- Joined: Sat May 14, 2005 9:20 pm
- x 1
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!
Once this is done, I may look into extending ParticleFX's functionality. We'll see.futnuh wrote: Also, since you are obviously a particle guru, what affectors and emitters do you think the current API is missing?
-
- Halfling
- Posts: 79
- Joined: Fri Mar 31, 2006 7:51 pm
- Location: Linz, Austria
-
- Orc
- Posts: 468
- Joined: Sun Jul 10, 2005 11:44 am
- Location: Kiev, Ukraine
-
- OGRE Retired Team Member
- Posts: 19269
- Joined: Sun Oct 06, 2002 11:19 pm
- Location: Guernsey, Channel Islands
- x 66
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.
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.
-
- OGRE Retired Moderator
- Posts: 2060
- Joined: Thu Feb 26, 2004 12:11 am
- Location: Toronto, Canada
- x 3
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.
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.
-
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
Very inspirational! Very cool!
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
-
- Orc
- Posts: 498
- Joined: Thu Mar 16, 2006 5:27 pm
-
- Goblin
- Posts: 282
- Joined: Sat May 14, 2005 9:20 pm
- x 1
Thanks for the comments. Part of the reason for showing this off unfinished was to blackmail myself into finishing it.
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!
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.sinbad wrote: How hard was it to create those custom controls?
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!
-
- Goblin
- Posts: 228
- Joined: Wed Apr 13, 2005 5:07 pm
- Location: Medellin - Colombia
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.
Maybe it can help you guys start quicker.
-
- Bugbear
- Posts: 807
- Joined: Sun May 14, 2006 2:24 pm
- Location: Melbourne, Australia
-
- Halfling
- Posts: 40
- Joined: Fri Feb 03, 2006 6:24 pm
- Location: Poland
-
- Goblin
- Posts: 282
- Joined: Sat May 14, 2005 9:20 pm
- x 1
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).
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).
No. Ogre's particle systems do not support this. Presumably because it's faster to use two separate systems.Fakamaz wrote:Is it possible to make an assignment of different materials to different emitters in a single particle maybe?
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.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 think the wiki is the best place. I can't see much point in adding any database management to the editor.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.
-
- OGRE Expert User
- Posts: 1067
- Joined: Mon Mar 29, 2004 8:49 pm
- Location: the Netherlands
- x 43
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.
(Now if someone created a node-based shader editor that could be linked to Ogre... )
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.
(Now if someone created a node-based shader editor that could be linked to Ogre... )
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).futnuh wrote:Also, since you are obviously a particle guru, what affectors and emitters do you think the current API is missing?
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
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
-
- Lich
- Posts: 1742
- Joined: Tue Apr 05, 2005 1:11 pm
- Location: Gosport, South England
- x 1
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?
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?
-
- Gremlin
- Posts: 166
- Joined: Fri Jun 30, 2006 1:04 pm
-
- Goblin
- Posts: 282
- Joined: Sat May 14, 2005 9:20 pm
- x 1
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.
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.
Deflector planes are already in, and gravity/wind is too (LinearForce).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).
-
- OGRE Expert User
- Posts: 1067
- Joined: Mon Mar 29, 2004 8:49 pm
- Location: the Netherlands
- x 43
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.
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
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
-
- Greenskin
- Posts: 108
- Joined: Tue Jun 20, 2006 1:16 pm
- Location: HangZhou China