Waypoint editing fully implemented. The logic can be found in ThirdPersonView.cs (MOVING_WAYPOINT state) and relies on the RightIsGrabbingWaypoint() helper in ControllerInput.cs
The way it works is very similar to ISAACS v1.
Changes in Main.unity:
Made the Right UI Sphere transparent, and added to it an opaque child sphere, to better indicate the grabbing area (large transparent sphere) vs the area where the waypoint is going to be places (small opaque area)
Made the Right UI Sphere collider (used by the VRTK Interact touch script to indicate when a waypoint is being touched) a separate GameObject from the Right UI sphere. This is because the Right UI Sphere is often enabled/disabled according to the Controller's State, but we want the collider to remain enabled.
Deactivated unused VRTK scripts in LeftController and RightController.
Changes in DynamicsManager.asset
The laser pointer now ignore trigger objects, such as the Right VRTK Touch Collider (ie. the former Right UI Sphere's collider). They are still blocked by non-trigger objects, such as the ground and the drones. This saves us from having to constantly enable/disable objects that should not be interfering with the laser pointers.
Changes in Waypoint prefab:
Added tag, to let RightIsGrabbingWaypoint() in ControllerInput.cs decide if the grabbed object is a waypoint.
Waypoint editing fully implemented. The logic can be found in ThirdPersonView.cs (MOVING_WAYPOINT state) and relies on the RightIsGrabbingWaypoint() helper in ControllerInput.cs
The way it works is very similar to ISAACS v1.
Changes in Main.unity:
Changes in DynamicsManager.asset
Changes in Waypoint prefab: