|
hawkwind
|
 |
« on: 29. January 2007, 09:34:56 pm » |
|
Other than the JavaCoolDude example, does anyone else have a good particle system??
At one time a user named desertrock and put one out on the Xith area....I cannot find it anymore but it was a nice one. Did not know if it was still around somewhere
|
|
|
|
|
Logged
|
|
|
|
|
'n ddrylliog
|
 |
« Reply #1 on: 30. January 2007, 07:11:06 pm » |
|
I'm happy to find something to which I can be useful  You can find both JavaCoolDude and DesertRock work here : http://users.xith.org/I would find really great if you integrated either particle system in Xith-tk in an easy way to use.. Thanks in advance !
|
|
|
|
|
Logged
|
|
|
|
|
hawkwind
|
 |
« Reply #2 on: 12. February 2007, 01:01:31 am » |
|
working on it....
desertrocks is nice,allows predefined particle setups in an XML format. Will report on this later
|
|
|
|
|
Logged
|
|
|
|
|
'n ddrylliog
|
 |
« Reply #3 on: 12. February 2007, 01:21:49 pm » |
|
Really cool  If you work(ed) directly on SVN, I could/can help you/contribute. (I'm interested).
|
|
|
|
|
Logged
|
|
|
|
Marvin Fröhlich
Xith Lord
Administrator
Guru
   
Offline
Posts: 4381
May the 4th, be with you...
|
 |
« Reply #4 on: 12. February 2007, 02:49:08 pm » |
|
If it is something, that needs special support in some other eras of the engine, I could create a branch for you. It is better to first develop in a branch and then merge it into the trunk, when it is ready. I will work this way in the future, when I do such changes.
Marvin
|
|
|
|
|
Logged
|
|
|
|
|
guilhermegrg
|
 |
« Reply #5 on: 26. February 2007, 10:43:50 pm » |
|
Hi I'm new here to Xith, so bear with me. I developed an experimental particle system last year to learn a bit of LWJGL and all that and made it as far as having a SWING gui to edit the variables, and export it to XML with xstream.
I have been reading up on xith for a project of mine and so i searched for particles in the foruns and found this thread.
I was hoping that Xith already had a particle system, but alas now i now it doesn't.
Anyways, so i figured i got back to my particle system editor, and I'm back to developing it. eventually I'll try to integrate it to Xith, or somehow make an adapter to Xith.
Right now the the code is a mess and most things are subject to change, everything is done on the cpu, but I'm using a few tricks, that even tough they complicate the code a bit, they speed things up a little.
So here's a list of funcionalities:
define generator-specific behaviors : initial values for particles when they are generated: -life -color -alfa -size -texture angle -texture spin - angle change per second -speed -particle verticle and horizontal angle - they define the orientation of the particle quad if you chose not to face the particles to the camera. Imagine a single particle with a shockwave image that grows from size 0 to size 100 in one second, and is parallel to the ground, regardles of your camera orientation. -mass - for forces - Not Yet Implemented -bounce - for collisions - Not Yet Implemented
Besides these values there are a few more generator specific: -rate - particles generated per second -position - the position of the generator space - explained later - can be changed -horizontal and vertical angle - the direction that the particles will be generated -horizontal and vertical spread angles - the variation from the angles that the particles can be generated in. that is, if the vertical angle is 90 degrees - facing up - but the vertical spread is 10 degrees, then your particles will be generated randomly with a speed vector that can go from 85 to 95 vertical degrees. -max particles - this limits the maximum number of particles the system can have. -texture for this generator and opengl blend modes. -generator space - this is the space from where particles are generated - see further down
You can also specify particle behaviour variables. These variables are applied to the particles along their lifetime. So you can define that particles should be blue when they are generated, then at 0.5 seconds turn red, then at 0.8 seconds turn green. the colors will then be interpolated between these value - in fact they are all previously calculated and stored in an array. the variables are: -color -alpha -size -spin -angle -speed -mass - Not Yet Implemented -bounce - Not Yet Implemented -particle verticle and horizontal angle
A Generator Space is a 3d entity from which the particles are generated. So far I have: -point -circle -line -plane
These are discreet - they are divided in X sections and you control that. -points in circle - place X points in a circle Ex. 3 points will be placed every 120 degress and the particles are generated ONLY in those 3 points in a consecutive fashion fashion. -points in line - same. -points in plane - lines and columns.
-Box -Cylinder -Sphere
Right now i'm still changing a lot of things, so i'm not releasing the binaries or the codes, cause i think it will be frustrating to create something that can't be loaded by the next version. Already i've made many changes and can't load the previous small group of example files - around 30 of them
When i have finished the major changes I'm making, then i'll release it, both binaries and source code.
Right now the code is a mess and it is not easily integrated I'm afraid. Also everything was made to make it easy to change and create a GUI for, so the particle system code is more flexible than fast.
Obviously I'm doint it just for fun and learning purposes so i can't garantee release dates or features. It all depends on the time i have available.
Anyway, I'll update this post with a few pictures and videos as soon as i upload them to my server.
|
|
|
|
« Last Edit: 26. February 2007, 11:07:44 pm by guilhermegrg »
|
Logged
|
|
|
|
|
horati
|
 |
« Reply #6 on: 26. February 2007, 10:51:32 pm » |
|
I wasn't sure from the tone of your post whether you wanted us to have a particle system for you to get ideas or not. Have you looked at Processing Libraries? There is a physics particle library listed on this page and I know I have seen at least 3 other particle systems for the Processing project; however, I chose X3D because it provides many more of the real-world features that I need today. EDIT: Yes, I know particle systems are real world. I didn't mean to imply they aren't. I meant that Processing provides a lot of good functionality and integration but is targeted at graphics primitives rather than the large scale graphics, physics, and gaming features integration of X3D.
|
|
|
|
« Last Edit: 26. February 2007, 10:54:00 pm by horati »
|
Logged
|
|
|
|
Marvin Fröhlich
Xith Lord
Administrator
Guru
   
Offline
Posts: 4381
May the 4th, be with you...
|
 |
« Reply #7 on: 26. February 2007, 11:02:32 pm » |
|
hi, guilhermegrg. Welcome to Xith3D  . Did you have a look at the link above, that points to JavaCoolDude's PS? So principally Xith has one  . Your descriptions sound highly interesting. Can't wait to see the first screenies  . So long, may the force be with you. Marvin
|
|
|
|
|
Logged
|
|
|
|
|
|
Marvin Fröhlich
Xith Lord
Administrator
Guru
   
Offline
Posts: 4381
May the 4th, be with you...
|
 |
« Reply #9 on: 26. February 2007, 11:55:25 pm » |
|
Very impressive!!! Please proceed your great work (and contribute it to xith).
Marvin
|
|
|
|
|
Logged
|
|
|
|
|
'n ddrylliog
|
 |
« Reply #10 on: 27. February 2007, 09:02:31 am » |
|
Very impressive!!! Please proceed your great work (and contribute it to xith).
+1000 And, by the way, welcome to Xith3D !
|
|
|
|
|
Logged
|
|
|
|
|
Patheros
|
 |
« Reply #11 on: 27. February 2007, 04:02:14 pm » |
|
Very impressive!!! Please proceed your great work (and contribute it to xith).
*Jaw drops* Man I can't wait to use that. Perhapses you already mentioned this, but how do you store the particle effects? I imagine it would be useful to store individual effects into a file and load them when you need them. I've been batting around ideas for a meta data file for models (see http://www.xith.org/forum/index.php?topic=149.0) It would be great to have references to files that define partial effects that you can apply to models. Anyways please please pleas contribute it to xith, ask all the questions you want or need to.
|
|
|
|
|
Logged
|
"I like my method, what was my method again?" - Jon
|
|
|
|
guilhermegrg
|
 |
« Reply #12 on: 27. February 2007, 04:37:57 pm » |
|
Hi the file is XML created with Xstream.
About the ps, I've hit a small millestone. I have finished the particles only effects, that is, still no force or collisions, but almost everything else is in. Still missing is the random modifier - it works, but i don't like the way it works and its not saved yet - and the generator space modifiers - namelly, rotation.
Now I'm improving the GUI a little bit, but major changes can only occur after some user feedback, so I'm probably gonna release it in a few days to see user's reactions and feedback so i learn what to change. I've fixed the loading bug, so previous versions can be loaded, but I'm converting them beforehand, just to be sure there's no problem.
|
|
|
|
|
Logged
|
|
|
|
|
'n ddrylliog
|
 |
« Reply #13 on: 27. February 2007, 06:10:31 pm » |
|
Hi the file is XML created with Xstream.
About the ps, I've hit a small millestone. I have finished the particles only effects, that is, still no force or collisions, but almost everything else is in. Still missing is the random modifier - it works, but i don't like the way it works and its not saved yet - and the generator space modifiers - namelly, rotation.
Now I'm improving the GUI a little bit, but major changes can only occur after some user feedback, so I'm probably gonna release it in a few days to see user's reactions and feedback so i learn what to change. I've fixed the loading bug, so previous versions can be loaded, but I'm converting them beforehand, just to be sure there's no problem.
1. You mean you're currently converting it to Xith3D ? (I ask just to have a clear answer, to be sure). 2. Do you use triangles instead of rectangle ? Performances * 2 with a so simple trick... you texture a rectangle on the triangle (see attached image) 3. Great that you use XML+XStream. So do we. 4. Thanks in advance and good luck !
|
|
|
|
|
Logged
|
|
|
|
|
guilhermegrg
|
 |
« Reply #14 on: 27. February 2007, 11:18:57 pm » |
|
1 - not yet. Right now I'm still developing the funtionality for the system and the editor. After that is done, I'm going to change the code in order to be easily integrated with other java graphical libraries, be it XITH or jME or some other... It is already suposed to be easily integrated, but as i haven't started looking much in depth in how to do it, I'm going to assume it might be difficult.
As I'm planning to use Xith, due to its several utilites - model loaders, scenegraph, class structure,etc. - that will be my primary target for integration. Possibly after the alpha release, I'll look into it, before adding the forces and collision to the PS. That way ppl can start using it and i can get more feedback on how to improve the basics before adding more complex funtionality, .
2 - I was actually thinking about that today, as I'm using quads right now. thanks for your input, because i was actually thinking about another way of making the triangle - the top vertex would be in the middle, instead of on the left - but the calculations would be more difficult. The way you indicated is much more simple.
|
|
|
|
|
Logged
|
|
|
|
|