Aizu-Progressive xr Lab blog

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

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

VR ZONE 新宿 感想

こんにちは、学部1年の髙橋です。先日、VR部ないの友人と一緒に VR ZONE に行ってきました。今日は実際に体験した感想や思ったことを書いていこうとおもいます。おそらくほとんどのアトラクションと体験してきましたが特に印象に残った2つについて書こうと思います。あ、ネタバレを含むので見たくない方は見ないでくださいね。

DRAGON BALL
脱出病棟Ω
感想

DRAGON BALL

f:id:aizu-vr:20190331173828j:plain

どんなゲーム?

ドラゴンボールの世界で気弾やかめはめ波を習得して最後に同時にプレイしているプレイヤーと対戦できるゲームでした。

できたこと

気弾・・・素早く掌底を突き出すことで生み出すことができる。
かめはめ波・・・膝を曲げ、腰に手を当てることで気を溜め、ため終わり次第両手を右腰に持ってきてあとは「か〜め〜は〜め〜波ぁぁぁぁ!!!」と両手を方に突き出す。

よかったところ

     
  • かめはめ波を撃つ際、気を貯めた時に足元が震え実際に気が溜まっていることを体感できる。
  •  
  • ゲーム開始前、スタッフさんが技の発動方法について説明してくれますがさらにゲーム内のチュートリアルで悟空、ベジータ、ピッコロ、クリリンが技について指導してくれます。(悟空、ベジータ、ピッコロ、クリリンについてはゲーム開始前に選ぶことができました。)

もっとよくできそうなところ

私はベジータとピッコロに指導をしてもらいましたが、一度めのベジータはしっかりと思った方向にかめはめ波を撃つことができました。しかし、ピッコロでは思うようにかめはめ波が打てずまともに戦えませんでした。気弾に関しては両方とも思った方向に行かず、かなり手こずりました。修行が足りないせいもありますが、目の前のセンサーとトラッカーの設定がうまく行ってなかったと思うのでうまくいけばさらに楽しめそうだなと思いました。

脱出病棟Ω

f:id:aizu-vr:20190331181402j:plain

どんなゲーム?

廃病院から車椅子に縛られた状態で脱出を試みるゲームでした。ルールは制限時間内の脱出です。誰か一人が殺された場合、仲間が道連れになります。

できたこと

  • 電動車椅子に似せた筐体に座りレバーを動かしながら、懐中電灯を頼りに移動。
  • ルート選択

よかったところ

  • ログインからゲームが始まるまで(他のプレイヤーがログインするまで)一つの部屋に隔離され、ゲームが始まる前から恐怖心を植えつけられました。
  • ゲームのルールでは一人が殺されると他のプレイヤーも道連れとあり、捕まった習慣殺されるのかと思いました。しかし、捕まると処刑室に連れて行かれました。そこには自分と同じ格好をした人、処刑人がいて、仲間とゴールが映ったモニターがありました。 ボイスチャットができるのでそれで仲間を誘導し、自分が殺されるまでに仲間をゴールに届けることができれば自分も助かるというものでした。復活のチャンスがあって助かりました。しかし助かったのも束の間、今度は仲間と同じ選択肢を選らぶように迫られさらにはギロチンのようなものが回転しながら迫ってきてかなり怖かったです。助かったと思ったら次の習慣から絶望に落としにくるような仕様が面白かったです。

もっとよくできそうなところ

廃病院にしてはものがたくさんあり電気が通っていたのでまだ潰れて年数が経っていないのかなと思えば、病室の中がシーツがビリビリで所々にはゾンビのような生き物たちがいる。廃病院ではなく、知能のあるゾンビのような殺戮者に支配された病院なのかなと思ったのでもう少しゲーム内の世界を細かく設定できるんじゃないかなと思いました。

感想

f:id:aizu-vr:20190331190635j:plain VR ZONEが終わる前に行くことができとても良かったです。いくつかのゲームの説明書きの下にUnreal-Enginのロゴがあり普段部活で使っていたUnityとの違いやそれぞれでゲームを作ることで何が変わるのかとても気になりました。また、まだまだトラッカーやヘッドセットがあるとストレスがかかるのでもっともっとデバイス自体が小さくなりストレスフリーになればより快適にプレイできるのでその日がさらに楽しみになりました。

面白法人カヤックインターン体験談

こんにちは学部2年(新3年)の森口です

本日はタイトルにもある通りインターンシップで経験したことの話をしたいと思います。
今週1週間(3/25~3/29)鎌倉にある面白法人カヤックさんのインターンシップに参加させていただきました。 私はクライアントワーク事業部に所属し、課題としてヒューマノイドモデル絡みのことをしました。(以降ある程度はコンプライアンス的に伏せさせていただきます)

1週間のざっくりとした流れとインターンシップに参加してみての感想を述べていきたいと思います。

1日目

 1日目は主に課題のための下調べでした。どんな機能を盛り込めばいいか、どうすればそれを実現できるかなどについて調べました。その過程で人間の体の構造について調べたりしたこともあり、普段目にしないような分野にまで踏み入ったのである意味面白かったです。

2日目

 2日目から本格的に実装に入りました。 いくつかタスクがあったのですが、一応簡単にするためにこれ以降やった作業はタスクn(nはタスク番号)といった形で記事は書かせてもらいます。

タスク1はヒューマノイドモデルの目を人間ぽく回転させるというものだったのですが実際これが一番苦戦した内容でした。個人的Unityで内容がよくわかんないものランキングで上位に来るQuaternionにとても苦しめられました。回転をいじるときに出てくるものなんですがPositionなどとは違いベクトルではなく4元数と呼ばれるものなので扱いが若干違ったりオイラー角に直して扱うときの範囲が0~360だったりと何かと厄介者でした。

3日目

 しれっと3日目に入りました。なぜかというと全部で5日間あるインターンシップの日程の中でタスクの割り振りは以下のように結果的になりました。

1日目:下調べ

2日目:タスク1

3日目:タスク1

4日目:タスク1、タスク2、タスク3

5日目:タスク3、タスク4

はい。ご覧の通りほとんどを件のタスク1もといQuaternionにやられていました。なぜそこまで苦戦したのか、それはUnityではオイラー角が0~360度の間で取り扱われることが主な原因だと思っています。例えば-30度は330度と同じ角度ですが計算や判別処理を-30度でやるのと330度でやるのは全然違います。また、-30度というのは内部的に330度として処理されるので改めて値をとってくると前回と違う値になってたりします。また、人間の目は回転可能な角度が決まっているので閾値を設けて制限をかけるようにしたのですが、人間の目は球体ですので(当たり前)どちらか一方向に回転を続ければ反対側から戻ってきます。つまり正の方向にオーバーしたのか、負の方向にオーバーしたのかというのを判定させる必要もありました。そのような理由でこのあたりの実装に苦戦していました。

後この日は飛び入りでしたがブレストにも参加させていただきました。私は緊張などで全く発言できなかったんですが自分が今まで経験とは全く違うどんどんアイデアが膨らんでいくブレストで、社員の方々皆さんが「あれが実現できたらおもしろい」「やっぱりこれがやりたい」と互いの意見を尊重しつつもしっかりとまとまりのある素晴らしいブレストを見させていただきました。これが本来のブレストなんだと思いさすがはカヤックと感じました。

4日目

 よくわかりませんがこの日は異様に頭がさえてました。3日目ずっと考えても出なかった解決案が午前中の数時間で出ました。まずは0~360の範囲で扱われるオイラー角を-180~180の間に変換してあげます。そうすることで判定処理や計算過程で負の角度を用いることができるようになります。角度の変更は以下の式でできます

float angle; //使いたい角度
angle=(angle>180)?angle-360:angle; //0~360を-180~180に

//諸々の処理

angle=(angle<0)?angle+360:angle // -180~180を0~360に

後は諸々の処理のところに正の方向の閾値をオーバーしてたら~みたいな処理を書いてあげればOKです。
ここまでたどり着くまでにだいぶQuaternion関係の記事を漁ったのでだいぶ成長できたと思います。
タスク1が完了した後は次のタスクへ進むわけですが割とこの辺はサクサク進みました。

タスク2,3を簡単に説明すると、2はまた目関係ですがこれはカヤックさんにあったものを1で作ったものとかみ合うようにしたというものなので詳細は省かせていただきます。

