- Group ID: CG-F15-23-Rutgers
- Members (Net ID):
- Zachary Daniels (zad7)
- Nilay Chakraborty (nc541)
- Tanvi Borkar (tab251)
- Zooraze Tariq (zt32)
Sunday, October 25, 2015
Collision Detection by implementing GJK and EPA algorithms using steerlite
Sunday, October 18, 2015
Interpolation of Agent's path by the Hermite curve and Catmull curve implementations in Steerlite
- Zachary Daniels (zad7)
- Nilay Chakraborty (nc541)
- Tanvi Borkar (tab251)
- Zooraze Tariq (zt32)
- Description:
We have used the current time stamps to calculate the time differences which are used in Hermite and Catmull equations. For Hermite curve:- We have taken the two point locations and tangent values as inputs from the test case, the path between which we want to interpolate.
- We have put values of the point's x,y,z coordinates , tangent's x,y,z coordinates and current time value in the Hermite equation to find the next point in the curve.
- We have made the Camera to move according to the same equation
- We have taken the two point locations as inputs from the test case, the path between which we want to interpolate.
- We have put values of the point's x,y,z coordinates and current time value in the Catmull equation to find the next tangent in the curve.
- We have put values of the point's x,y,z coordinates , tangent's x,y,z coordinates and current time value in the Hermite equation to find the next point in the curve.
- We have made the Camera to move according to the same equation
- Github URL: GitHub
-
Youtube Videos :
- Youtube Playlist
-
Curve 1 – Hermite
-
Curve 1 – Catmull-Rom
-
Curve 2 – Hermite
-
Curve 2 – Catmull-Rom
-
Curve 3 – Hermite
-
Curve 3 – Catmull-Rom
-
Curve 4 – Hermite
-
Curve 4 – Catmull-Rom
-
Custom Curve – Hermite
- Custom Curve– Catmull-Rom
Crowd Simulation and Animation in Unity
FULL DOCUMENTATION:
Expanded Report (Word Document)
Basic Crowd Simulator:
Online Version:
Basic Crowd Simulator (Not Supported in Google Chrome)
Description:
Control a set of agents in a complex environment which includes mazes, multiple levels, enemies, and other obstacles. This demonstrates how to do collision avoidance and path planning in Unity.
Controls:
Animated Robot:
Online Version:
Animated Robot (Not Supported in Google Chrome
Description:
Control a humanoid robotic agent's movements and actions. This demonstrates how to do character animation in Unity.
Controls:
Expanded Report (Word Document)
Basic Crowd Simulator:
Online Version:
Basic Crowd Simulator (Not Supported in Google Chrome)
Description:
Control a set of agents in a complex environment which includes mazes, multiple levels, enemies, and other obstacles. This demonstrates how to do collision avoidance and path planning in Unity.
Controls:
- Agents (minions):
- Left click one or more agents to select
- Left click ground of destination to move agents
- Moveable Obstacles (crates where agents ARE NOT initially positioned):
- Left click on obstacle to select
- Arrow keys move obstacles
- Up: Towards camera
- Down: Away from camera
- Left: Right
- Right: Left
- Camera:
- A Key: Moves Left
- D Key: Moves Right
- W Key: Moves Up
- S Key: Moves Down
- Z Key: Zooms In
- X Key: Zooms Out
Animated Robot:
Online Version:
Animated Robot (Not Supported in Google Chrome
Description:
Control a humanoid robotic agent's movements and actions. This demonstrates how to do character animation in Unity.
Controls:
- Arrow keys move agent:
- Up: Walk forward
- Up + left: forward and left
- Up + right: forward and right
- Down: Walk backward
- Down + left: backward and left
- Down + right: backward and right
- Hold shift to run while walking forward
- Press space to jump while walking forward or running
Animated Crowd Simulator:
Online Version:
Animated Crowd Simulator (Not Supported in Google Chrome)
Description:
Control a set of complex, humanoid agents in a complex environment which includes mazes, multiple levels, enemies, and other obstacles. This demonstrates how to combine character animation with collision avoidance and path planning in Unity.
Controls:
Online Version:
Animated Crowd Simulator (Not Supported in Google Chrome)
Description:
Control a set of complex, humanoid agents in a complex environment which includes mazes, multiple levels, enemies, and other obstacles. This demonstrates how to combine character animation with collision avoidance and path planning in Unity.
Controls:
- Agents (robots):
- Left click one or more agents to select
- Left click ground of destination to move agents
- Left click ground while HOLDING T to tell agents to run to destination
- Moveable Obstacles (crates where agents ARE NOT initially positioned):
- Left click on obstacle to select
- Arrow keys move obstacles
- Up: Towards camera
- Down: Away from camera
- Left: Right
- Right: Left
- Camera:
- A Key: Moves Left
- D Key: Moves Right
- W Key: Moves Up
- S Key: Moves Down
- Z Key: Zooms In
- X Key: Zooms Out
- Speed:
- Slider controls base speed of agents' movement
- Faster speed = faster, less accurate movement
"Galactic Arena" using Unity by Nilay Chakraborty
The Game has two versions
Game Description:
- Single Player
- Multiplayer
- Single Player
- Link to Play the game: Galatic Arena SinglePlayer (Not supported in Google Chrome)
- Single sphere which can be moved by (Up, down, left, right keys).
- The Sphere can jump by pressing space key
- There are a set of rotating cubes.
- A player can collect those cubes using the sphere and the player will be awarded 1 point for each cube.
- A player if collided to the wall, will be deducted 1 point.
- A player if falls out of the platform, then the game gets over
- There is a time limitation of 120 secs or 2 mins
- A timer displays the time.
- For last 20 secs, a warning message is displayed as “Time Almost up”
- There is a start page containing buttons to start the game, check the controls and check the rules.
- Where the Game is over, winner name is displayed with two buttons for restart and quit.
- The clicking quit button, will take the control to start page.
- Multiplayer:
- Link to Play the game: Galactic Area Multiplayer (Not supported in Google Chrome)
- Two player shared screen game where each player controls a single sphere. Below mentioned features of the game.
- One sphere can be moved by (W,A,S,D) and other sphere can be moved by (Up, down, left, right keys).
- Both sphere can jump using left control and right control key respectively.
- The jump follows laws of physics.
- There are a set of rotating cubes.
- A player can collect those cubes using the sphere and the player will be awarded 1 point for each cube.
- A player if collided to the wall, will be deducted 1 point.
- A player if falls out of the platform, then the game gets over and other player wins.
- If both the sphere collides, then the sphere with lower altitude loses a point.
- An user defined message is displays the winner of the collision.
- There is a time limitation of 120 secs or 2 mins
- A timer displays the time.
- For last 20 secs, a repeating message gets displayed as “Time Almost up”
- The scores of two players are displayed separately and which updates in realtime.
- There is a start page containing buttons to start the game, check the controls and check the rules.
- Where the Game is over, winner name is displayed with two buttons for restart and quit.
- The clicking quit button, will take the control to start page.
"Roll a Ball" Game Using Unity by Zach Daniels
- Online Version: Roll A Ball (Not Supported in Google Chrome)
- Game Goal: Try to collect as many cubes as possible in the allotted time
- Game Mechanics:
- Collect cubes by colliding with them: earn 1 point.
- Jump into opponents: the opponent with the lower height loses 1 point.
- Running into walls costs points: lose 1 point.
- The game concludes when
- all 12 cubes are collected or
- the time runs out (after two minutes).
- Players:
- Player 1 is green, and all text/notifications associated with player 1 is green.
- Player 2 is blue, and all text/notifications associated with player 2 is blue.
- Player 3 is yellow, and all text/notifications associated with player 3 is yellow
- Game Controls:
- On-screen:
- Player limit buttons:
- One-Player: only Player 1 is active.
- Two-Players: only Player 1 and Player 2 are active.
- Three-Players: Players 1, 2, and 3 are active.
- Start/Restart
- Start: Allows players to move and begins timer countdown
- Reset: Randomly places cubes, resets players to initial positions, resets clock and scores, clears notifications
- Player limit buttons:
- On-screen:
- Off-screen:
- Player 1:
- Move with arrow keys
- Jump with right-shift key
- Player 2:
- Move with w, a, s, and d keys
- Jump with leftXshift key
- Player 3:
- Move with mouse position
- Jump with b key
- Player 1:
- Visually appealing graphics
- Ability to move character(s) and make character(s) jump
- Physically realistic movement and jumps
- Collision detection between players, walls, and cubes
- Player-player: player with lower altitude loses one point
- Player-wall: player loses one point
- Player-cube: player gains one point, cube is deactivated
- Single-* and multiplayer (up to 3 players at once*)
- Dynamically visible (hidden during game play) buttons* for selecting mode
- Random initial placement of cubes*
- Ability to start and reset game o Single button* toggles start/reset
- Count-down timer
- Rich notifications
- Persistent scores visible for each active player
- Notification and score colors correspond to player of interest*
- Notifications disappear after set number of seconds*
- Notifications offer information about collisions, cube captures, time remaining, and wins*
- Denote winning player/ties when all cubes are collected or time runs out
- Denote winner of collisions
- Denote wall collisions
- Denote cube captures
- Denote when 5 seconds remain
- Color corresponds to player of interest
- Disappear after set number of seconds
- Modes for 1-player, 2-player, and 3-player games
- Various control schemes: keyboard vs mouse
- Analysis: The keyboard is much easier to use. It is hard to predict how moving the mouse and where the mouse is placed on the screen will affect the speed and direction of the player s movement. Likewise, the keyboard controls have axis values in the range -1 to 1 which are helpful from a programming perspective in that it makes behavior more predictable. Meanwhile, using mouse movements do not have the same guaranteed range of -1 to 1 and furthermore the sensitivity is not as linear as with holding down a key; thus, when coding the forces to apply to a character s movement based on input, the forces derived from mouse movement needed to be manually calibrated to make the mouse and keyboard control-driven movements roughly equivalent. I elected to use the keyboard for both players 1 and 2, and I chose to use mouse controls for player 3. From a usability perspective: this is for two reasons. First, as mentioned, the keyboard-based controls are more stable and predictable and thus should be preferred. Second, if a user has a laptop, then the trackpad and arrow keys might be too close for comfortable simultaneous use by two players, so it makes more sense to use the wasd-keys and arrow-keys which are further apart. When all three sets of controls are used (i.e. all three players are active), usability becomes a big issue because three people are competing for limited space on what might amount to a single keyboard and trackpad on a laptop or single keyboard and external mouse. A good solution for this would be to allow multiple input sources (e.g. multiple keyboards, joysticks, etc.) or to convert to a networked version of the game where each player can use his or her own computer. However, due to limited time, this was not feasible to implement.
Saturday, October 17, 2015
Basic Animation using Steerlite
Basic Animation using Steerlite
In this animation, we designed test cases using xml and executed the simulation using Steerlite. Here we have implemented bottleneck areas, several agents crossing path with each other and different obstacles.
You can follow the below Youtube links to view the simulations.
You can follow the below Youtube links to view the simulations.
Subscribe to:
Posts (Atom)