Upgrade to Pro — share decks privately, control downloads, hide ads and more …

VR空間で画像をS3から取得して表示する

 VR空間で画像をS3から取得して表示する

Marihuana

May 09, 2019
Tweet

More Decks by Marihuana

Other Decks in Technology

Transcript

  1. APIサーバの実装 • Go + gin • GET /v1/pictures で写真URLの一覧をJSONで受け取る •

    リクエスト時に送った Token から UserID を取得 • 該当ユーザの撮影した写真のみを返す • 実際の写真データはS3に保存済み
  2. OculusGoの実装手順 1. 写真一覧ページ作成 (uGUI) 2. 写真クラス作成: Picture 3. 写真UI操作クラス作成: PictureScrollItem

    4. ページ管理クラス作成: PictureListPage 5. スクロールビュー管理クラス作成: PictureListViewController
  3. 写真UI操作クラス作成 (PictureScrollItem) • uGUI の RawImage を持つ • PictureListViewController で写真

    を UI に反映させる際に利用 • SetData 呼び出し時にまだ Texture が存在しない場合は読 み込み中画像を表示 (クラスの命名が悪い)
  4. ページ管理クラス作成 (PictureListPage) • ページを開いた時にAPIサーバから写真URL一覧を取得 • 取得が完了したら Picture に変換して PictureListViewController へ

    • 結果取得やエラーハンドリングに UniRx を利用 • ページUIの全体管理はちょっと複雑なので今回は省略
  5. スクロールビュー管理クラス作成 (PictureListViewController) • LoopListView2 が UGUI Super ScrollView のクラス •

    LoopListView2 にメッセージを送って ScrollView を管理 • 更新時の CallBack 登録は InitListView(_list.Count, callback) • コンテンツの数が変わった時は SetListItemCount() • コンテンツを更新する時は RefreshAllShownItem()
  6. ざっくりまとめ • 画像 URL を返す API サーバを用意 • UnityWebRequestTexture で画像を取得

    • 画像は Image でなく RawImage で表示 • UGUI Super ScrollView を利用