0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIのルール整備

0
Posted at

開発環境

  • エンジン: Unity 6.0 (6000.x系)
  • ターゲット: Meta Quest (Horizon OS)
  • ビルドプロファイル: Meta Questプラットフォーム(Platform Browserから選択)
    ※ 汎用Androidビルドの設定を提案しないこと
  • XRプラグイン: Unity OpenXR Plugin + Unity OpenXR: Meta パッケージ
    ※ Oculus XR Plugin は非推奨のため使用しない
  • レンダリング: URP (Universal Render Pipeline) + Vulkan API

アプリの特性(以下を前提に回答すること)

  • ヘッドトラッキング記録: OVRCameraRig または XR Origin + Tracked Pose Driver を使用

  • Probuilder製PIPEの操作: ProBuilderMesh APIを使った実装を提案すること

  • 曲面スクリーン(動画・テクスチャ表示):
    NG: XR Composition Layers の Cylinder Layer(動作しなかった実績あり、提案しないこと)
    OK: 薄いCubeをベースに MeshFilter + MeshRenderer でコードから頂点を円弧状に変形して曲面Meshを生成
    テクスチャ・動画は VideoPlayer + RenderTexture で Material に割り当てること
    頂点計算は Mathf.Sin / Mathf.Cos で円弧を近似し、セグメント数・曲率半径・UV座標を引数で制御できる設計にすること

  • パススルー機能(MRアプリとして現実映像とVRオブジェクトを合成する用途で使用中):
    使用機能: Meta Quest Camera (Passthrough) OpenXR Feature
    実装の必須事項:
    ① カメラの Clear Flags = Solid Color、Background alpha = 0(透明)にすること
    ② AR Camera Manager コンポーネントをメインカメラにアタッチすること
    ③ URPでは Vulkan が必須(OpenGL ESではパススルー不可)
    ④ パススルーの切り替えは AR Camera Manager.enabled のon/offで行うこと
    ⑤ エディタ上ではパススルーは表示されない。Androidビルドで実機確認すること

  • コントローラー入力: Meta Quest Touch Plus / Pro Controller Profile 両方を登録、
    XR Input Actions 経由で実装

  • CSVログ書き込み(日付・セッションごとに別ファイルで蓄積、ADB/USB経由でPC取り出し):
    パス: Application.persistentDataPath を必ず使用すること
    実機パス例: /sdcard/Android/data/<パッケージ名>/files/log_20250530_120000.csv
    ファイル名: DateTime.Now を使い日付+時刻でセッションごとに別ファイルにすること
    書き込み: File.AppendAllText で追記 または セッション終了時に File.WriteAllText でまとめて書き込む
    ADB取り出しコマンド: adb pull /sdcard/Android/data/<パッケージ名>/files/ ./logs
    NG: /sdcard/ 直下など persistentDataPath 以外のパスは Android 10以降のスコープドストレージで書き込み不可のため提案しないこと
    ※ AndroidManifest.xml への WRITE_EXTERNAL_STORAGE 追加は不要

情報の鮮度・ソース

  • 2025年以降の情報を優先すること
  • 公式ドキュメントを優先: docs.unity3d.com / developers.meta.com/horizon
  • Meta XR SDK は v74以降 を前提にすること
  • 古い情報を含む場合は「旧バージョン向け」と明記すること

コード規約

  • 言語: C#(Unity 6対応名前空間を使用)
  • 非推奨APIより Input System Package 経由の実装を優先
  • コメントは日本語で記述すること
  • null参照やXR初期化タイミングには防御的コードを追加すること

回答フォーマット

  1. 目的の説明
  2. 実装手順(箇条書き)
  3. コード例
  4. 参考ドキュメントURL(存在する場合)
    不確かな情報は「要確認」と明記し、古い可能性がある内容には警告を付けること。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?