-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Threex reorga #53
Comments
@erichlof im starting here :) |
modules category
|
possible minigame
|
particles
|
what to do for collision physics
|
sound
Likely webaudiox as it provide sound localisation so important in 3d. It is already documented, which cant hurt |
menu and ui with normal DOM
|
documentation
|
inspiration
|
user identification
|
possible minigames
All of these games I wrote back in 1998-2000 and I still have the C code for! :) Some may be a bit too ambitious but all of them would show something different about ThreeX. For instance all of them will require:
|
Hi Jerome, I also have a mini-game idea to use threex.poolball and threex.laser! :) -Erich |
seems greats! i cant wait to hear about your laser pool :) Sure we should provide extensions of realistic physics. i already started url on the demo ? i tried jiglib2 a while back and i found it buggy.. for On Fri, Jan 10, 2014 at 8:02 AM, erichlof [email protected] wrote:
|
Hi, here's the idea for laser-pool, using your THREEx.poolball: Since the classic games and realistic physics have already been done many times (and there is no way to compete with these great implementations), I thought why not do something different with the basic game setting and mechanics? How about we stretch the 2D flat pool-table to a 3D cube?! Of course, with gravity, the balls would all fall down to the bottom of the cube, but... Setting is in outer-space, maybe aboard a spaceship ( a gameroom, like in StarWars chess ) with 0-gravity, or just floating in outer-space - either way, no gravity! The pool-table is now a 3D cube, and your camera is positioned behind the white cueball. But, with the help of three.js Orbit controls, you can now move your aim anywhere around you! The pockets are still in the corners, although now there are 8 or more pockets, to ease the shot-making in 3D. Ball collisions and impulse responses are handled through whatever physics engine we can get working. It is already possible with threex.cannonjs sphere objects, but I will see if it's also possible in JigLibJS2 that I have been working on. Next problem would be friction. In real world mechanics, friction of the table-cloth slows the balls down so you can make the next shot. But in space they just keep bouncing forever, right? Well, here comes THREEx.laser! I was thinking we emit a pulse laser, red or blue, and quickly pulse the ball from the opposite direction that it is traveling. The pulses get faster and faster and slow the ball down to 0. Essentially, friction in Space! Thus, at the end of each shot, the balls just hang there, motionless - kind of cool. Also, we could use THREEx.laser to aim your cueball, kind of like a laser-sight on a sniper rifle. The laser aim-helper could also bounce off the walls of the cube, showing a possible bank shot opportunity. For easing the math, Three.js added a vector.reflect function to their Vector3 class, at my request almost a year ago. So far as ball rotational forces go, the space environment pretty much eliminates the need for this functionality, which eases our project somewhat. I guess they could keep spinning in mid-air, but they should eventually stop also, so you can see the great number-texture that Jerome has applied to each poolball. :) Background can be a skybox of space, or a ship with a 0-G room, and maybe a window out into space. This is sort of the StarWars or StarTrek version of billiards in the future (or in the past with StarWars - haha). :) Let me know what you think. |
i love the idea! i would love to have a reliable physics layer. i watched the demo with the On Fri, Jan 10, 2014 at 10:12 PM, erichlof [email protected] wrote:
|
The text was updated successfully, but these errors were encountered: