Photo of Vi

Vi Prime

I am a programmer and an artist. But what I really do is help people explore new and existing worlds.

My work on Unity Reflect and VisualLive allowed their customers to peer through walls, and keep track of what they find. My work at ExpoTech made it possible to gear up for adventures by practicing with real firearms in a simulated space. Augmented reality is a bridge between worlds, cross it and view what's on the other side.

My focus is in 3D art, and game development. This is supported by experience in programming, web, and videography. If you are looking for a creative self-starter with a mix of technical and artistic skills then you came to the right place.

Contact

Work

Unity logo Unity Software

2021 - 2023 Software Engineer

Reflect logo Unity Reflect

Reflect Product Page Trailer on YouTube AR Marker Announcement

Unity Reflect is a software suite and toolkit that made it fast and easy to create realtime 3D experiences from BIM (Building Information Management), Architecture, Construction, Energy, Manufacturing, and other industries. View 3D models and scenes using Augmented Reality, VR, and from a desktop or web browser. Markup the scene, align it with reality, take notes, toggle components, and quickly share all of this with others in real time.

Unity Digital Twins

Digital Twins Product Page

Unity Digital Twins is a toolkit that aids in creating and managing a virtual copy of the real world. This toolkit includes components that aided in loading CAD data, IoT Data, spatial alignment, visualizing, multiplayer, optimizing data, streaming content, among other tools that are in general very helpful for anyone who has needs for realtime 3D in industrial uses.

Tech, Tools, and Skills

  • Unity Game Engine
  • C#
  • AR Foundation
  • XR Foundation
  • UI Toolkit
  • Unity Package Manager
  • iOS
  • Android
  • Meta Quest
  • Windows
  • Mac OS X
  • Automated testing
  • Automated building
  • RegEx
  • PdfPig by UglyToad - PDF Generation
  • ZXing - QR Code Generation and reading

Visuallive logo VisualLive

2018 - 2021 Senior Software Engineer

Product Page Demo and Review

VisualLive was a tool for visualizing models, and other data that can be specialized in augmented reality, with a suite of tools that improved on old processes with clearer data and simpler workflows.

We developed plugins and processes to load project data from multiple sources including Revit & Navisworks. Our tools allowed our users to align the data, filter it, make tags, take mixed-reality photos. You could see through walls. Test if objects were placed correctly. Take measurements. Track installation progress and object properties. Draw new shapes. Then upload all this back into your project management software.

We were acquired by Unity Technologies in March 2021. Most of our team, myself included transitioned into developing Unity Reflect.

Tech, Tools, and Skills

  • Unity Game Engine
  • C#
  • AR Foundation
  • iOS
  • Android
  • Hololens
  • Microsoft Mixed Reality Tool Kit (MRTK)
  • ZXing - QR Code Generation and reading
  • SQLite
  • SQL for hierarchical indexed data
  • 3D Mesh generation
  • 3D Model packing and compression
  • Azure Spatial Anchors
  • Cloud API integration
  • iOS Lidar
  • Character controller
  • Touch Gesture UI
  • Camera UI
  • Object Filtering & Culling
  • Spatial queries with K-D Trees, and Quad Trees

Gun Club 82 logo Gun Club 82 / ExpoTech

2017 Senior Systems Designer

5th Dimension logo 5th Dimension

Google Patent Free Patents Online

Club 82 was an entertainment attraction for gun enthusiasts. It was going to feature a high-tech gun range, a gunsmith, store, and restaurant. My team was focused on developing the new technology for the gun range we called "5th Dimension". We were partnered with range hardware developers to include new projection, lighting, and computer vision equipment into each lane of our range.

I developed technology that is able to track bullet strikes on a target in realtime, and align this with a projected image. We created a handful of fun games to practice shooting with using the Unity game engine. We also included technology that was able to track the position of your gun, hands, and body while shooting, we can record your movements and provide live feedback to improve gun safety and accuracy.

Tech, Tools, and Skills

  • Unity Game Engine
  • C#
  • Multi thread C++ video processing
  • Native Libraries
  • OpenCV
  • Camera light filtering
  • Lighting
  • Video projection
  • Augmented Reality
  • Project Management
  • Photoshop
  • Game design
  • Game programming
  • 3D Modeling
  • Game UI

