Closed12
8thwall + Vite + TypeScript + Babylonjsの試行
~Typed 8thwallを目指して~
8thwallをtsで開発するノウハウがネットになさ過ぎるので試行するもの
セルフホストのサンプルを見る限りだとdev鯖が建てられればホストはできそうなので、いったんそれでやってみる
Viteでやる
GitHubでリポジトリを作りました
ここに延々型定義をしていけばできるのかな
ここのページが参考になりそう
8thwallのAPIレファレンス
Vite TypeScript環境で8thwallのバージョン表示を確認
Viteの神機能により、AppKeyが埋め込まれたscriptタグを作成できた
Proプランなら自前の鯖のドメインを登録することで、デバイス認証なしで公開できそう
型定義しつつ、ちょっとハマりながらもいろいろやってたら
ついに豆腐を出せた
サンプルとしてHit Testを実装した
Hit TestのためにはXrControllerなるものが必要だったのでそのための型定義もした
interface XrController {
hitTest(
X: number,
Y: number,
includedTypes: HitTestType[] = []
): HitTestResult[];
configure(): void;
pipelineModule(): any;
}
interface XR8 {
XrController: XrController;
}
type HitTestType =
| 'FEATURE_POINT'
| 'ESTIMATED_SURFACE'
| 'DETECTED_SURFACE'
| 'UNSPECIFIED';
interface Vector3 {
x: number;
y: number;
z: number;
}
interface Vector4 {
x: number;
y: number;
z: number;
w: number;
}
interface HitTestResult {
type: HitTestType;
position: Vector3;
rotation: Vector4;
distance: number;
}
いったんPublicに公開
hit-testで床にCubeを配置できた様子
このスクラップは2023/06/04にクローズされました