Mashup Awards 2017
ご覧くださり、ありがとうございます。
今回はVR部1年の佐藤が担当します。
先月、私たちVR部はゲーム開発を行なっている数チームでMAの1st stageに参加してきました。
まずMAとは何か?ご紹介しましょう。
ざっくりと説明すれば、「ぶっとんだ発想で面白いモノを作れ!」というテーマの技術系コンテストです。
様々な応募形態からなる勝ち抜き戦で、参加者はそれぞれ自分の作品を登録し、各審査を通ることで次のステージへの進出資格を得ることができます。
私たちが参加したのは10/28~10/29の2日間で開催された「ハッカソンバトル」福島ブロック予選です。
そしてその開催地は我らが会津大学・・・ということでこの良い機会に参加してきました。
開催地だけに会津大の学生が多く参加していました。中には一般の方もいらしていて、良い刺激を受けることができました。
当日の様子↓
「会津ハッカソン予選 #MA_2017 求むトガった作品!! with UDC2017」をトゥギャりました。 https://t.co/TDq9lyOS7P
— MashupAwards@決勝は12/16 (@mashupaward) 2017年10月29日
VR部が受賞!
なんとなんと、魔法アクションVRチームが企業特別賞、学級崩壊チームが最優秀賞を受賞しました!
学級崩壊チームは2nd stageへ進出し、12/10に開催される準決勝に参加します。
【会津ハッカソン】#ma_2017
— MashupAwards@決勝は12/16 (@mashupaward) 2017年10月29日
みんなおつかれさま!!良い笑顔! pic.twitter.com/1zVhrZapAC
VR部はこれからも積極的に活動を行なっていきます。さらなる朗報をお待ちください!
"iTween" を使ったアニメーション作成
こんにちは、会津大VR部1年の森川です。
今回はチーム開発の時に使ったAseets「iTween」に関しての簡単な使い方をまとめていきたいと思います。
iTweenとは
Unity上でアニメーションクリップを作ってAnimetorをいじる方法ではなく、スクリプト上で簡単にアニメーションができる便利なAseetsです。
このAseetsは無料で使うことができるので使ってみるしかないですね!
使い方
今回は例として、
1. x方向に1秒で5移動
2. その場でy方向に3秒で720°回転
3. アニメーション終了後に消滅
をiTweenを使って作っていきたいと思います。
サンプルコードはこちら
コードを簡単に説明していきます。
iTween.MoveBy(引数1,引数2)
引数1のオブジェクトの現時点でのpositionから、引数2で指定した位置まで移動させる。
iTween.RotateAdd(引数1,引数2)
引数1のオブジェクトで前に行ったアニメーション(ここではMoveBy)に追加で、引数2で指定した向きまで回転させる。
「MoveBy」「RotateAdd」の他に「MoveTo」やら「ScaleFrom」などがありますが、これらに関してはココでは詳しく説明はしません。簡単にまとめると
- Move◯◯ → Position(オブジェクトの位置)
- Rotate◯◯ → Rotation(オブジェクトの向き)
- Scale◯◯ → Scale(オブジェクトの大きさ)
という感じに、使い分けていきます。
今度はiTween.Hashの中身を見ていきます。今回は要素がたくさんあるRotateAddの方を説明していきます。
iTween.Hash( "key1", 値1, "key2", 値2, … )
このように記述することにより「key1に関して値1を実行、key2に関して値2を実行…」と指定することができます。
"y",720, → y方向に720°回転
"time",3.0f, → 3秒間で回転させる
"delay",1.0f, → 開始時間を1秒遅らせる
"oncomplete","aaaaa" → RotateAddのアニメーションが終了した後、aaaaaというメソッドを呼ぶ
コードの説明は以上です!
最後にこのコードを動かしたいオブジェクトにアタッチすれば動かすことができます。画像見る限りちゃんと動いてますね。
(画像小さくてすみません)
最後に
いかがでしたでしょうか?
私はiTweenを触って「こんな簡単にアニメーション作ることできるのか、それに見やすい!」と思いました。皆さんもそう思ってることでしょう(多分w)。私自身まだまだiTweenを触り尽くせてないので、「これを使って何か面白いもの作れたらな」と思っております。
参考にしたサイトのリンク先はこちら
【Unity】iTweenの使い方 / お試し【入門】 - 腐りかけエンジニアのブログ
【Unity Asset】iTweenがすごく便利だった | GMOメディア エンジニアブログ
先ほどのアニメーションメソッド(MoveBy等)に関してはこちら
【Unity】iTweenの使い方 / アニメーションメソッド【入門】 - 腐りかけエンジニアのブログ
夏休みを振り返ってみる
こんにちは、VR部部長の秋山です。いまさらですが夏休みの振り返りをしていこうかと思います。
- 会津大学オープンキャンパス 8/11
- 帰省 8/16〜8/20
- 面白法人カヤックインターン 9/4~9/15
- 東京ゲームショー 2017
- VR部 開発合宿 9/29〜10/1
- 蒼翔祭 10/7〜10/8
会津大学オープンキャンパス 8/11
会津大学オープンキャンパスが8/11(金)に行われたのですが、会津大VR部のことを少し紹介できる機会を設けてもらいました。会津大学の敷地内にあるLiCTIAという建物の1階を借りて、VRコンテンツの展示とVRコンテンツ制作講座を開きました。
VRコンテンツの展示の方では私がVRプロフェッショナルアカデミーで制作したコンテンツを展示したのですが、少し難易度が高めのコンテンツを展示してしまった感がありました。やはりVRの操作は慣れが必要だと改めて感じました。
来年度また機会があったらそのときはVR部のチーム開発で制作したものを展示してみたいですね。写真を撮る癖がないので画像がありませんが... 撮影癖つけたいですね
帰省 8/16〜8/20
私の実家は静岡県なのですが、静岡の実家は帰省していました。帰省している間は時間があったので、チーム開発で使うことになっている魔法のエフェクト制作をしていまいた。
「氷魔法」
今日の進捗 pic.twitter.com/YrTapk4zhV
— Achu@デジゲー博Y-7 (@Achu_retro) 2017年8月19日
「雷魔法」(動画は24日ですが実家で作ってます)
雷属性の防御魔法 pic.twitter.com/NgKUG7dIoj
— Achu@デジゲー博Y-7 (@Achu_retro) 2017年8月24日
会津に戻ってから、これらをVRで見てみた動画
VRでみてみた pic.twitter.com/j7dECWdNYt
— Achu@デジゲー博Y-7 (@Achu_retro) 2017年8月28日
やはりVRで見るとサイズ感が違うのでサイズの修正をしたりしました。
面白法人カヤックインターン 9/4~9/15
8月の中旬にはVR部1年生2人がインターンに行っていましたが、9月上旬の2週間は部から3年生3人がインターンに行ってきました!
1年生のときと同じく、最初の1週間は自由課題として自分達で作るものの設計から実装までをし、次の週に実際の業務を手伝いました。
自由課題
私は自由課題でVRポージングゲームを作りました。Unityちゃんがリズムに合わせてポージングするので、プレイヤーもリズムに合わせてUnityちゃんと同じポーズをしていくというものです。ダンスゲームに近いものだと思っていただけるといいと思います。
この課題で習得したこと
- FinaIKからモーションをとる
qiita.com
私はアニメーションを1から作ったことがなかったのでUnityちゃんのポーズをどう生成しようか悩んでいました。今回はこちらのサイトを参考にし、FinalIKからモーションをとってきました。生成されるデータがアニメーションファイルではないので最初てこずりましたが、しっかりコードを読めば理解できました。
このスキル習得により、PERCEPTION NEURONを忘れてしまったり、チームにモーションを作ったことがある人がいない時でも、アニメーションをとってくることができるようになりましたっ!
- UnityEditor名前空間使用時の注意
今回の課題で私は初めてUnityEditor名前空間を使ったのですが、この名前空間を使用する際、プリプロセッサで場合分けしないといけないのです。確かに冷静に考えれば、iOSやAndroidにビルドするときにUnityエディターを操作することはないので、Unityエディターと他で場合分けするべきですよね。
自分は場合分けをしないでビルドしたときにエラーが出た後、シーンがバグり、全てのコンポーネントが外れるという自体が発生しました。バージョン管理をしていなかったせいで1から付け直すことになりました。
このことからも日頃からgitなどのバージョン管理ツールは使っておくべきだなあとしみじみ思いました。
VR/AR/MR ビジネスEXPOに参加
vrarmr-bizexpo201709.peatix.com
展示のお手伝いをしに、上のイベントに参加させていただきました。
展示のお手伝いを通して、Oculus Riftのセットアップ方法を学べたり、体験していただくお客様に対しての説明の仕方などを学びました。
その後の懇親会にも参加させていただき、様々なVRの企業の方とお話する機会がありました。話をしていく中でこれからのVRにより期待が膨らんでいきました。本来学生では経験できない貴重な体験をさせてもらいました。面白法人カヤック様、本当にありがとうございました。
お仕事の手伝い
仕事内容は機密事項なので言えませんがカヤック様のお仕事を少し手伝いました。ここで私は初めて実践的にgitを使用しました。一緒にインターンに参加した人の1人にgit経験者がいたのでその人と担当の方に直接教えていただきながら使い方を学んでいきました。
gitを少し使えるようになってから、今までとは違った世界が見えてきた気がします。使っていて、これは必須スキルだと強く思いました。VR部でもgit勉強会を開催してチーム開発力を高めていけたらと思います。
その他諸々学んだことは多かったですが中でも印象に残っていることが、名刺の大事さです。名刺の大事さはもしかしたら以前にも書いているかもしれませんが、未だに私は名刺を持っていません。名刺をもらう機会が多く、名刺保存ケースはもう入らないくらいいっぱいなのに一回も自分から渡せたことがありません。デジゲー博までには名刺を作っておき、いざというときに渡せる体制をとっていこうと強く思いました。
東京ゲームショー 2017
ずっと一回は行ってみたいと思っていたTGSに行ってくることができました!
今年はVR系が多く出店したらしく、いい年に来たなあと思いました。暗殺教室のVRゲームや、メドゥーサと恋人というPS4のHMDを使ったVRゲームをやらせてもらったりしました。
このメドゥーサと恋人というゲームのいいなあと思った点は、メドゥーサが静止しているときは一人称視点で、コントローラで移動スティックを倒すと三人称視点に変わってカメラは移動しないでキャラクターだけが移動するという新しいウォークスルーです。全く酔いませんでしたし、重要な攻撃シーンなどは一人称で見ることができるので迫力が無くなる訳でもなかったです。この手法はもっとVRに関わる人に周知するべきだと思いました。
その他、技術的なところで気になったのは
STRIX ENGINE
トビーのアイトラッキング
です。特にトビーのアイトラッキングでは、実際に体験をさせてもらったのですがアイトラッキングの制度が今まで体験してきたアイトラッキングの中で一番よかったです。体験するときに使用したHMDはHTC Viveにアイトラッキングができるようになる装置をつけたものでした。コンテンツは周囲にランダムに配置されているビンに向かって石を投げるという簡単なコンテンツなのですが、アイトラッキングができることにより投げた石が目線に向かって飛んでいってくれます。このような感じでプレイヤーの動作の補正を行うことができるのがアイトラッキングの強みですよね。実験用に会津大でもアイトラッキングができる機材を購入したいですね。
VR部 開発合宿 9/29〜10/1
2泊3日の開発合宿をVR部で行いました。場所はCloudCampで昨年Unityハッカソンを行った場所と同じだったので馴染み深い場所で合宿ができました。
全員で21人参加して、一応全チーム1人は参加してくれたので各チーム一部屋借りてこもりながら開発できました。
この合宿を通して先輩後輩の繋がりも以前より増え、部員同士のコミュニケーションが増えた気がします。デジゲー博に展示予定のコンテンツも着々と完成してきています。
ここまでが夏休みのイベントでしたがついこの間会津大学の学祭があり、そこでVR部も合宿で製作したVRコンテンツを展示しました。
蒼翔祭 10/7〜10/8
第三者の方に実際に作ったコンテンツをプレイしてもらう機会はとても貴重なものでした。多くの年齢層の方にプレイしていただき、各チームフィードバックもたくさんいただきました。ゲーム慣れしている人としてない人ではプレイの仕方が違ったり、まずVR自体が初めての人が多かったのでUI設計を見直すチームも出てきました。また、ゲームそのものの見直しをするチームもあり、各チームどうブラッシュアップしていくかが楽しみです。
最後機材の片付けが終わったあと、VR部で忍者マスクをしながら記念写真っ
来年にはより質の高いコンテンツを展示できたらと思います。
カヤックインターン体験記
はじめまして、会津大VR部1年生の大庭です。
8/14 〜 8/25まで2週間の間、会津大VR部がカヤックさんのVR部分室と言うつながりでインターンに行ってました!
とても充実した2週間でした。そのことについて報告したいと思います!
第1週目
1週目は、 「一週間でVRのコンテンツを作ってください」という自由課題が出されました。
正直、何も考えていなかったので「何をつくろう・・・」という状態でした。
1日目
とりあえずどういうコンテンツにするかある程度方針を決めるために、VIVEをいろいろ弄りながら決めることにしました。
その結果
- VR空間で物をつかむだけでも面白い
- 広さに限界があるため 座って or 立ちっぱなし でもできるものにする
っということに気づきました。
あと、VR酔いに気をつけるようにということも言われていたので
じゃあ、極力動かなければいいのでは?ということも思いアクション系のゲームはやめることにしました。
最終的にVR空間でやるパズルゲームを作ることに決めました。
2日目 〜 5日目
完成像を想像してもらいやすくするために動画を載せます。
実装が大変だった点は
- ブロックの位置をあわせる
- クリアの判定
です。
ブロックの位置をあわせるのに2日くらいかけた気がします・・・
ブロックが回転してるとうまい具合に位置関係を維持したまま結合できませんでした・・・
クリア判定の方は、ブロックの周囲6方向に何個ブロックがあるかでそのブロックがどの部分を構成しているかで判定しました。
しかし、この方法だと直方体しか対応できないんですよね・・・
とりあえずなんとか遊べるレベルまで完成はすることができました。
第2週目
2周目は、実際に業務をお手伝いすることになりました。
git/githubを使った開発はこれが初めてだったので不安でしたが、教えてもらいながらなんとかやることができました。
今後のチーム開発に活かして行きたいと思います。
この週にカヤックさんのラボと鎌倉のオフィスにお邪魔させて頂きました。
ラボは第一印象が民家で「こんなところにレーザーカッターとかあるのか!?」という印象でした。
大学にもレーザーカッターと3Dプリンターが自由に使えるスペースがあるのでそれらをうまく使ったら面白いものができるのかなっと思いました。
鎌倉のオフィスは元銀行だったところをリノベーションして使っているそうです。
入り口がなんとも言えない雰囲気を出してました。会社感がなかったです。
最後に
短いですがここでまとめさせてもらいます。
今回のインターンで学んだことは
- VRの開発楽しい!
- git/githubを使った開発フローがわかった
- 会社がどういうところかわかった
ということでした。
まだ、本格的にVRの開発をしたことがなかったので今回の経験でVR開発のモチベーションがかなり上がりました!
勢いでOculusのサマーセールでOculus Riftを買ってしまったくらいです。
これからVR開発頑張ろうと思います。
git/githubを使った開発は慣れればかなり便利でこれからのチーム開発でも個人での開発でも活用していきたいと思いました。
最終日に1週目で開発したゲームを発表・体験してもらったのですが、自分が思っている以上に評価がよく、もう少し修正したらストアに出せると言ってもらえたのが嬉しかったです。今ある不具合や追加でもっとゲーム性を高めてストアに出せるレベルにしたいです。
以上でインターン報告を終わります。ありがとうございました。