Project for CS210A/B. Virtual-reality level editor built using Unreal Engine 4, in partnership with Epic Games. Please check out our project home site at www.karaage.io.
This project is no longer in active development.
- Add cube
- By player position
- By cursor position
- By trigger point
- Select/Deselect cube
- By line trace from player viewpoint
- By line trace through cursor
- By cursor overlap
Select/Deselect multiple cubes(Deferred)- Add new object by dragging and cloning
- Delete cube
- Display local orientation (axes) of cube
- Rotate (Local X/Y/Z) (with Falcon)
- Translate (World X/Y/Z) (with Falcon)
- Scale (Local X/Y/Z) (with Falcon)
- Drop-to-ground
- 3D cursor (Moves left/right/forward/backward/up/down)
- Highlight when cursor overlaps object
- Multiple types of objects (cube/sphere/cone/wedge/cylinder)
- Snapping to nearest grid ticks in all axes
- 3D mouse support (functional, but code needs refinement) (now with analog input!)
- Novint Falcon support
- Multiple select (by dragging a bounding volume)
- Recreate minimal editor functionality (enough for simple level design)
- Integrate 3DConnexion Space Navigator support to test level design workflow with said device
- Integrate Novint Falcon support and test level design workflow
- Integrate mobile device object-manipulation support and test level design workflow
- Create functional menu for editor settings
Export created levels to UE4(Deferred)- Haptic feedback for Novint Falcon. Ex: Magnetic lines to guide axis-specific edits, haptic walls to guide precise object placement.
The Karaage editor requires a 3DConnexion Space Navigator and Novint Falcon. If you don't have these devices already, you can buy a Space Navigator at the 3DConnexion store and a Falcon at the Novint store.
Please install the following drivers BEFORE plugging in the devices to avoid any issues with the plug-and-play system installing the wrong drivers. The drivers for the Space Navigator can be found online here. The drivers for the Novint Falcon can be found at the bottom of the page here.
Note that we are NOT using the official Novint Falcon drivers! This is because we want to work with Chai3D 3.0 (see below).
Building the Karaage UE4 project from the source requires libraries for 3DConnexion and Chai3D / Novint Falcon, which we have included along with our Connexion and Chai3D plugins. Additionally, you will need to install the third-party CoherentUI plugin.
The Connexion plugin should be installed to the Unreal source as an engine plugin at Engine/Plugins/Developer. The supporting library should be installed at Engine/Source/ThirdParty/connexion. The supporting library includes headers and precompiled versions of the 3DConnexion library for x86 and x64 Windows machines. Should you need to recompile these libraries from the source, you can download the SDK from the 3DConnexion website here, but you will have to sign up with a developer account and wait for your request to be approved.
The Chai3D plugin should be installed to the Unreal source as an engine plugin at Engine/Plugins/Developer. The supporting library should be installed at Engine/Source/ThirdParty/chai3d. This supporting library includes headers and precompiled versions of the Chai3D haptics library for x86 and x64 Windows machines. Should you need to recompile the Chai3D from the source, you can find it online here.
Don't download Chai3D from the official site! The official release is at 2.0 and is dated; it hasn't been updated for some time and version 3.0 has a lot of new features. We chose to use Chai3D 3.0 because we used it in a haptics class at Stanford before, and we wanted to stick to something that we knew would work for sure. (The class was actually taught by Ken Salisbury, Sonny Chan, and Francois Conti, who are leading researchers in haptics and contributors to the Chai3D project).
The Karaage UE4 project requires the CoherentUI engine plugin to load. You can download a trial version of the Coherent here, but again, you will have to sign up with a developer account and wait for your request to be approved. Note that CoherentUI currently supports UE4 up to version 4.7. This means it does not work with the promoted UE4 branch!
This is the landing page for the Karaage level editor that also details editor progress over time. Note that secrets.yml
is in the .gitignore
- please generate your own secrets in order to run your own copy of the website.
karaage.io is built on Ruby on Rails and developed with Ruby 2.1.0. Please check that your environment is setup as such, and run bundle install
to make sure everything is up to date.
Whenever you update or add CSS, JavaScript, or other media, be sure to run rake assets:precompile
to make sure all assets are compressed for speed.