PlayCanvasでのWebXRの使用方法
Support
WebXRのブラウザサポートはまだ全面的には実現されていません。以下のようにして確認できます。
if (app.xr.supported) {
//WebXRはサポートされています
}
Starting
To start XR session, you can use method on the Camera Component or XrManager on the Application. To start an XR session you need to provide CameraComponent and provide the type of XR session, reference space, and optional object with additional arguments:
app.xr.start(entity.camera, pc.XRTYPE_VR, pc.XRSPACE_LOCALFLOOR);
It is an asynchronous operation and is only possible to start on a user interaction, such as a button click, mouse click, or touch:
button.on('click', () => {
// start XR session
});
To know when a session is started, you can subscribe to the start
event:
app.xr.on('start', function () {
// XRセッションが開始されました
});
セッションタイプや参照スペースが特定のプラットフォームで利用できない場合、セッションを開始できず、コールバックでエラーが提供され、XrManagerでerror
イベントが発生します。
entity.camera.startXr(pc.XRTYPE_VR, pc.XRSPACE_UNBOUNDED, {
callback: function(err) {
if (err) {
//セッション開始に失敗しました。
}
}
});