Hello everyone, I saw my entry listed on the "Final Entries for the 20th JULY deadline" thread, so now I don't have to worry if they were received or not.
So now I'll tell you guys about them.
History
My entry was originally my idea for a fluids demo entry, though it was inspired by the force fields demo which came with the Dark Basic and Dark Physics Trial. Basically it will allow you to place widgets anywhere on screen using the mouse, then you would press a button to start the simulation, and you can watch as the fluids interact with the various widgets on screen. As I was designing it, I figured that this system would be flexible enough for an uber entry. Unfortunately my testing revealed that there was a problem with the rendering of fluids on my machine, so I dropped both fluids and uber demo ideas.
However since the system is that flexible I can still use it for the other competitions. I chose Rigid bodies and Cloth, since they were easy to make and they have lots of commands to play with.
First I'll tell you guys about the Rigid bodies entry. Please refer to the screenshots I attached with this post.
The System
My entry revolves around widgets, they are objects you can place on the screen by first, choosing a widget by using the number keys, then adjusting their settings by using the "Q" and "E" buttons, then clicking on the screen. You can also move them around by clicking and dragging. Be careful though not to click on an existing object while placing them, as you'll end up moving them instead of placing a new one. To delete a widget simply right click on it. To move the camera use the WASD keys and the scroll wheel to zoom in and out. To start the simulation and see the widgets in action, press Enter, this will initiate "Physx mode".
The widgets
The widgets are as follows in order of what key calls them, please refer to the top left screen shot on the image I attached.
1. Pointer: not really a widget as it places nothing. It's useful though when moving objects around without accidentally placing a new one. Pointer has no settings
2. Rigid: actually I should have named this "static" instead, since that is what it is, static objects. On the screenshot you can see a wedge and 6 cubes near the center and 1 on top of the chain on the left. There is also a sphere, two ramps and a funnel (from my fluids entry) .
3. Dynamic: obviously dynamic objects. You can see the 3 types on the screenshot, a cube, a sphere and a diamond.
4. Joint: of course rigid body joints, You cannot see them but they are represented by tiny white objects, as you can see on the chain on the left. Spherical joints are represented by spheres, Fixed joints by cubes and distance joints by cones. To make a joint click on an object then click on another, jointed objects will turn blue . This will create a chain that will continue until you right click or choose another widget. You can delete a joint by right clicking on its representation. The emitter joint representations and the bin will not connect to a joint. Moving objects is disabled on joint mode, while the joints themselves will stay in the middle of the two objects its connecting.
5. Attractor: is a forcefield that pulls objects into itself. The forcefield is invisible, but is represented by a static green sphere. It has 3 settings "low", "mid", "high".
6. Repeller: is the opposite of Attractor and is represented by a static red sphere. It has the same settings as the Attractor. You can see one on the screen shot, to the left of the joints chain.
7. Emitter: the emitter is an object which makes objects when you click the mouse during Physx mode. You can see one on the upper right of the first screen shot. It's a yellow cone. It has 3 types like the ones on dynamic object.
8. Moving Platform: a kinematic rigid body object which moves in direction that you define. To place one simply make a line in the same way you would do in PowerPoint. The line will have a start and end point while the moving platform will sit in their middle. You can move the platform around by dragging the two control points, and delete it by right clicking on the platform itself. When Physx mode is turned on it will start moving towards the 2nd end point, and collide with dynamic objects. It will ignore static objects and other platforms.
9. bin: the bin will delete dynamic objects and their joints which comes in contact with it. Note that objects to be deleted does not necessarily have to go inside the bin to be deleted and that it will only delete dynamic objects and joints, so don't expect it to delete a moving platform or other widgets. You can see one on the screen shot, it's a white trash bin with "bin" written on it.
So, that's the nine widgets. Now I'll tell yo about the rest of the screen shots.
More on the screenshots
The top right shot is the same scene as the one on the left, but this time Physx mode has been turned on. As you can see the dynamic objects fell because of gravity. The diamond is no where to be seen since it fell on the bin. The emitter is making some cubes, and the moving platform is already on the second control point. The joints chain has been pushed by the repeller and is now swinging back.
The middle screen shots shows a scene with a group of dynamic cubes sitting on top of static ones, while there is a moving platform line intersecting them. The middle right shot shows the scene in Physx mode.
The 2 bottom screen shots, also shows a scene with Physx mode turned off and turned on. On the second shot you can see that the two spheres were thrown off by the repeller while the two diamonds continued dropping. This is because the diamonds were not in range of the repeller's field.
The Final Version
Here are some improvements I'm planning to implement on the final version.
1. Additional widget settings: Right now I'm thinking more objects for Rigid and Dynamic widgets and some additional settings for the Force fields.
2. A better GUI: Primarily to accommodate the additional widget settings. and to make it easier to adjust them.
3. Improved Graphics: Better texture for all objects and a background. I might use shaders if my computer can take it without slowing to a crawl.
4. New jointed object indicator: Currently jointed objects turn blue, I'm planning on a new way to indicate this.
5. A saving system: Allows the saving and loading of scenes, so you can always come back to view and edit your creations, maybe even share them.
6. Better accuracy: The placement system is a bit inaccurate near the edges of the screen, I'm working on algorithms to fix this.
7. Squash bugs: I'm continuously scrutinizing my entries for any bugs. I found two regarding moving platforms and restarting, and was finally able to fix them today.
EDIT:
8. Oh, and if TGC or Nvidia wants me to add something which me and my computer can do, I'll add it!
Later on I'll make a thread about my entry for the Cloth competition.
-
System: AMD Athlon XP 2200+, nForce 2 ultra 400, 768 MB PC-2700 RAM, 40+320 GB 7200 Hard Drive, Geforce 6200 256 MB AGP , 384Kbps wireless broadband