学生VRプロジェクトのすゝめ
この記事は名古屋文理大学アドベントカレンダー(2019) 25日目(トリ)用です。
メリークリスマス!
皆さん、いかがお過ごしでしょうか?ポケ戦見てますか?
アルの最後の叫び、胸に来ますよね…まさかあの少年ボイスが浪川さんだったなんて、初めて聞いたときはびっくりしましたよ。
少年ボイスと言えば銀英伝のエミールくん。彼の声優、置鮎さんなんですよ。トレーズ・クシュリナーダやランスロット(Fate)と同じ人ですよ。全く想像付きませんよね。聞いたことのない人は是非一度、銀英伝本伝全110話、ご視聴ください。
さて、彼方に話題が飛んでしまっているので、そろそろ軌道修正します。
はじめに
現在、色々あって院進した私ですが、学部生の頃は某学部長先生から無理難d…ご指導を賜ることも多く、様々な経験をさせていただきました。
そんなこんなで4年間を文理で過ごした訳ですが、2年生の夏頃(2016年)に、
「VRコンテンツをチームで作ろう!」
なんてことがありまして、稲友祭や外部のイベント、学会等 色々な方面で制作したVRコンテンツが展開されました。今回は、その時の思い出や完成に至るまでの手順等々を書き記していきたいと思います。
ちなみに完成したVRはこちらになります。
どんな経過を辿ってこのVR動画が完成したのか、前日譚も交えてゆるく書いていこうかと思ってます。
結構な長文になってしまったと思いますが、NBUアドベントカレンダー2019最後の記事ということで大目に見ていただければと思います。何卒…何卒…。
時間のない方は学会で使ったスライドを一通り眺めていただければ概要は伝わるかと思いますので、こちらをどうぞ。
VR企画までの前日譚1:NCFとデジ博
見出しに書いたように、ここではVR企画自体が立ち上がるに至った流れを書いていきたいと思います。(前日譚なんて興味ねーヨ!って人は「VR制作」あたりの見出しまで飛ばしちゃってくだしあ。)
そもそも、私が某学部長先生と出会ったのは資格取得サークル「ライト兄弟」がきっかけなのですが、ここではサークル活動の一貫としてアプリ開発が行われていました。(資格取得?知らない子ですね…)
ライト兄弟で制作されたアプリは、2011年から2017年までNTTドコモ主催で開催された「NEXT COMMUNICATION FORUM(NCF)」というアプリコンテストに毎年提出されていました。
毎年、様々なテーマで開催され、私が初めて参加した2015年度のコンテストでは、
「名古屋市科学館(及びプラネタリウム)をより楽しくするためのアプリ」
というテーマで開催されていました。
その際に、私が制作したアプリを以下に紹介します。
2015年に作った「My Star Creator」は、プラネタリウムで活用されることを意識したデモアプリです。上の映像は、私が(某プロジェクションマッピングと高校教師で生計を立てている大先輩のアドバイスによって)学部1年生の時に制作したものです。
プラネタリウムで映し出される星空を眺めながら、そこにオリジナル星座を描くことができたら楽しいだろうな、なんて想像しながら作ったアプリです。あの純粋な頃が懐かしいなぁ…。
ちなみにこのアプリは、2014年から2016年まで中日新聞社などが主催となって12月初頭に開催された「デジタルコンテンツ博覧会NAGOYA(デジ博)」の2015年イベントにも出展しました。
当時の様子が文理の学科ブログに残ってました。(2015、2016)
デジ博では、文理のように学生が制作したコンテンツを展示・デモする専門学校や、自社の新作ゲームや技術をアピールする目的の企業等、多数の団体が参加していました。また、日本で唯一の3DCGアニメーションの国際コンペティションとしても注目されたイベントだったのです。
その際に制作したアプリ紹介パネルが以下の画像になります。
ギョウ座は当時放映のドラえもんネタだったりします…タイムリー過ぎた。
実はこのアプリをきっかけに、VRプロジェクトの話がスタートしたのです。
VR企画までの前日譚2:プラネタリウムVR
2015年から時を進めて2016年。私は学部2年生となった訳ですが、この年からまた一段と忙しくなりました。
サークル活動だオープンキャンパスだPepperだと様々な行事ともバイトともボランティアともつかないお仕事的なサムシングが襲ってきた日々を昨日のことのように思い出せます。
そんな最中、学部4年生でライト兄弟とも若干の関わりがあったS先輩から、
「Youの作ったプラネタリウムアプリを拡張して稲友祭で展示しようよ!」
という提案を受けまして、S先輩と同級生で同じライト兄弟メンバーだった
N先輩と共に3人で企画を進めることになったのです。
「プラネタリウムアプリを拡張しよう」という話だったので、
・よりプラネタリウムの会場に近い空間で、
・アプリのコンセプトを実現する展示物を制作する
という方針で7月頃に行われた最初の話し合いは進んで行きました。
当時のメモを掘り起こしてみると、上がった案としては、
・VRを使ったプラネタリウムアプリケーションの制作
・iPadと望遠鏡を組み合わせた雰囲気重視のプラネタリウム体験
という二つの方向性から折衷して、
「ドーム内で望遠鏡を使いiPadに映し出した星座をVR体験」
が第1案となっていました。
たぶん、このまま進んでいたらプラネタリウムVRになってましたね。しかし現実はそうなりませんでした。(というかこれ、VRなんですかね…?)
そして記念すべき(?)2回目の話し合いは8月25日(木)となりました。
なかなか予定が合わなかったんでしょうね。だいぶ間が空いたことは覚えています。
2回目の話し合いの流れを箇条書きで表すと、
・望遠鏡はツラい(作るのが)
・プラネタリウム繋がりで「宇宙」は残したい
・物語のあるVR動画が良いのでは?
・モバイルVRなら安価で携帯性も高いしハコスコとか良さげ
・オリジナルのCG欲しいな
・もうちょい人要るな
という感じです。ザックリです。
さて、こんな前提でまず動画の構想を立てて行きました。
上がった案は以下の3つです。
1. 宇宙戦艦襲来→迎撃のようなストーリー
2. ハンググライダーで徐々に宇宙へ→衝突落下→なんらかの手段で無事降下
3. ロケットで徐々に宇宙へ→宇宙遊泳→戻って帰還
採用されたのは2つ目の案です。
若干ファンタジーでゆるい内容が良い、ということで決定したような気がします。(曖昧)
そして足りない人員もS先輩やN先輩の交渉・勧誘で集まりつつありました。
人も集まり、内容も決まったところで、企画名も決定しました。
VR Space Travel Project(VRで宇宙旅行)
だいぶ前日譚が長くなってしまいました…。ここまでで既に2800文字くらい使ってますね。
さて、ようやく本題です。
見出しに示したように、このVRプロジェクトはこんな感じのタイトルで、割とすんなり決まりました。
また、必要な人員も集まり、後期日程に入ってからようやくVR動画の制作活動が始まりました。
9月頃、というと稲友祭の準備が忙しくなり始める時期ではあるのですが、
情報メディア学部の学生は学内開催の「デジタルコンテンツコンペ(略称:デジコン)」に提出する作品制作でも忙しくなる時期かと思います。
開催初年度である2005年〜2012年まではFlashコンテンツの制作・提出がコンペ参加の条件だったそうですが、私の参加した年(2015年〜2018年)は、募集テーマに沿った動画コンテンツを制作し、提出するというコンペになっていました。(動画コンペと揶揄されがちですが、開催委員会としては多様な形式のコンテンツを自由に制作してもらって、それを動画の形でアピールして欲しい、という意図があるとかなんとか…)
デジコンの概要はともかくとして、我らがVRプロジェクトでもデジコン用の動画を制作したので以下に紹介します。
ちなみに2016年のデジコンテーマは「私が開花する」でした。
このVRのどの辺に開花要素があるのかは甚だ疑問ではありますが、お気になさらず(テーマ自体も大学宣伝のしがらみが色々とこう…はい)
さて、次からの見出しでは、VRコンテンツの制作をどのように行なったのか、ソフトウェアやプログラム等、示していきたいと思います。
VR制作の概要(概念図、論文URL、スライド)
論文でまとめてあるのでそれ読んでください。
というのは冗談として。
ここからはVRの制作にあたり、ストーリー、 CG、動画化、ゴーグル制作の
4つのポイントから制作の流れを書いていきたいと思います。
こんな感じの流れです
VR制作:ストーリー
ストーリーについては一番最初に決めました。コンセプトが決まらないことには制作に入れませんので。
ストーリーの概要は前日譚で書いたように、
ハンググライダーで徐々に宇宙へ→衝突落下→なんらかの手段で無事降下
という感じです。
非現実的な体験が高い没入感で味わえるのがVRの醍醐味だと考えていたので、空を飛んだり、高速移動したり、宇宙に行ったりというようなストーリーをN先輩やS先輩と話し合いながら決定しました。
その上でVR空間全体をどんな感じの世界観にするのかを決めました。
この絵はS先輩が描いてくれたVR空間の階層図的なやつです
「犬」と「不思議な果実」が重要な要素になる感じのストーリーだったと思います。(うろ覚え)
VR制作:CG
CGについては二人の助っ人をお呼びして制作してもらいました。
私の同級生のKくんとKさんです。どちらもKがイニシャルなので伏字だといまいち分かりづらいですね。
お二人には、VR空間に出てくるプレイヤーの腕やイッヌや鳥や自転車やライト兄弟の飛行機を作ってもらいました。
胴体なしの腕がついた自転車は、一人称視点で動かすVR的に他の部位は要らないだろうと判断したからです。が、今思うと胴体くらいはあってもよかったかも知れなかったですね…。
ちなみにCGを担当してくれたKくんがVR Space Travel Projectをまとめてくれた論文では、CGの部分について少し詳しく書いていたはずなので、興味のある方はどうぞご覧ください。
CGソフトは、KくんがBlender、KさんはCinema4Dを使っていたそうです。
昔作った流れ図?が出てきたので貼る
VR制作:VR動画化
ここ、私が頑張ったところなのでなんとか思い出しながら書きます。
まず、VR空間を作るのにゲームエンジン「Unity」を活用しました。
先ほどのCGの見出しでオリジナルCG制作について書きましたが、全てオリジナルCGとなると助っ人が死んでしまうので、いくつかのCGはUnity Assetsからダウンロードして活用しました。
複数のステージを跨いで移動するので、
・地上の街
・空中
・宇宙
・不思議な木の実のある空間
の4つのステージを制作して、動画に登場させました。
上の画像は「不思議な木の実のある空間」の初期空間ですね。オリジナルCGを取り込んでテストしていた時に撮影したものだったと思います。
一人称視点のテストも色々やってました。
Unityをいじったことのある人ならわかると思いますが、これはカメラをオブジェクトの内側に投げ入れただけです。
キャラクターの移動についてはFPS用に標準で用意されているAssetsを用いて作成しました。
「あれ?これだとVRにならへんやん!」
とお思いのそこのあなた。その通りです。
このまま動かしてもVRには全くなりません。なので色々Assetsを探しました。
ですが…Unity内でVRにすることはできなかったのです。
いや、正確には有料Assetsで作ることはできたんですが、資金的な問題やら時間的な問題やらでね…はい。
最終的に「360 Panorama Capture」という無料Assetsを用いて、フレーム毎にパノラマ画像を撮影する、という手段で360度画像を撮影することにしました。(30FPSなら1秒で30枚、60FPSなら60枚という感じです。)
撮影した画像はこんな感じになります。
背景も含めて全周囲撮影されるので、当然人間の視野ではありえないような画像になりますね。
そういえば、撮影時に一つ問題がありまして…
「360 Panorama Capture」は最高8K 60FPSの画像が撮影できたのですが、当然こんな高解像度の画像を撮影しようとすればPCが火を吹きます。というより、1枚の撮影・保存に時間が掛かり過ぎて目的の撮影が一向に終わりません。
また、キャラクターの動きは直接私が操作しつつ撮影していたので、尚のこと時間が掛かると困ったわけです。
なので、この時は1080p 30FPSで妥協しました。私のPCにもっとマシンスペックがあれば…。
ですがこれ、あくまで360度"画像"なんですね。つまり、この状態だと、ただ360度でUnity内を1080p 30FPSで撮影しただけの画像群で終わってしまうのです。
なので、動画にする必要がありました。
そこで登場したのがCUI環境で動作する動画・音声編集ソフトウェア「FFmpeg」です。(発祥はUNIX系らしいです。フリーです。)
連番(0001、0002、0003...nnnn)で保存した360度画像を1080p 30FPSで動画として繋げるのに、このFFmpegを活用しました。
ffmpeg -framerate 30 -i test_2016-10-00_00-00-00-000_%06d.png -vcodec libx264 -pix_fmt yuv420p filename.mp4
その時に使ったコマンドが上のものになります。
framrate を 30 にしたり、
test_2016...〜%06d.pngの画像(同じディレクトリにある下6桁の数字だけ違う画像全て だったと思う)を選択したり、
なんか色々調べてこのコマンドで動画になりました。(適当)
これで、撮影した画像は全て360度動画になったわけです。めでたしめでたし…
とはいかず。
この状態だと、人間の視野的にありえないままなのは変わりません。つまり、VRゴーグルを着けて頭を動かすと視点が動くような動画になって初めて「VR動画」と言えるワケです。当たり前ですね。
そこで完成したのが本ブログの一番上で紹介した動画です。
Youtubeにパノラマ動画に埋め込むと投稿時にVR動画になるというメタデータとやらがありましてですね、Youtubeの提供する「360 Video Metadata」というソフトウェアを起動させて、コマンドプロンプトでちょちょいっと入れたらできました。(適当)
追記
そういえばこの説明だと音声がないですね。
一応、Youtubeにアップする前に完成した360度動画に音楽や効果音を加えて再度レンダリングしています。
ですが、これが後に稲友祭で悲劇を生むことになるんです…。
VR制作:VRゴーグル
さて、ここまで来たらあとはVRゴーグルだけですね。
既製品をそのまま使ってもよかったんですが、オリジナルVR体験を提供しよう、という意識でみんな頑張っていたので、VRゴーグルも自作することになりました。
完成したのがこちらになります。
なんとなく既視感がありますね…まぁ気にしないでおきましょう。
こちらのVRゴーグルは一年上の当時3年生だったI先輩が作ってくれました。
お隣のゼミ室に置いてあったレーザーカッターを用いて3、4個作ったと思います。たぶん今もはせ研のゼミ室に眠ってるんじゃないですかね。
スマホ入れるとこんな感じで映ります。綺麗。(自画自賛)
展示:稲友祭(人名とか隠した宣伝ポスター)
2016年10月22日〜23日に開催された稲友祭にて、展示しました。
こちらは宣伝用のポスターになります。
VRのイメージが多少は表現できたかなと思います。
以下に当日の写真を掲載します。
学長です。
事務の方です。
当日はそれなりに盛況でした。
ですが、この日展示したVR動画には致命的なミスがありました。
以下に掲載しますので実際にご覧ください。
えぇ〜…真上か真下をご覧ください。
はい。穴です。世界の穴です。
穴の原因は、画像を繋げて360度動画を作った後に行った音声の追加後レンダリングにありました。
実はこのVR動画、2048x1024(たぶん)というなかなか面白い形の動画でして、これに音声を加える際に使った「Windows Movie Maker」では対応できない大きさだったんですね…。
結果として出力されれた動画が1920x1024という大きさに若干縮んでしまったために、世界の穴が出現してしまったワケです。
再レンダリングにはAviutlを使いました。やっぱ時代はフリーだよ兄貴。
そんなこんなでこの"穴"を修正し、ちょっと長ったらしかった部分を短くしてデジ博2016に展示しました。
展示:デジ博2016
当日はこんな感じのブースで、VR動画意外にも色々なアプリを展示してました。画像は当日視聴してくれた外国人の方です。
当日展示したVR動画が、本ブログで最初に投稿したものになります。
そして、学生によるVRコンテンツの制作と、稲友祭やデジ博での展示等々をまとめて論文にし、モバイル学会にて学会発表を行いました。
モバイル学会
2017年3月9日〜10日に大阪大学にて開催されたモバイル学会'17に参加しました。
当日発表に使ったスライドを以下に掲載します。こちらも冒頭に示したものと同じですね。
学会発表まで行ったのも、某学部長先生のせ…おかげでございます。
まとめ
さて、なんかまとまらない感じで殴り書きしましたが、まとめると
・2015年にアプリ作る
・2016年にVR作り、展示する
・2017年に学会発表する
という感じです。
みんなも何か作りたいと思ったら学生のうちにやっちゃいましょう。
ということで、院進した人の長いお話でした。
良いお年を〜。