/BeatmapAR

Beat Saber map visualizer in AR

Primary LanguageSwift

AppIcon

Beatmap AR

Beat Saber map (a.k.a beatmap) visualizer in AR for iOS.

This is a very early prototype! It's not optimized and a lot of improvements can be made, use at your own risk!

YouTube video

Screenshots

1

2

3

4

5

6

7

Requirements

Building

  1. Clone this repository
git clone https://github.com/fabio914/BeatmapAR.git
cd BeatmapAR/
  1. Run Carthage bootstrap to download and build the project dependencies
carthage bootstrap
  1. Run XcodeGen to generate the Xcode project file:
xcodegen
  1. Open the Xcode project:
open Beatmap.xcodeproj/
  1. Set a "signing team" and create a new provisioning profile;

  2. Build and run on an iOS device (⌘ + R).

How to use it

  1. Use iTunes (on Windows or older versions of macOS) or Finder (on newer versions of macOS) to transfer your Beat Saber songs to the app. You should transfer the entire song .zip file (do not extract and transfer its contents). You can also use iOS' own "share sheet" to copy song .zip files from other apps to this app.

  2. Open the app, select your song and hit PLAY.

TO-DOs

  • Optimize how the AR scene gets built and build the map incrementally instead of all at once;
  • Consider reducing the number of polygons in the block/cube model;
  • Add an internal web browser to allow the user to download songs from within the app itself;
  • Add support for other game modes (e.g. 90º, 360º, one saber, etc);
  • Use ARKit's plane detection and anchor;

Contributors

Fabio Dela Antonio

Credits

This project depends on weichsel/ZIPFoundation and it uses a modified version of Alterplay/APAudioPlayer (that uses BASS).

Its beatmap definition is based on the lolPants/beatmap-schemas.

It also uses the Beat Saber Cube model created by Jordan Johnston and the Teko font.

Blocks

This project isn't affiliated with Beat Games nor Beat Saber.