Rick Posted January 8, 2010 Share Posted January 8, 2010 Is there any feasible way to get particle collisions? I don't care about any sort of response or velocity or where it happened, I just need to know it happened, and be able to kill that particle. Even if I could get the position of the particle I could find out collision myself. Quote Link to comment Share on other sites More sharing options...
Canardia Posted January 8, 2010 Share Posted January 8, 2010 It's possible to get the position of a particle, but only in BlitzMax at the moment. The class property for the particle position would need to be exported to the dll to be able to use it in other languages. Quote ■ Ryzen 9 ■ RX 6800M ■ 16GB ■ XF8 ■ Windows 11 ■ ■ Ultra ■ LE 2.5 ■ 3DWS 5.6 ■ Reaper ■ C/C++ ■ C# ■ Fortran 2008 ■ Story ■ ■ Homepage: https://canardia.com ■ Link to comment Share on other sites More sharing options...
Josh Posted January 8, 2010 Share Posted January 8, 2010 You can't delete a single particle. Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Pixel Perfect Posted January 8, 2010 Share Posted January 8, 2010 As far as I'm aware ... no, on the basis that the particles (quads) themselves are all internal to Josh's engine and are not exposed to us. You could write your own particle system Quote Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++ Link to comment Share on other sites More sharing options...
Canardia Posted January 8, 2010 Share Posted January 8, 2010 You can't delete a single particle. But you could move it far away, so that it's not visible anymore. You would probably need to do this in each frame until the particle is removed by the engine. Quote ■ Ryzen 9 ■ RX 6800M ■ 16GB ■ XF8 ■ Windows 11 ■ ■ Ultra ■ LE 2.5 ■ 3DWS 5.6 ■ Reaper ■ C/C++ ■ C# ■ Fortran 2008 ■ Story ■ ■ Homepage: https://canardia.com ■ Link to comment Share on other sites More sharing options...
Pixel Perfect Posted January 8, 2010 Share Posted January 8, 2010 So you can access particles individually in BMax then? Quote Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++ Link to comment Share on other sites More sharing options...
Josh Posted January 8, 2010 Share Posted January 8, 2010 You can't really move a particle on its own, either. Particles are never removed, they just get recycled in a loop. Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Rick Posted January 8, 2010 Author Share Posted January 8, 2010 I was thinking more of ending the "life" of it instantly. Not delete. I read that they are recycled and that's fine, but I'd like to end the life of a given particle instantly if it hits something so it can be recycled. If I had the position of each active, alive, whatever you want to call it, I could do some collision checks to see if they hit something. I also realize that we put particles in the transparency world and the models would be in the main world, but I should still be able to check positions for what would be a collision. My idea currently it to create a rain cloud if you will. It will have raining coming from it, but I want the rain particles to stop when they collide with anything. Quote Link to comment Share on other sites More sharing options...
Canardia Posted January 8, 2010 Share Posted January 8, 2010 I think you should make your own emitter class in C++. You can then entitypick from the cloud vertically down to see where it collides. The particles would be drawn with OpenGL 3D sprites (like drawimage, but with 3D position). Quote ■ Ryzen 9 ■ RX 6800M ■ 16GB ■ XF8 ■ Windows 11 ■ ■ Ultra ■ LE 2.5 ■ 3DWS 5.6 ■ Reaper ■ C/C++ ■ C# ■ Fortran 2008 ■ Story ■ ■ Homepage: https://canardia.com ■ Link to comment Share on other sites More sharing options...
Josh Posted January 8, 2010 Share Posted January 8, 2010 You could do that just by rearranging the vertices of a mesh. Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Rick Posted January 8, 2010 Author Share Posted January 8, 2010 Lumooja, I use LE so I don't have to use OpenGL. Not following what you mean Josh. Quote Link to comment Share on other sites More sharing options...
Canardia Posted January 8, 2010 Share Posted January 8, 2010 Lumooja, I use LE so I don't have to use OpenGL. You can use OpenGL commands from LE. LE doesn't have all OpenGL commands as native LE commands, so you need sometimes to use raw OpenGL commands in LE also. The most popular example is drawing 3D lines, that can be done only when using OpenGL within LE. Quote ■ Ryzen 9 ■ RX 6800M ■ 16GB ■ XF8 ■ Windows 11 ■ ■ Ultra ■ LE 2.5 ■ 3DWS 5.6 ■ Reaper ■ C/C++ ■ C# ■ Fortran 2008 ■ Story ■ ■ Homepage: https://canardia.com ■ Link to comment Share on other sites More sharing options...
Rick Posted January 8, 2010 Author Share Posted January 8, 2010 Yeah, I realize that. I guess my first thought it going to always be how can I do this in pure LE first. If there is 0% chance of doing it then I'll look somewhere else. Quote Link to comment Share on other sites More sharing options...
Josh Posted January 8, 2010 Share Posted January 8, 2010 Make a mesh out of n*2 number of triangles, and move the vertices around to make particles. That's how we all did it in the days of Blitz3D. Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Rick Posted January 9, 2010 Author Share Posted January 9, 2010 hmm. I think I'll try billboards for the particles first. I'll create my own emitter I guess then. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.