WebXR ArcRotateCamera?

I created a scene with an ArcRotateCamera and I was assuming that when I used createDefaultXRExperienceAsync my VR scene would have an XR version of the same camera rigged up to the WebXR controllers. Either I’m doing it wrong or that doesn’t seem to be the case?

It’s also not clear to me that any of the other flavors of ArcRotateCamera (AnaglyphArcRotateCamera, StereoscopicArcRotateCamera, VRDeviceOrientationArcRotateCamera) are built for WebXR.

Is there something I’m missing? Or do I need to build my own ArcRotateCamera for WebXR?

I’m afraid camera controls don’t work like that. The arc rotate camera works great outside of WebXR, but once in a session those controls disappear. In VR/Immersive mode you can configure your scene to use teleportation or free movement. If you really wanted the same type of control as arc rotate camera, you would have to implement that. I’d be wary of that as unexpected rotation can make people very sick in VR.

1 Like

It looks like the easiest way to do this might be to use createRigCamera, parent the XRCamera to the rig, and then attach WebXR controllers to the rig?

Does that sound right? Anyone know how to attach WebXR controllers to a ArcCamera rig?

What would be the expected behavior of an arc rotate in XR? How would you expect it to work?
I wouldn’t want to limit a person’s movement around a certain radius. So I am just wondering what you think the camera should do in this case

I’m using it for this:

Navigating from one side of the graph to the other in fly mode sounds painfully slow, so I think rotation would be the better UX. I’d imagine something like left controller for changing alpha and beta of the arc, and right controller for changing distance from the focal point.

I’d also think it’d be useful for other utilitarian applications (like viewing a model).