Closed21

Wolvic 1.4調査

にー兄さんにー兄さん

やはり今回一番熱いのは新デバイスの対応だろう

  • Lynx R1
  • Lenovo A3
  • Lenovo VRX

そしてinitial WebXR supportとかHandtracking周りも気になる

にー兄さんにー兄さん

WebXRに関してはDeviceAPIに対応していそうで
現状ARは無理そう

VRとControllwerは対応していそう

にー兄さんにー兄さん

現状のリリース。
なんかたまに更新かかって増えたりしているが、最初にあったLynxとA3用のバイナリは消えている、悲しい

にー兄さんにー兄さん

リリースの概要のところに、このりりーすは1.x系の最後になるだろうと
基本的に次のリリースは2.x系になるんだとか

This is the last major release of the 1.x series. Some 1.4.x might follow with specific critical bug fixes, but our main focus will switch to 2.0 after this. It's being a while since the previous 1.3.4 release, but we're adding some new cool features, like 3D hand models for hand tracking or passthrough support that took some time to get it right in a variety of devices. Speaking of which, we're adding more devices to the pack, Lenovo VRX & Lenovo A3 (based of Qualcomm's SnapdragonSpaces) and the Lynx-R1.

これは、1.xシリーズの最後のメジャーリリースとなります。1.4.xでは特定の重要なバグフィックスが行われるかもしれませんが、私たちの主な焦点はこの後2.0に切り替わります。前回の1.3.4からしばらく経ちますが、ハンドトラッキングのための3Dハンドモデルや、さまざまなデバイスで正しく動作させるのに時間がかかったパススルーのサポートなど、クールな新機能が追加されています。そういえば、Lenovo VRX & Lenovo A3(QualcommのSnapdragonSpacesベース)、Lynx-R1というデバイスを追加していますよ。

にー兄さんにー兄さん

あと、Chromiumベースになった?んだとか
それによりWebXR Device APIのサポートが入った

にー兄さんにー兄さん

Firefox Nightlyでデバッグできるらしいので、さっそくA3で試してみた
実際できてるっぽい

にー兄さんにー兄さん

普通にブレークポイント求まってくれるんだけど、なぜかコンソールログは表示されない
不便

にー兄さんにー兄さん

検証に使ったコードペタリ
create-babylon-appで作られたものを回収してます

main.ts
import { Playground } from "./createScene";
import "./style.css";
import {
  Engine,
  IWebXRHandTrackingOptions,
  WebXRFeatureName,
  WebXRHandTracking,
} from "@babylonjs/core";

const main = async () => {
  const renderCanvas = document.getElementById(
    "renderCanvas"
  ) as HTMLCanvasElement;
  if (!renderCanvas) {
    return;
  }

  const engine = new Engine(renderCanvas, true);

  const scene = Playground.CreateScene(engine, renderCanvas);

  console.log("Hello~~");

  try {
    const { baseExperience } = await scene.createDefaultXRExperienceAsync({
      optionalFeatures: true,
      uiOptions: {
        sessionMode: "immersive-vr",
      },
    });

    const featureManager = baseExperience.featuresManager;

    const features = featureManager.getEnabledFeatures();

    const handTracking = featureManager.enableFeature(
      WebXRFeatureName.HAND_TRACKING,
      "latest"
    ) as WebXRHandTracking;
  } catch (e) {
    console.log(e);
  }

  window.addEventListener("resize", () => {
    engine.resize();
  });

  engine.runRenderLoop(() => {
    scene.render();
  });
};

main();
vite.config.ts
import { defineConfig } from "vite";
import mkcert from "vite-plugin-mkcert";

export default defineConfig(() => {
  return {
    server: {
      https: true,
    },
    plugins: [mkcert()],
  };
});
このスクラップは2023/07/03にクローズされました