Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

11991 Posts in 1587 Topics- by 3508 Members - Latest Member: PienueDut

26. May 2012, 08:49:38 am
Xith3D CommunityGeneral CategoryGeneral Discussion (Moderators: Marvin Fröhlich, 'n ddrylliog)particle systems...who has got one
Pages: [1] 2 3
Print
Author Topic: particle systems...who has got one  (Read 5176 times)
hawkwind
Getting respectable
***
Offline Offline

Posts: 363



View Profile Email
« 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
Moderator
Guru
*****
Offline Offline

Posts: 1188



View Profile WWW Email
« Reply #1 on: 30. January 2007, 07:11:06 pm »

I'm happy to find something to which I can be useful Smiley

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
Getting respectable
***
Offline Offline

Posts: 363



View Profile Email
« 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
Moderator
Guru
*****
Offline Offline

Posts: 1188



View Profile WWW Email
« Reply #3 on: 12. February 2007, 01:21:49 pm »

Really cool Smiley 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 Offline

Posts: 4381


May the 4th, be with you...


View Profile
« 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
Enjoying the stay
*
Offline Offline

Posts: 88


View Profile Email
« 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
Global Moderator
Getting respectable
*****
Offline Offline

Posts: 393


View Profile
« 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

Kevin
"It may not seem like a big deal, but ignorance of character encoding issues leads to insidious code rot akin to y2k."
http://stackoverflow.com/users/3474/sylvarking
Marvin Fröhlich
Xith Lord
Administrator
Guru
*****
Offline Offline

Posts: 4381


May the 4th, be with you...


View Profile
« Reply #7 on: 26. February 2007, 11:02:32 pm »

hi, guilhermegrg. Welcome to Xith3D Smiley.

Did you have a look at the link above, that points to JavaCoolDude's PS? So principally Xith has one Wink.

Your descriptions sound highly interesting. Can't wait to see the first screenies Smiley.

So long, may the force be with you.

Marvin
Logged
guilhermegrg
Enjoying the stay
*
Offline Offline

Posts: 88


View Profile Email
« Reply #8 on: 26. February 2007, 11:51:05 pm »

hi
just lost the post i was writing with the pics and videos...oh well, start from scratch:

the HorribleTM GUI:


some pics:














A few high res videos:
http://softmed.org/downloads/10.avi
http://softmed.org/downloads/52.avi
http://softmed.org/downloads/6.avi
http://softmed.org/downloads/7.avi

my favourite so far:
http://softmed.org/downloads/test.avi

And a few low res videos:

http://softmed.org/downloads/p1.avi
http://softmed.org/downloads/p2.avi
http://softmed.org/downloads/p3.avi
http://softmed.org/downloads/p4.avi
http://softmed.org/downloads/p5.avi
http://softmed.org/downloads/p6.avi
http://softmed.org/downloads/p7.avi
http://softmed.org/downloads/p8.avi
http://softmed.org/downloads/p9.avi
http://softmed.org/downloads/p10.avi
http://softmed.org/downloads/p11.avi
http://softmed.org/downloads/p12.avi



The good thing about the system is that you can combine all those aspects i talked about in my previous posts and create some complex things.

My examples don't show it though, because i only had time to try and recreate some basic effects or test some funcionalities.

I can't wait to see what people do with this, and that is one more incentive for me.

About the previous post, i didn't wanna sound arrogant or anything, i just thought from what i read that those particles system where tests.


« Last Edit: 27. February 2007, 07:55:25 am by guilhermegrg » Logged
Marvin Fröhlich
Xith Lord
Administrator
Guru
*****
Offline Offline

Posts: 4381


May the 4th, be with you...


View Profile
« 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
Moderator
Guru
*****
Offline Offline

Posts: 1188



View Profile WWW Email
« 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
Getting respectable
***
Offline Offline

Posts: 267


Dead Dolphin


View Profile WWW Email
« 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
Enjoying the stay
*
Offline Offline

Posts: 88


View Profile Email
« 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
Moderator
Guru
*****
Offline Offline

Posts: 1188



View Profile WWW Email
« 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
Enjoying the stay
*
Offline Offline

Posts: 88


View Profile Email
« 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
Pages: [1] 2 3
Print
Jump to:  

Theme orange-lt created by panic