The folllowing are my projects during an internship with Epic Games under the supervision of Mike Fricker. All projects are part of the Unreal VR Editor development.


Foliage Painting, Unreal 4.13 release

I implemented foliage painting in VR mode by enabling the VR controllers to interact with the UI panels and project the foliage placing onto the virtual world. The "Foliage" painting mode can now be summoned from the UI panel. This feature is included in Unreal 4.13 release.

Image 27

Landscape Editing, Unreal 4.14 release

In this project, I migrated several sets of landscape editing tools and enabled it in VR mode. User can now summon the "Landscape" mode from the UI panel and select which brush they want to use for painting. It is quite trickier than the foliage painting mode, since there are a lot more tools to consider for reasonable controlling scheme. We had to drop tools that require hit proxies selection, such as ramp tool etc. This feature is included in Unreal 4.14 release.

Image 49

VR Keyboard

As part of my internship at Epic Games, I prototyped several VR typing schemes in the Unreal Engine.

  1. Laser

    This mode uses ray casting from the hand's position and forward vector to intersect with the keyboard screen. It is the most commonly used in VR applications right now, but presents certain limitation introduces by error from hand's movement.

    Typing laser
  2. Monocle

    Similar to the laser mode, but instead of casting a ray from the hand's position, it casts a ray from the user's camera position toward the hand's position.

    Typing monocle
  3. Single-pronged drum

    As it sounds like! This mode allows user to type as if playing on a drumset. This idea is inspired by Google Daydream Drum Keys

    Typing drum
  4. Dual-pronged drum

    An extension of single-pronged drum mode. The reasoning for this is that a typist can learn to perfect typing with for than a single stick per hand by practicing on wrist rotation.

    Typing dual drum
  5. Flat projection

    Instead of casting a ray at the screen, I implemented a world aligned projection from the user's hands to the keyboard screen parallel to the ground. The advantage of this mode is that it completely eliminates errors introduced by orientation (from shaking wrists)

    Typing flat projection

In the following video, a simple test is run for characters per minute (CPM). For comparison, the average speed for typing on a traditional physical keyboard is 190 CPM.

Order of appearance: