Aizu-Progressive xr Lab blog

会津大学のVR部であるA-PxLの部員が持ち回りで投稿していくブログです。部員がそれぞれVRに関する出来事やVRにちなんだことについて学んだことを書いていきます。

連絡はサークルTwitterのDMへお願いします。
「面白法人カヤックVR分室」としても活動しています。詳細はこちら

チーム活動進捗報告 No.2

こんにちは、会津大VR部部長の秋山です。
ついにVR ZONE SHINJUKUがオープンしましたね!私も早く体験しに行きたいです…(マリカやりたい)

以下、今週の進捗報告になります!

Sチーム

製作物:1対1対戦ゲーム

「今週行ったこと」

  • Leap Motionでアクションをとってきて何かモノをだす
  • 基本魔法のエフェクトを作る
  • 街のモデルを作り始める
  • ネットワークで位置の同期ができるところまで作る


モノが2つ以上出てしまうときや、何も出ないときがあるのでその正確度をあげていく予定。
youtu.be

sin波など使い、よりブラッシュアップしていく予定。来週には3つほど追加でエフェクトを製作予定。
youtu.be



街のモデルの骨組み
城郭都市のイメージで作ってもらった。1番外側の円が壁、 1番内側の円より内側は広場、他の円と放射状に延びてるのが道
f:id:aizu-vr:20170713115249p:plain


ネットワークで位置の同期をした。
はじめ、UNETを使って位置同期をしたが動きがカクカクしていた。どこかのパラメータが通信の回数を制限しているのかもしれないが、Photonと比べてると遅延が目立ったのでPhotonで実装を試みた。
しかしPhotonでの実装後、UNETの通信回数を制限している箇所が判明し、値をあげて通信してみたところPhotonとほぼ変わらないくらいの早さで同期してくれるので今回はUNETを使って実装をしていこうと決めた。
 来週までにプレイヤーのステータスの同期を行う。
f:id:aizu-vr:20170715152643p:plain

Kチーム

「ソフト」

  • プレイヤーは学生で、ワイヤーアクションで登下校をする設定にした。
  • プレイヤーは自動的に進んでいく
  • 飛ぶ地点の選択肢をマーカーで表示。プレイヤーは飛びたい場所を選択していき学校までたどり着く
  • 視線で選択しViveコントローラのトリガーで飛ぶ場所を決定(ワイヤーを射出)

「ハード」

  • IVRCの規定である横1.8m × 縦1.8m × 高さ2mに収まるサイズ
  • 骨組みは鉄柱で六角形
  • プレイヤーを上に釣り上げるワイヤーと前後左右に揺らすゴム質の紐に分ける
  • ランニングマシン OR 滑る床で屋根の上を走る
  • 向かい風の演出としてサーキュレーターを使用
  • バイブレーション等でワイヤーの射出の振動を再現
  • 飛んでいる最中は床を下げてプレイヤーを吊り、足がつかないようにする。走るタイミングで床をあげ足がつくようにする

  • プレイヤーを吊る装備はハーネスやつなぎなどで試行錯誤。プレイヤーが飛んでいる際、上にワイヤーで吊られている感覚をどう誤魔化すかが課題
  • 前方にプレイヤーを引っ張るときに前から引っ張るのではなくプレイヤーの背面から引っ張る(コルセット等を用いる)

来週は、ハード設計・デザインをする予定

G1チーム

役割分担の決定をした。

  • ステージ作成やアセットの導入
  • サウンド
  • ゲームマネージャの作成とデザインを考える
  • ステージ周りのプログラム
  • 敵、ステージ管理 といった感じで分けた
    そのほかの進捗として、

  • Source Tree の導入

  • Bitbucketの設定
  • プロトタイプの作成
  • 生徒からでる音(書く、めくる、タイプ音)などの完成

    「来週の予定」

  • ミーティング

  • 各自作業

f:id:aizu-vr:20170715171235p:plain

G2チーム

使うアセットを決めた。

  • 鉛筆
  • 先生

未定のもの

各メンバーで担当を分け作業をした。

f:id:aizu-vr:20170715172003p:plain


「来週の予定」

  • 個人製作を進める
  • 学生のアセットを決める
  • ニューロンの使い方を確認

C1チーム

各担当に分かれて開発をした。
神経衰弱でプレイヤーがカードをめくる動作をするとこまでの動画

youtu.be


C2チーム

「今週行ったこと」

  • チーム内での世界観の統一
  • ゲームの仕様見直し
  • 神経衰弱のCPUの作成
  • 3Dモデルの作成(途中)
  • カードの配置場所の変更(途中)
  • 召喚ゲームの作成(途中)


「来週の予定」

  • カードの配置場所の変更
  • 3Dモデルの作成
  • 召喚ゲームの作成


f:id:aizu-vr:20170715173214p:plain
f:id:aizu-vr:20170715173226p:plain
f:id:aizu-vr:20170715173232p:plain
f:id:aizu-vr:20170715173218p:plain
f:id:aizu-vr:20170715173222p:plain

youtu.be
youtu.be

チーム開発が始まりました

今回のブログの担当をします三河です。 ブログの投稿が少々遅れて申し訳ありません。 ブログを書くのは初めてなので慣れていませんがよろしくお願いします。

今回はタイトルにもある通りチーム開発が始まったのでそれについて話したいと思います。 (前の投稿にもありますが)aizu-vr.hatenablog.com

ついに先日からチーム開発が始まりました! 自分たちのチームがどんなテーマになったかというと †学級崩壊† です。

学級崩壊というテーマを聞いてみなさんはどんなことを思い浮かべますか? 自分は不良が暴れていたり、生徒が教室を歩き回ってたり、授業中に騒いだり、とにかく授業が成り立っていない教室が思い浮かびました。 自分たちのチームはこんな崩壊しているクラスを救う教授(先生)視点のゲームを作ることにしました!

具体的にどんなゲームかといいますと、

  • プレイヤーは教授

  • 教室には真面目な生徒と授業態度の悪い(不真面目な)生徒がいる

  • 制限時間の間に学級崩壊が起きずに授業をやりきったらゲームクリア

  • 学級崩壊が起きたら負け

  • プレイヤーは不真面目な生徒にチョークなどの道具を投げて制裁を与える

  • 制裁を与えることにより不真面目な生徒は真面目になる

  • 逆に真面目な生徒に制裁を与えると不真面目になる

  • 余裕があったら難易度もいくつか作る

という感じになってます。

それで、これのどこにVR要素があるのかといいますと、教授が制裁を与えるときにものを投げます。 この動作を、HTC VIVEを使ってVRで世界にあるものを拾って生徒に投げるというゲームを作っていきたいと思います。

HTC VIVEを使いものを投げるゲームで「Dead Hungry」というものがあるのですが、 こんな感じで作っていけたらいいなと思っています! このゲームは迫りくるゾンビたちにハンバーガーを作って投げて食べさせるゲームで満腹になったゾンビは人間に戻るというなかなか不思議なゲームです。

音量がやや大きめなので注意です。


Dead Hungry - Launch Trailer [VR, Oculus Rift, HTC Vive]


いままでの活動でチームメンバーそれぞれの役割は決まったので、これからの活動では実際に開発に入っていきたいと思います。期限がとりあえず、学祭までということなのでそれまでには楽しんで遊べるゲームを作りたいと思います! もうすでにメンバーの一人がVIVEを使ってものを掴んで投げる動作を実装していて驚きましたが、私も頑張っていきたいと思います!!

VR部チーム分け

こんにちは、VR部部長の秋山です。つい最近私たち会津大学VR部はチームに分かれ活動し始めました。チームは1チームにつき4〜5人で、

  • 技術力的に強い人だけを集めたチーム(Sチーム)
  • 最終的にIVRCに参加することを目標とする研究チーム(Kチーム)
  • 学級崩壊をテーマに制作するグループ × 2 (G1,G2チーム)
  • カードを使ったゲームを制作するグループ × 2 (C1,C2チーム)

の計6チームに分かれました。テーマに沿って制作していくチームのテーマはみんなでブレストをして決めました。チーム分けをする前の週に面白法人カヤック様がブレスト研修をしてくださったので習ったことを使ってブレストをしました。
(ブレストをする前に先輩後輩間の緊張感を和らげるためにアイスを食べながらアイスブレイクをしましたw 写真撮っとけばよかった…)

1チームだけ技術的に強いチームにしたのは、近くに目標になるようなチームがあった方がそこを目標にまわりも頑張れるかと思ったからです。これもカヤック様からのアドバイスでした。
 同じテーマにつき2チーム制作をするのは、作るもの自体は違えどもテーマが同じだったら必ず同じような箇所がでてくるのでコードの共有ができるかと考えたからです。研究チーム以外は制作のゴールをデジゲー博に展示することを目標にしています。デジゲー博は11月に開催されるので時間があまり残っていません。そこで考えたのがコードの共有をできるようにして時間の削減をするという案でした。
 技術力の高いチームは、プレイヤー同士で戦えるようなネットワークを利用したゲームを作っていきます。  展示の機会としてはデジゲー博の1ヶ月前に学祭があるので、そこでのフィードバックをデジゲー博前のブラッシュアップするべき箇所の確認の機会にしていきます。

各チームの進捗

Sチーム

1対1対戦ゲームを制作していく。
(最終的な目標は多人数でできるようにすること)

「ゲーム内容」

  • 魔法を使ったプレイヤー同士のバトルゲーム(2人用)
  • 基本属性が3種類あり、HMDをかぶる前にプレイヤーに決めてもらう
  • 基本魔法(無属性)はだれでも放てる
  • 最初ゲーム開始したら街を探索し魔法を強化できるアイテムを収取する(アイテムも同期し奪い合いができるようにする?)
  • ある程度の時間が経ったら戦闘用エリアに強制移動し戦闘開始
  • プレイ時間は1プレイ5分(3分探索、2分戦闘)
  • 探索が終わると集めたアイテムが集計され数に応じてレベルアップする
  • 街のどこかにいる住人や師匠(NPC)に会えれば低コストでレベルアップさせることができる
  • 基本魔法以外も自分の好きなスキルにポイントを割り振って覚えることができる
  • お金と同じような概念を作り、それを使ってNPCと買い物ができるようにする

HMDはHTC Viveを使用するが、Viveコントローラの代わりにLeap Motionを使って製作していく予定。

「先週行ったこと」

  • 世界観を合わせる

 作っていく際にチームのメンバー同士が同じ世界観を持っていないとバラバラになってしまうので、まずはじめに世界観の統一から始めた。具体的にはSlackのチームチャンネルで自分の中の想像を伝えられるような画像、動画を送りあった。

  • Leap MotionをHTC Viveでどのくらい干渉、遅延があるかの確認

Leap MotionとHTC Viveのセンサーはどちらとも赤外線なので何かしら干渉が起こるのではないかと思い、実際に確かめた。結果とくになにも感じられなかったのでLeap Motionで作っていこうと決めた。実機テストをしたときにわかった問題点として、
Leap Motionは有線でしか使えないのでコードが邪魔になってしまう」
Leap MotionをHTC Viveにどのようにして固定するか」
があがった。

  • 1週間の役割決め

チームメンバー1人1人の1週間での課題を決めた。

Kチーム

最終的にIVRCを目標に製作していくチーム。 活動計画の話し合いをした。
ワイヤーアクションをよりリアルに体験できるような作品を製作予定。

  • ゴールの設定
  • ゴールの分解
  • 何が必要かの洗い出し

「来週の予定」
物理的な物から取りかかっていく予定
f:id:aizu-vr:20170708195129p:plain

G1チーム

学級崩壊をテーマにしたチームその1。
ゲームの方向性、企画、必要なもの(グラフィック、音、プログラムなど)の洗い出しをした。

「来週の予定」
 決めた役割でプロトタイプ作成をする。
チーム開発への準備(環境など)や確認

「どのようなものを作るかの詳しい文献」

†学級崩壊† - HackMD

G2チーム

学級崩壊をテーマにしたチームその2。
仕様をまとめた。

敵・・・体力、0になるとクリア
プレイヤー・・・注目度、上がるにつれて警戒される。注目度MAXになると追放。
警戒される動作・・・物を持つ、攻撃失敗、視線が合う、見られている際の攻撃(即OUT)、関係ないものがある(ケータイなど)
投げる動作・・・狙いを定めてコントローラを振る、加速度を検知して物を投げる
時間制限について・・・敵が白板を埋めるまで(約3分)

