Voron_eye
Thesis, tool.
My degree's final project, a 4-player (at least) 3D Dynamic Split-Screen. Inspired by the research of multiplayer cameras in previous group projects, the dynamic split-screen (or Voronoi split-screen) caught my attention and ended up becoming a personal challenge. Below, a showcase of my project's functionality:
In retrospective, this was a very hard technical challenge that I am so proud that I managed to achieve.
Functions
Camera Rotation: The camera can orbit around the target.
Camera Multitarget Zoom: The camera will zoom in/out to ecapsulate all the targets when orbiting around more than one.
Camera Dynamic Split: The camera will split when the zoom-out value limit is reached.
Camera Smart Split: The camera will recognize groups of targets and split when necessary. We use the DBSCAN algorithm.
Virtually Infinite Targets: We aimed to handle at least 4 targets, but the actual maximum amount is 15, due to Unity's Limitations. The C# script could handle any amount of targets and split the screen dynamically.
How it works
Voronoi Diagram: To generate the voronoi regions we take the targets (players) position from a global camera screen.
Target Cameras and Stencil Buffer: To generate the voronoi regions we take the players position from a global camera screen. Then with the stencil buffer we assign each view to its voronoi region.
Accomplishing this project was a huge personal achievement. AFAIK no one has ever done this, at least for a 3D Unity project. I have a better and longer video on the works to explain everything better.
Links: