Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
VRにおける UI設計 土鍋
Slide 2
Slide 2 text
自己紹介 • 土鍋 • 学部二年 • A-PxL(VR部)代表 • Twitter:@donadonadonabe • 普段はUnityでVRゲームを作ってます • IoTもちょっぴりかじってます→
Slide 3
Slide 3 text
VRにおける最大の敵とは なんでしょうか??
Slide 4
Slide 4 text
それは「酔い」です
Slide 5
Slide 5 text
VR酔いによる影響 • 酔ってしまってゲームに集中できない • 長時間プレイできない • VRは酔っちゃうからもうやらないとなってしまう… →VRコンテンツを作るものとして 「酔い対策」は必須!!
Slide 6
Slide 6 text
原因 • 平衡感覚と視覚情報の不一致 (空を飛んでいるのに椅子に座っている) • 現実の感覚との著しい違い (解像度が低い、カクつく)
Slide 7
Slide 7 text
対策 • 視野角の確保 • 遅延をなくす • リフレッシュレート • 解像度を上げる • トラッキング方法 • VR空間の移動方法 • 急な動作をなくす • VR向けのUI • などなど
Slide 8
Slide 8 text
対策 • 視野角の確保 • 遅延をなくす • リフレッシュレート • 解像度を上げる • トラッキング方法 • VR空間の移動方法 • 急な動作をなくす • VR向けのUI • などなど HMDの性能による。 基本的にコンテンツを作る人は関与できない。
Slide 9
Slide 9 text
VRにおけるUI設計の重要性 • 一番は酔い対策 • VRに慣れていない人でもすぐに理解できる • 次の動きを予測させる (急な動作が演出上必要な際などに利用できる)
Slide 10
Slide 10 text
UIの完成度が高いゲーム 「Half Life Alyx」
Slide 11
Slide 11 text
Half Life Alyxから学ぶ VRにおけるUI設計において意識すべき点 • 目線にUIを固定しない →意識がUIに集中した状態で周りの景色が動くとすごく酔う →ゆっくり視線を追従するor空間、手に固定 • 距離(近すぎず遠すぎず) • サイズ(小さすぎでかすぎ)
Slide 12
Slide 12 text
Half Life Alyxから学ぶ VRにおけるUI設計において意識すべき点 • オブジェクトに埋まらない →常にオブジェクトの前に • 階層(ネスト)を深くしない →特にVRだとUI操作が増えるのは良くない • 初心者でもわかりやすく • かっこよく!ロマン叶える!
Slide 13
Slide 13 text
実際に意識しながらゲームを作ってみた (未完成) • UIも楽しいものにしたい! • かっこよく出現するUI • 初めてプレイする人にも優しく • VRでしかできない体験を!! →視点に追従する常に表示するUI(HPなど) →手を広げて自由な大きさで開けるメニュー
Slide 14
Slide 14 text
デモ
Slide 15
Slide 15 text
詰まったところ • UI向けのTransformがあるので すが、これが曲者 • 3Dゲーム内で2Dを扱う • VRのようにCanvasをすべて World Spaceものでは座標系を 考える際にかなり複雑になる。 • 解像度等もUIと3D空間とで 別々で調整が面倒くさい。
Slide 16
Slide 16 text
ベクトルとクォータニオン(四元数) • 三次元座標にベクトルを用いるのはさすがに慣れたが、 クオータニオンはまだ慣れない。 • インスペクターではオイラー角のrotationがscriptでは quaternion制御
Slide 17
Slide 17 text
まとめ • テクスチャやエフェクト、アニメーションをこだわれば良くなり そう。 • バグが大量にあるので修正必須
Slide 18
Slide 18 text
参考資料 • 実際にデザインしてみる!VRアプリのUIデザインを作るプロセス • クォータニオン (Quaternion) を総整理! ~ 三次元物体の回転と姿勢を鮮 やかに扱う ~ • [Unity][C# Script] 回転を自在にあやつろう。 • 【Unity】2つのベクトル間の角度を求める • RectTransform
Slide 19
Slide 19 text
ご清聴ありがとうございました