Overview
Resato Waterjet Virtual Training was a full 3D simulation of one of Resato's watercutting machines.
The project goal was to create a simulation in which trainees could learn to work with the machines without actually being on-site. Most importantly, the simulation would allow trainees to safely work with the machine without getting themselves or others in danger.
Architecture & Technical Details
StrangeIOC Framework
The Resato project was an opportunity for us to work with the relatively unknown StrangeIOC framework — an inversion of control framework for Unity that uses events or signals and contexts to define game behaviour.
Reusable Component System
This application had to be designed so we could re-use components for a new line of machines. My job was to create a system in which we could easily define behaviour by adding components to machines.
We ended up designing a system that used:
- Events to change a data model
- Data changed events to let the world respond to those changes
Backend Communication
I also created the communication between the app and the back-end using my own fork of the RestSharp library, due to incompatibility issues between Unity and the original library.