初めて作るVR体験をある程度 形にした時の話

VR にどハマりしています。

それはもう、中学入ってから大学を出るまで専門にしてきた音楽を辞める理由になったほど。知らない世界へ行ける?サイコーでしょ(*ノ∀ノ)…………どうせなら自分で作りたい、仕事にしたいぞ!?(夢見すぎ)ということでゲームエンジン Unity を使って初心者が初のVR作品をまあまあ形するまでにしたことを書いておきます。

Unity とは

Unity とは、ゲームを作るアプリの名前です。PC で使用でき、スマホ向けやらゲーム機向けやらぶっちゃけどこで動くゲームでも作れます。しかも無料。神かよ。競合に Unreal Engine(デフォルトで綺麗な絵が出るため慣れれば時短になりそう)、CryEngine(綺麗さが売りのようだが、特徴をつかめていない(汗)というものもあります。

Unity では、3D 空間への物の配置や重力の設定はマウスでだけでも行えます。ただし、絵作りについてはグラフィックスの仕組みを知っていかないと思い通りには作れないのが現状ですし、VR で重要なパフォーマンスを稼ぐ観点でも仕組みを学ぶことが重要になります。また、以下のな良いようを実現するにはプログラミングを覚えることが必要です。

  • 操作に反応させる
  • プレイ中に色や形を変える
  • プレイ中に物体を出現させる / 消す
  • セーブ、ロードなどの仕組み

要するに、止まってる絵を作る以外のことに関してはプログラミングをする必要があります。

作りたいもの

VR が好きで Gear VR を買ったはいいものの、だれにでも見せられて、短時間で「おおっ」となるようなコンテンツがまだないことに危機感を感じたのが発端。VR を初めて体験する人が VR に可能性を感じて、あわよくば好きになってくれるようなものを作りたいなあと思い立つ。まあどこかにそういうのが転がってるかもしれないけど折角だから作ります。

作りたいものの条件:

  • 酔わない事
  • 1分前後で終われる短さ(飲み会で見せる事を想定しているため)
  • 仮想世界に働きかけることができる

以上を満たすものとして、座っていればよく、いろいろな趣向を満たせるように次々とシーンが移り変わっていくようなものを作ることとしました。

現状思いついているのは:

  • マトリックス風に緑色の文字列がグイグイ流れてくるもの(僕らの世代のロマン?)
  • 宇宙(めったに行けないところの代表ですしね!)
  • ファンタジーRPG的なシーン(※個人の趣味です)
  • 大きな生物が迫ってくる(都合でパンダになりました)
  • 魔法が使えたりする(視線でエネルギーチャージして発射みたいな…ロボでもいけるモチーフ)

ホラー系は VR でやると怖すぎてそれだけが印象に残ってしまうので、今回はパスします。

上記の中で、とりあえずできそうなものからどんどん手を付けていくことにしました。

Unity の基本操作については下記を読んでおけば概ね快適に操作できます。

マトリックス風のシーン

これが一番簡単そう。イメージはこんな感じ。

まず、文字列のテクスチャ(画像)を作ります。透過PNGの作れるソフトで適当に半角カタカナと英数字を組み合わせた文字列画像を作成。

matrix-text ※わかりやすくするため背景を黒で塗っています。

これが上下左右前後で大量に動いてればそれっぽく見えるんじゃね?

ということでこれを Unity 上に配置します。

2016-02-21 15.41.17

ざっと数えて285個置きます(試行錯誤してそれっぽく見える数ということでこの辺に)。テクスチャは Sprite としてインポートしました。こうしておくと、シーンに配置するだけで元の縦横比を保った状態で出てくれるため。軽いかどうかは知りません(ぁ

2016-02-21 15.46.19

そして、285この文字全てに以下の様なスクリプトをひっつけてそれらしく動かします。

これで、文字列がそれぞれ視界の右から左へ移動することを繰り返すようになります。

上記のものだと x 座標についてしか処理できないのですが、どうやってインスペクタから移動軸を設定できるようにするのかわからなかったので、軸と方向の数だけスクリプトを量産しました。もっとクールなコードを書きたい。

あと、1度使って見るくらいまあいっか(今回の用途は他で被らないし)ってことで  

とかしてます。なぜ static 変数を設けるのがよろしくないかについてはこのブログがわかりやすいです。

以上の事ができれば以下の様な感じに。

matrix

大きな生物が迫ってくるシーン

「大型の生物に潰されて真っ暗になり、場面転換。」というのをやりたかった←

生物としては、ググるとすぐに出てくる Blender チュートリアルのパンダさんを採用することに。自分で作ったのもありましたが、相方が同じものを作っていたのでモチベを上げるためにそちらを採用(重要)

2016-02-22 15.30.01

地面のパンダはモーションに合わせて位置をずらしていきます。

空のパンダとカメラにコライダーを付けて、ぶつかった瞬間に暗転するようにします。

これだけ。簡単ですね。

…力尽きたので続きは後日書きます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です