3は呼吸に合わせて肩や胸が動く機能を実装しました。適度なスパンでボーンに回転を加えてあげるといい感じです。

5日目

 最終日です。ここでは3の調整とオプションみたいな立ち位置で時間があったらやってと言われていた4をこなしました。4は感情を表現するといったもので、人間の感情には流れがあるというものを目にしたのでそれの実装を行う予定でした。構想はできていたものの実装で詰まったところがあり時間が足りず納得のいくところまでは実装ができませんでした、

 この日まで本当にあっという間で体感的に1日前に出てきて次の日に戻ってきたくらいでした

感想&まとめ

 長くなってきたのでこの辺でまとめますね。

 自分自身がっつりコードが書けるほど技量があるわけではないので、もしかしたらできる人ならサクサクこなしてしまう課題だったのかもしれませんがそれでも学習することは非常に多くてためになった課題だと感じました。判定処理の方法や回転の取得方法についても様々な考え方やアドバイスをいただけたので処理手順の勉強にもなりました。

 また、オフィスでエンジニアの一人として働く雰囲気というのも体験できたと感じています。カヤックの社員さんは非常に和気あいあいと仕事をしていて面白く仕事をしているのがよく感じられました。

 繰り返しにはなりますがこの1週間は自分にとって大きく成長できる機会でとても内容の濃い1週間だったと思います。今回のインターンシップにてお世話になった面白法人カヤックの皆さん、本当にありがとうございました!お世話になりました!

Blender 2.8 でもやしを生やす

会津大学学部2年の杉山です。

Blenderの教科書を見ていたらパーティクルを使った大量複製のやり方が載っていたので、もやしを使って実際にやってみようと思います。

まずはもやしを用意します。

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

もやし

このもやしはCylinderとCurveから作りました。

次に、このもやしを複製するためにPlaneを用意。particleを設定していきます。

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

こう設定すると・・・、

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

こうなります。このままでは全部のもやしが同じ方向を向いていて不格好ですので、もう少し設定をいじっていこうと思います。

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

レンダータブのスケールランダムの値を少しいじって。

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

子を有効にしてラフネスタブのランダムの値も少し上げます。そうすると。


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

サイズがバラバラで、向いてる方向が一定ではないもやしが群生しました。

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

アレイ モディファイアに比べて不規則な複製が簡単にできるので面白いですね。

 

HOLOGATE 体験レポート

f:id:aizu-vr:20190317192538j:plain
これはNewZealandのHamiltonにあるFunZoneというゲームセンターの中にあったものです。
こんにちは、学部一年の児玉大聖です。今回私はHOLOGATEというゲームを体験してきました。

HOLOGATEとは世界19ヶ国に204ヶ所展開されているVRのゲーム施設です。そこでは4つのゲームモード(さらに4つを現在開発中)の中から自分の遊びたいものを1つ選び、最大4人同時に遊ぶことが出来ます。

現在まだHOLOGATEは日本に上陸していません。なので貴重な体験と思い、私は今回「SIMURAI」と「ZOMBITE」の2つを遊んできました。(因みに私が体験したところでは1プレイ16NZDでした。こちらは物価が高いのでこの値段でも違和感はありませんでした)

感想

まずは「ZOMBITE」、これはウェーブごとに出現する敵を倒していくシューティングゲームでした。初期武器は3点バーストの銃で、定期的に来るドローンが持つメダルを撃つとそのメダルに応じた武器が1マガジン使えるようになります。ゾンビがリアルに作り込まれており、視界外から近づいてくると気付かないので割とびっくりしました。状況に応じて適切な武器を選択し、効率よく敵倒すことがこのゲームのポイントでした。

次に「SIMURAI」、このゲームの大まかなシステムや流れは先のZOMBITEと同じでした。違う点としては任意のタイミングでパワーアップアイテムを使用出来ることと空中に敵が出現するため三次元で敵を捉える必要があることです。また一部ボスはシールドを持っており、このシールドはその核を撃つとシールドが小さくなる特性を持っていました。そしてこのゲームだとボス出現中にも敵が湧いてくるのでZOMBITEよりもチームも連携が重要になります。どちらのゲームもマイクが自分の音を拾ってくれるので、味方との連携は取りやすかったです。

考察

それぞれのゲームの長所・短所として

「ZOMBITE」

  • ゾンビのリアルな恐怖
  • グレネードランチャーでまとめてゾンビを吹き飛ばす爽快感
  • ゾンビでびっくりする反応が見ていて面白いのでゲームをしていない人も一緒に楽しめる
  • 倒した後のゾンビが邪魔
  • ゾンビが活動しているのかそうでないかの区別が付きづらい

「SIMURAI」

  • 連携して敵を倒すチームプレーとしての面白さ
  • 敵がそれぞれ1つ以上の特性を持っている
  • パワーアップアイテムが半分地面に埋まっていることがあった

また共通して

  • 世界観が統一されている
  • チュートリアルがしっかりしている
  • コントローラーが銃の形になっており狙いやすい
  • 自分がいつどこから攻撃を受けたかわかりずらい
  • ダメージを与えているかわかりずらい

と感じました。2つともゲームとしての完成度が高いと私は感じました。それぞれのゲームのコンセプトがしっかりしていて、シンプルなルールで短期間で楽しめるようになっていました。また基本操作や流れはほとんど同じにも関わらず全く別のゲームとして成立していました。

私自身売り物としてのVRゲームをあまり経験したことはなかったのですが、今回HOLOGATEをやってみてVRで遊ぶことは重要だと思いました。

2018年度活動報告

こんにちは。部長の橋本です。年度末ということで、2018年度の活動の振り返りをしてみようと思います。

目次

イベント

  1. 会津マルシェ 5/27

    鶴ヶ城の近くにある総合病院付近で開かれた朝市である会津マルシェへの参加が今年度の最初の外部の展示イベントとなりました。部員の一人が作成した雪合戦のコンテンツを展示し、地域の方々に遊んでいただきました。

    f:id:aizu-vr:20190228185317j:plain

    aizu-aa.co.jp

  2. ブレスト研修会 6/30

    面白法人カヤック様と合同で仙台にてブレスト研修を行いました。

    ブレストとは

    ブレインストーミング(brainstorming)。略して、ブレスト。集団でアイデアを出す会議。既存の枠にとらわれず革新的なアイデアを出すために有効な手法です。

    出展 : 面白法人カヤック 始まりも終わりもブレスト

    • 他の人が出したアイディアに乗っかる
    • とにかく量をだす

    というブレストの基本を一年生が学ぶ良い機会となりました。また、ブレストのテーマの1つとして「VRコンテンツ」があり、たくさんのアイディアが出されました。

    f:id:aizu-vr:20190228185357j:plain

  3. オープンキャンパス 8/11

    昨年度に引き続き今年度もオープンキャンパスでの展示をさせていただきました。多くの中高生にVRコンテンツを楽しんでいただけました。

    f:id:aizu-vr:20190228185446j:plain

  4. 開発合宿 9/14 ~ 9/16

    VR部では南会津にある宿泊施設であるCloudCampにおいて昨年度より開発合宿を開いております。周囲が森に囲まれているので普段は感じることができない自然を感じながら快い気持ちで開発活動ができました。

    f:id:aizu-vr:20190228185532j:plain

    cloudcamp.jp

  5. 学祭 10/6 ~ 10/7

    もちろん学祭でも展示しました!

    f:id:aizu-vr:20190228185658j:plain

  6. デジゲー博 11/4

    昨年度も出展させていただいたデジゲー博。今年も多くのサークルが出展しており、抽選で参加サークルを決定することになったのですが、見事2年連続当選を果たし参加することができました。東京でのイベント展示だけあってVRコンテンツ慣れしてる方がほとんどでしたが、それでもオリジナルVRコンテンツを楽しんでいただけました。

    f:id:aizu-vr:20190228185630j:plain

    http://digigame-expo.org:

  7. IVRC 11/14 ~ 11/16

    国際学生対抗バーチャルリアリティコンテスト、通称IVRCと呼ばれる由緒あるVRの大会にも参加することができました。幾多の機器トラブルに見舞われましたが、ユース部門で銀賞を取ることができました!

    f:id:aizu-vr:20190228185912j:plain

    f:id:aizu-vr:20190228185949j:plain

    ivrc.net

    作ったコンテンツ

    http://ivrc.net/archive/打ち上げ花火、-下から見るか-指から打つか2018/

  8. パソコン甲子園 11/18

    全国の高校生、高専生が対象のパソコンコンクールが会津大で開かれました。パソコン甲子園開催本部の方から展示ブースにてVR部にコンテンツを出してもらいたいとの相談を受けて展示させていただけることになりました。当日は多くの親子連れの方々に楽しんでいただけました。

    f:id:aizu-vr:20190228185818j:plain

    web-ext.u-aizu.ac.jp

  9. 健康づくりハッカソン 12/15 ~ 12/22

    学内で開かれた「健康」をテーマにしたハッカソン。一年生だけでコンテンツを作る機会を設けるために一年生にこのハッカソンに参加してもらいました。ちなみに、4年生のチームも参加し一年生チームを差し置いて最優秀賞を獲得しました。

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

  10. ANYハッカソン 2/16 ~ 2/17

    会津(A), 新潟(N), 山形(Y)の3大学のVR部が合同となって開催したハッカソン。第一回のテーマは「VR」ということで、各チームがVRコンテンツの開発に励みました。来年度も夏頃に山形大学で開催されます。

    第一回ANYハッカソンレポート : https://naoto80840.github.io/2019_any/report/