「メンバーのタスクを決めた」
・ステージ構成
モデリング
スクリプト

C1チーム

カードを使ったゲーム製作チーム1。
今週は製作するカードゲーム(神経衰弱)の仕様、デザインの構想を相談し概ね決定。チーム内で4つに分かれ、各担当を決定。来週は担当ごとにゲームを製作。

C2チーム

カードを使ったゲーム製作チーム2。
ゲームの仕様を決めた。
普通の酔拳衰弱から一つの模様を除いて行う。つまり一枚余るカードがある。そのペアにならなかったカードを取得し、属性と数字で戦う。
それぞれのカードにキャラクターを決めて召喚して戦う。
f:id:aizu-vr:20170708220307p:plain
「来週の予定」
円柱の側面にカードを配置して、自分で回しながら選択できるようにする。
モデリングのブラッシュアップ
f:id:aizu-vr:20170708220524j:plain

youtu.be


今週はこんな感じでしたっ!来週も進捗報告していきます!

全天球画像描写に挑戦してみた。

先週担当のはずでした、学部3年の飯田です。
LTをやって安心してしまい、ブログ担当のことをすっかり忘れてしまっていました。投稿が遅れてしまいすみません。
気を取り直して、初めてのブログを始めて行きたいと思います。

360°の全天球画像描写

これからチームでゲームを作っていくにあたって、個人的に必要なので取り組みました。
やったことを要約すると、
1. 球体を作る
2. shaderをちょこっといじる
3. マテリアルを作り、shaderを適用
4. 球体にマテリアルを貼る
これだけです。
どうです?簡単ですよね?
Unity初心者の私でもできたので、皆さんもすぐにできます!
では、細かい部分をみていきましょう。

球体を作成
これはすぐにできますね。球体の内側から画像が見られるようにsphereの中にこれらを入れましょう。(FPSControllerではなく、Cameraでいいです。)
f:id:aizu-vr:20170703005202p:plain

shaderを設定する

shaderを以下のように作成し、
f:id:aizu-vr:20170703005200p:plain textをちょっと追加。

Shader "Unlit/Sphereview"
{
    Properties
    {
        _MainTex ("Texture", 2D) = "white" {}
    }
    SubShader
    {
        Tags { "RenderType"="Opaque" }
        Cull Front//add text
        LOD 100

        Pass
        {
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            // make fog work
            #pragma multi_compile_fog
            
            #include "UnityCG.cginc"

            struct appdata
            {
                float4 vertex : POSITION;
                float2 uv : TEXCOORD0;
            };

            struct v2f
            {
                float2 uv : TEXCOORD0;
                UNITY_FOG_COORDS(1)
                float4 vertex : SV_POSITION;
            };

            sampler2D _MainTex;
            float4 _MainTex_ST;
            
            v2f vert (appdata v)
            {
                v.uv.x = 1-v.uv.x;//add text
                v2f o;
                o.vertex = UnityObjectToClipPos(v.vertex);
                o.uv = TRANSFORM_TEX(v.uv, _MainTex);
                UNITY_TRANSFER_FOG(o,o.vertex);
                return o;
            }
            
            fixed4 frag (v2f i) : SV_Target
            {
                // sample the texture
                fixed4 col = tex2D(_MainTex, i.uv);
                // apply fog
                UNITY_APPLY_FOG(i.fogCoord, col);
                return col;
            }
            ENDCG
        }
    }
}

コメントアウトでaddtextと書かれている、
Cull Front
v.uv.x = 1-v.uv.x;
を書いただけです。

最後にマテリアルを作り、上記のshaderをマテリアルに入れ、さらにそれをSphereに入れて完成です。
f:id:aizu-vr:20170703005158p:plain f:id:aizu-vr:20170703013120p:plain

まだ自分の知識では、荒っぽくて綺麗に描写できませんがこれからもっと学んでいきたいと思います。
もし、『俺の方が綺麗にできる。』 『このほうがよくない?』という方がいましたら教えてください。待ってます。

参考リンク(というよりほぼ丸写しですw)
Sphereモデルを天球として利用するシェーダー - Qiita

6/12日にUnity勉強会で学んだことまとめ

おはようございます。今回のブログを担当させていただく平川といいます。