Hopeville Icon Hopeville | Operation Hope Business in a Box Prototype

Trailer

Hopeville is a prototype for a potential future project for the charity Operation HOPE. The aim was to help educate kids on the process of developing and managing a business, and inspire them to do so. The game included an accounting system, questing, dialog trees, and inventory management. The game paired with our Learning Management System, and included some free form user input components. This allowed teachers to track their students progress, and grade aspects of their business plan.

Pared with the video game is a learning management platform and API system using Vue/Vuex, NodeJS, and MongoDB. Included features like testing, reading and video assignments, track progress in games like Hopeville, and host live video discussions using WebRTC.

Tech, Tools, and Skills

  • Unity Game Engine
  • C#
  • Lighting
  • Project Management
  • Game design
  • Game programming
  • 3D Modeling
  • Game UI
  • JavaScript
  • Video editing with Adobe Premiere
  • Graphic Design with Photoshop
  • NodeJS
  • Vue
  • Vuex
  • Postgres SQL Database
  • REST API
  • Authentication and session management
  • WebRTC Video & Screen Sharing

Local Motors logo Local Motors

2011 - 2017 Web Developer

Local Motors on Wikipedia

Local Motors was a motor vehicle manufacturer focused on small production and community input. The business started in Boston, with a website based on bulletin board software. The website allowed its community members to create a portfolio of their work, share progress on their projects, and get feedback from others. A major component of the communities larger goals were competitions. Regular competitions were held that helped our designer members practice, gain prestige, and win money. Some of the competitions were for designs and engineering for real vehicle projects.

The website progressed through multiple stages from its phpBB roots. We added in caches, distributed databases, and improved file management. Added in new features to manage competitions and projects. Users can upload files, and track version changes, markup images, and view CAD. As we started to build more partnerships outside the automotive industry, we restructured the platform to allow our partners to run their own communities.

Tech, Tools, and Skills

  • PHP
  • MySQL
  • Python
  • JavaScript
  • CSS
  • HTML
  • Distributed databases
  • Memcached
  • phpBB2
  • ImageMagick
  • Three.JS
  • HTML5 Canvas Scripting
  • Upload safety and management
  • 3D Model format conversion
  • Version Control system development
  • Django
  • JQuery
  • AWS S3 File Storage
  • AWS EC2 Web Servers
  • Micro-service development
  • Adobe Photoshop
  • UI Design
  • Siemens Solid Edge
  • Solidworks
  • Debian Linux Services
  • Windows Services
  • SOAP APIs
  • Subscription Management
  • Payment Processing
  • Customer Relations Management software integration
  • Live Video Production
  • Wireless Networking for Livestreaming Video
  • Network Installation

Art

Game icon Nokta Sorxo

Read my retrospective for this project Play Nokta Sorxo

Nokta Sorxo was a game jam game that allowed me to practice 3D art, and try out a new game engine. All the artwork for this game was made by myself.

Speed of arts icon Speed of Arts

Play

Speed of Arts is an experiment with music and websockets. Two or more players can join a room, and when they use the instrument they will hear each other's notes. I've included an optional WebGL visualizer made with unity. There's no accounts or data collection. Rooms are temporary, and are discarded when all sessions close. Players are tracked by their sessions, and are assigned a color based on their hash.

In the visualizer when notes are played, the letter is ejected from the key on the 3D piano. There is also a ball ejected from inside the piano's cavity with the velocity & position of the given note. These effects are colorized to the player, so you have a visual representation of what notes are being played by whom. A list of known sessions show up along the bottom of the visualizer. If WebGL isn't available, or you disable it then you just see a stream of the latest note data.

This is a prototype that consists of a few components: A server that relays messages to all connected parties over WebSockets. Javascript program that runs in the browser, it listens to input from screen objects, keyboard, or any connected MIDI devices if your browser supports it, it plays notes, and sends the data up to the websockets server. There's also the visualizer plugins, one as a simple data stream and the other is a Unity WebGL app.

More