AR Documentation

DEVELOPMENT TOOLS

Software and Hardware used in the project

Software

Unity 2019.2.20f1

Xcode 11.4 (11E146)

  • Packages

    • AR Foundation 2.0.2

    • ARKit XR plugin 2.0.2

    • AR Subsystems 2.0.2

    • Unity Standard Assets

Hardware

iPhone XR iOS 13.3.1


XRCHAEOLOGY FRAMEWORK

C# scripts and assets for Unity made for this project

Scripts

CameraController

  • Script to handle Camera movement and view change

    • Public Class Members:

      • Transform[] views :

      • float transitionSpeed;

      • Button changeViews :

    • Public Class Methods:

      • void start()

        • build the circular array to loop through the view

      • void TaskOnClick()

        • change the transform.position with current view's position

        • change the transform.eulerAngles with current view's Angles

        • transitionSpeed determines how fast we can move to targeted position

Dropdown Menu

control the drop down buttons which can be used to switch to different scenes

FirstPerson controller

  • control the movement of the FPS object

  • enable the character to jump and move

  • use joystick class to control the movement

  • use touch field class to enable touch screen to control the view

JoyStickMovement

  • Script to use JoyStick to control the movement

MainMenu

  • Script to control different buttons on the main menu

    • play game button: load the selected scenes

    • options button: change different scenes

    • use SceneLoader.Instance.LoadScene() to load different scenes


MovementController

  • Script to control the camera movement

    • attached this script to the camera game object

    • use the joystick to control camera movement


Options Menu

  • switch to different scenes when touch different scene options

PlacementAudioCanvasController

  • This script control the canvas to play the audio

    • Touch the game object and then pop up with a canvas

  • For pop up canvas we can choose different language to play the audio

PlaneController

  • Enable and Disable the plane detection

PortalControl

  • Set the shader to visible when the camera enter the the portal

  • contains an array of material that achieves trigger portal effect when camera enter the portal

PortalPlacer

  • control the position of the portal

  • always make the portal face in front of user even user are in different rotation and position

SceneLoader

  • Script to loading the scene loading page

  • present target scene after the loading scene

soundController

  • Script to play the audio when the audio play button is touched

Prefabs and Assets

Materials

  • PortalDoor - material that consists of the portal door

  • PortalRoom - all the model inside portal consists of this material

Menu Items

  • main menu

  • option menu

  • object canvas

Prefabs

  • diablo

  • M71

  • portal door

Site Assets

  • Materials - Folder for the materials used

    • diablo

    • m71

    • spidermonkeybowl

  • Meshes - Scanned meshes of the excavations

    • diablo

    • m71

    • spidermonkey bowl

  • Diablo Site - Prefab of the El Diablo excavation (player spawn included)

  • M7_1 Site - Prefab of the M7-1 excavation (player spawn included)

  • Spidermonkey Bowl - Prefab of the spider monkey bowl

Shader

  • portal door

  • portal room