ブログ投稿が遅れてしまい申し訳ございません、この場を借りてお詫び申し上げます。 申し訳ありませんでした。

はい。

というわけで今回はタイトルの通り六月十二日に開催されたUnity勉強会でUnity Technologies Japanの簗瀬氏にお話ししていただいた内容を綴ろうと思います。ブログを書くのは初めてなので何卒よろしくお願いします。

さて、講演会のテーマは

感覚が世界を作る -V Rと錯覚-

ということで、主にVRを利用した錯覚、つまるところ脳を騙すことについて教えていただきました。

まず最初に簡単なゲームを遊ばせてもらい、そのスコアを計るのですが、実はそのゲームには細工がしてありました。

回数が増すごとにゲーム側が補正を掛け、最終的にはどうプレイしても満点がとれるのですが、プレイしている本人は気が付かない、つまり自分の腕が上達していると感じるという実験結果が出ているそうです(要するに上達したと勘違いしているということですね)。実際私は全く気づきませんでした。

何より興味深いのが、その勘違いが無駄ではなく、その後に補正を切っても高いスコアを出せたそうです。暗示というやつでしょうか…。

ゲームをさせる上ではそういった補正を使って気持ちよくプレイさせるという考え方があるというのに衝撃を受けました。最近のゲームだとマリオカート8デラックスのハンドルアシスト機能という機能がそれに近いでしょうか。 実際その機能をオンにしてプレイすると上達した気分に浸れるぐらいには勘違いできます。ミニターボ2段階になるけど

こういった自分の五感をだます様々なコンテンツを紹介していただきました。

  • 自分の手や指が伸びる映像を見ながらピアノ(?)を弾くと実際に自分の手が伸縮するように感じたり、指が増えたと感じる。
  • ARによって実際よりも大きく見える食べ物を食べるとより早く満腹感を感じる。小さい場合は逆に普段より多く食べることができる。
  • VRによってまっすぐに見える道をゆっくり(小さい空間なのでこれが重要らしい)歩くと、実際に半径5mの円周を回っていてもまっすぐの道だと感じる。
  • 自衛隊になり人命救助を行うゲームをプレイした人ととスーパーマンになり人助けをするゲームをした人の前でペンを落とした時、スーパーマンのゲームをやっていた人の方が早く拾う。
  • 自身の前に画像編集で作られた自分の表情に感情がつられてしまう(悲しい顔を見ると悲しくなる)。 etc…

個人的には実際に指が伸びたり増えたことがないのにそう感じたというのが非常に面白いなと感じました、どんな感覚なのでしょう。

他にも学生が作ったコンテスト、VRクリエイティブアワードの作品を紹介していただきました。どれもクオリティが高く、これを学生が作ったのか…と非常に驚きました。 vrc.or.jp

こういったコンテンツや実験を見ていくと、人間の五感とは存外曖昧で、簡単に騙されてしまうということが分かります。

一時期昔に話題になった(気がする)もので、ゴムの手を用意し、仕切りを立ててゴムの手のみを見える状態にして、ゴムの手と実際の手を筆で同時になぞるのを繰り返すと、そのうちゴムの手を自分の手だと錯覚するという実験がありましたね。ゴムの手を自分の手だと思い込む人ほど実際の手の温度が下がる、ゴムの手に危害を加えようとすると実際の手に危害が及びそうだと脳が判断する等、様々な面白い結果が出ているので興味がある人は調べてみてください。こんなのもあります↓ www.youtube.com

だいぶかなり話が脱線してしまいましたが、それだけ簡単に人間は騙されてしまうということですね。

こういった錯覚を利用すればよりいっそう仮想空間に没入することができるので、非常に興味深いと感じました。

余談ですが、その後の懇親会でも様々なお話をお聞きすることができました(ここに書いていいのか分からない内容がちらほら…)。

色々あったお話の多くはやはり実際に作って出すことが重要だ、とのことでしたのでより一層技術や知識を研鑽していこうと思います。 最後まで見てくださった方、ありがとうございました。

最後に、アークシステムワークスの新しいドラゴンボールのゲームのクオリティがすごいそうです。興味のある方はぜひ見てください。

www.youtube.com

会津大学VR部の部員が持ち回りで投稿していくブログです。特にテーマに縛りを設けずに書いていきます!