Skip to main content
New Participant
October 31, 2022
Solved

Where to get OVRSpatialAnchor when loading unbound anchors?

I'm able to create and re-load spatial anchors, but when I reload the unbound anchors I'm unclear on where to get the OVRSpatialAnchor from.

 

The docs say to bind to an OVRSpatialAnchor after Localized. In the sample it looks like this:

 

var spatialAnchor = Instantiate(_anchorPrefab, unboundAnchor.Pose.position, unboundAnchor.Pose.rotation);

 

I'm unclear on where the _anchorPrefab is coming from though as that is also an OVRSpatialAnchor. Is there a way to do this that doesn't use a prefab? When I create my original game object and anchor I'm doing it this way:

 

var gameObject =
GameObject.Instantiate(Resources.Load<GameObject(gameObjectPath),
worldObjectPose.position,
worldObjectPose.orientation);

var ovrSpatialAnchor = gameObject.AddComponent<OVRSpatialAnchor>();

GogrillaAnswer
New Participant
November 4, 2022

As a follow up, I found an answer. The game object must be Instatiate'd with a prefab, and that prefab must have an attached OVRSpatialAnchor.

There is an example of a prefab like this at /Assets/Oculus/SampleFramework/usage/SpatialAnchor/Prefabs/DemoAnchorPrefab.prefab

1 reply

GogrillaAuthorAnswer
New Participant
November 4, 2022

As a follow up, I found an answer. The game object must be Instatiate'd with a prefab, and that prefab must have an attached OVRSpatialAnchor.

There is an example of a prefab like this at /Assets/Oculus/SampleFramework/usage/SpatialAnchor/Prefabs/DemoAnchorPrefab.prefab