チーム活動で作ったコンテンツ

今年度は5チームがゲーム作成のチームとして、1チームがIVRCに向けてコンテンツを作成するチームとして活動しました。ゲーム作成チームの名前はリーダーの呼び名の頭文字からとってます。IVRCチームに関してはイベントの項目をご覧ください。

  • Pチーム : BlindEscaper

    舞台は廃墟となった研究所。かつての人体実験に使用された被験体が怪物となって彷徨う中見つからないように脱出を目指すホラー脱出ゲームです。このゲームの特徴は自分が出した音が光として可視化されることです。プレイヤーはこの光を目印に真っ暗な研究所内を探索することになります。怪物は音に反応して襲ってくるので、プレイヤーは石を投げて怪物の意識をそらしてあげないといけません。

    youtu.be

  • Rチーム : Design

    ノクスディエース地方にある小さな王国の姫、リエルが魔王にさらわれた! 国一の実力者であるベルスは姫を救出するため冒険に旅立つのであった...! ルーン文字を使った戦闘システムとド派手なエフェクトが見ものです。

    youtu.be

  • Sチーム : Meke Own Stage!

    ステージを作るフェーズと戦闘フェーズの2つから成り立っているVRタワーディフェンスゲームです。ステージ作成フェーズではいかに自分に有利となるようなステージを作成できるかが鍵となります。戦闘フェーズでは銃を使ったアクションが楽しめます。

    youtu.be

  • Uチーム : OneRoom

    VRで味わえる謎解き脱出ゲームです。プレイヤーは透視能力などの能力を使うことができ、謎解きに活かすことができます。

    youtu.be

  • Yチーム : 破壊の神

    建築物を壊しまくる爽快感を味わえるゲームです。プレイヤーは殴ったり、破片を投げたりしながら破壊の限りを尽くし、破壊ポイントををためていきます。

    youtu.be

その他今年度にやったこと

去年同様1年生向けにC言語勉強会を実施しました。この勉強会ではプログラミングにおける基礎(変数、条件分岐、ループ、配列、関数)を学びます。来年度以降はCではなくC#を使うことに決定しました。

他には、12月から1月にかけて部員全員を対象に部内面談をやりました。目的は一人一人が1年の活動を振り返ってもらうこと、来年度の部の改革で取り入れるべき要素を探すことです。面談では個人の悩みや部の企画であるLT(ライトニングトーク)、一年生の育成プロセスなど様々な不満点について1対1で話し合うことができました。特に多く上がった部の問題点として「チームでの活動以外に部員で交流することがあまりなかった」というものがありました。これを受けて、「毎回4~5人程度のグループを作って実施するもくもく会」を実施したりしました。部の活動をよりよくしていくために部内面談は有効だと分かったので、今後も続けていくつもりです。

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