本記事は、Oculus Rift Advent Calendar 2016の23日目の記事です。
先日、VR GameJam in Japan 2016 Autumnに参加して、重力子猫VR(じゅうりょくこね こう゛ぃーあーる)というVRコンテンツを開発しましたので、そのお話をです。
東京会場には今年もユニティちゃん降臨しとる#VRGJ #VRGJGinza pic.twitter.com/KGonBckYxA
— VRGameJam (@VRGameJam) 2016年11月26日
はじめに
ゲームジャムとは?
数人でチームを組み、2日間でゲームを開発するイベントです。
詳しくはWikipediaを見てください。
VRゲームジャムとは?
VRコンテンツの開発に限定したゲームジャムです。
Global Game Jamなど他のゲームジャムと異なり、競技性が低く、事前準備(企画、チームビルド、実装など)が許容されているのが、私にとっては非常に魅力的です。
VRHMDや各種デバイスの選択肢が多く、2日間で完成させることが難しいから~、と言う理由もあるかも知れません。
会場の様子
だいたいいつも通りな感じ#VRGJ #VRGJGinza pic.twitter.com/wuOKt65Nzq
— VRGameJam (@VRGameJam) 2016年11月26日
たのしい。
ラーメンとか、レッドブルも貰えたりします。
Unityラーメンとかとかとかの山でゲームジャムに燃料投入 #VRGJ #VRGJGinza pic.twitter.com/ILWaZUUmlZ
— VRGameJam (@VRGameJam) 2016年11月26日
VR GameJamではもう風物詩ですね、レッドブルタワー
— VRGameJam (@VRGameJam) 2016年11月26日
#VRGJ #VRGJGinza pic.twitter.com/wXHbyOlnED
企画
VRコンテンツを開発する上で、推奨されていないお約束事項がいくつかあります。 例えば…
- 既存のゲームをVR化 → 非推奨
- カメラの移動 → 非推奨
- カメラの回転 → 非推奨
- などなど…
下記ページのベストプラクティスガイド参照のこと
わかっちゃいるけど… 「あのゲームをVRでやってみたい。でも絶対に酔うよね…」 と言うのはありますよね?
でもこれ絶対酔う…
VRは生牡蠣のような物といいますし、俺だって快適なVRコンテンツを作りたい…!
新鮮な生牡蠣同様。適切なハードウェア構成で、規定のフレームレートをキープし、ガイドラインに従って作られたVRコンテンツは酔うというより、むしろ快適な体験になります。多くの人に快適なVR体験をしてもらい。その先の未来を体感して欲しいと願います。#VR酔いダメゼッタイ
— GOROman (@GOROman) 2015年7月20日
とは言っても、GRAVITY DAZE2が出ますし…挑戦なくして成長なし!
思い切って挑戦することにしました。
重力子猫VRでやること
- Oculus Rift + Remoteを使用
- 無重力浮遊と落下
- 可能な限りの酔い対策
- 移動が酔う
→酔いやすい加減速は行わず、等速直線運動のみ - 回転が酔う
→着地したときのみ、しかも1フレームで回転し、効果音と煙でごまかす。
中間発表&本発表
初日はVR酔いでダウンしてこんなんなりました。
操作方法
Oculus RemoteのOneボタンのみで、接地・無重力浮遊・落下を切り替えながら移動することができます。
- 無重力浮遊
Oneをクリック - 無重力解除
Oneをホールド - 目標マークの方向へ落下
無重力浮遊時にOneをクリック - 空中停止
落下中にOneクリック
開発環境とアセット紹介
参考までに今回の開発環境とアセットへのリンクを貼っておきますので、気になるアセットがあればお試し下さい。
- Unity 5.4.3p1 (64-bit)
- Oculus Utilities for Unity 5 V1.9.0
- Oculus Audio SDK Plugins V1.1.0
- Oculus Audio Pack 1 V1.0
- AllSky
スカイボックスの詰め合わせ。
ハンドペイント風のCartoon_SunSetLightCloudsを採用しました。 - FT ExplosionMaster Volume01
爆発エフェクトの詰め合わせ。
煙と破片が飛び散るFTEM_Explosion_Smoke05を着地エフェクトとして採用しました。 - Wind & Rain Ambient Package
風や雨など環境音の詰め合わせ。 - Ancient Palace Set - Faceted Style
背景アセット。
法線マップや光沢は設定されていない。 - Post-processing Stack (beta)
1コンポーネントで各種ポストエフェクトを利用できる。 github.com - KvantStream
GPUパーティクルを発生させる。 github.com Circular Gravity Force
球状に重力を発生させる。
加減速で酔ってしまうため採用を見送り。SAColliderBuilder
メッシュ形状に応じたコライダを生成する。
元のメッシュ形状がであったため今回は採用を見送り。
フィードバック
何名かの方に体験して頂いたフィードバックなどです。
- 酔わない。(ゲームジャム会場調べ)
- 建物の近くを飛ぶと酔う。
- 移動時のパーティクルがくっきり見えると酔う。
- 着地後に自分の体勢が分かりにくい。
- 目的地に目印を置く?
- 落下時の体勢を分かりやすく。
- 足下に目的地が表示されるようにすべき?
- 酔いにくいように作ったら、もはや別物…?
- 背景の衝突判定を専用に作らないと着地後の姿勢がおかしい。
Cubeだけで構成していたら発生しなかった問題。 - 第三者視点も試したい。
- 接地している時はRemoteで左右に旋回したい。
関連記事
まとめ
ゲームジャムは良いぞ。
VRコンテンツの開発実績がひとつ増えました。 あと、新規プロジェクトを短期間で回せるため、新しい技術を採用しやすく、現在進行中の別プロジェクトにフィードバックできました。
VR酔いに強い方で、重力子猫VRを試したい場合、こちらからダウンロードしてお試しください。
重力子猫VRから、権利関係がクリアになっていない要素を削ったバージョンを共有します。Oculus Remoteの丸ボタンをポチポチやるだけで飛び回れます。https://t.co/qBMba8PKq2 #VRGJ #VRGJGinza #直ちに影響はない
— わっふるめーかー (@waffle_maker) 2016年11月27日
※VRゲームジャムに興味が湧いた方は、VRゲームジャムの公式Twitterアカウントをフォローしましょう。 会場提供やスポンサーの申し出があると主催者さんが喜びそうです。
24日目は、yuujiiさんのカノジョの作り方です。