Skip to content
This repository has been archived by the owner on Mar 6, 2023. It is now read-only.

Augmenta-tech/AugmentaUnreal

Repository files navigation

This repo contains the Augmenta Unreal Plugin only. It is currently built with Unreal version 5.1.

Installation

In order to use this plugin in any Unreal project, kindly make this repo as a submodule inside the Plugins folder of your Unreal project, similar to the Augmenta Unreal Demo project.

Compiling the plugin inside your project

If you can compile the plugin inside your project, you can delete the Binaries folder as it will be generated by your compiler for the desired architecture.

Using precompiled binaries (your project fails to build)

If you do not have the necessary environment to recompile the plugin and your project cannot build successfully. Precompiled binaries are available in the Binaries folder for Win64.

To avoid build error on project startup, try deleting the Source folder so only the binaries are used.

Features implementation

OSC Protocol V1

V1 Wiki

OSC Protocol V2

V2 Wiki

  • There are very few API breaking changes in V2.
  • Augmenta Person is now referred to as Augmenta Object and changes have been made to the plugin in a way that it doesn't break the API.
  • Some of the data in the Augmenta Object is moved into Extra data to correspond to the OSC message.

Dependency

This plugin depends on the OSC Plugin by Epic Games Inc. which is enabled in the Plugins section of AugmentaUnreal.uplugin and also added to the PrivateDependencyModuleNames in the AugmentaUnreal.Build.cs.

Plugin Source

  • AugmentaReceiver : A child class of UObject and is responsible for the following actions.

    • Connecting to the OSCServer with the given Ip Address and Port.
    • Processing the OSC Messages received from the Augmenta Fusion or the Augmenta Node(s) and for firing off the OnSceneUpdated, OnObjectEntered, OnObjectUpdated, OnObjectLeft, OnVideoOutputUpdated, OnEnteredExtraData, OnUpdatedExtraData and OnLeaveExtraData events that can be used in Blueprints.
    • Stopping/disconnecting the connection to the OSCServer.
  • AugmentaPerson : A struct to hold the data for the Augmenta Object like the Frame, Id, Oid, Age, Centroid, Velocity, Orientation, BoundingRectPos, BoundingRectSize, BoundingRectRotation, Height.

  • AugmentaScene : A struct to hold the data for the Augmenta Scene like the Frame, ObjectCount, SceneSize.

  • AugmentaVideoOutput : A struct to hold the data for the Augmenta VideoOutput like the Offset, Size, Resolution.

  • AugmentaObjectExtra : A struct to hold the data for the Augmenta Object Extra data like the Frame, Id, Oid, Highest, Distance, Reflectivity.