【Oculus Touch】UnityでFF15の武器召喚っぽいもの&シフトっぽいもの

Oculus CV1とTouchコントローラを入手しました。
せっかくなので何かTouchを活かしたものを作ろうと思い、最近プレイして面白かったFF15の武器召喚&シフトをUnityで雑に再現してみました。


www.youtube.com

FF15では、戦闘に入る際に何も無い所から武器を召喚して戦います。
また、武器を敵や壁に向かって投げつけ、刺さったところにワープするシフトというシステムがあり、これを活用して非常にスタイリッシュな攻撃が可能になっています。

Oculus Touchのコントローラを活かして、出現させた武器を「つかむ」ことが出来れば面白いはず!

vrinside.jp
武器のモデルはこちらを使用。
https://www.assetstore.unity3d.com/jp/#!/content/7056

●武器召喚

AvatarGrabSample (Avatar Grab sample available (Unity) — Oculus)を使い、モデルに掴める部分を付与。

▼まずは簡単に作ってみた。Touchの有名なデモゲームであるBullet trainのように、つかめばつかむだけ複製できる仕様

▼使用時のイメージはこんな感じ。

ここでしばらく間が空く。個人的には上記でおおむね満足してたのですが、友人から「手元に出てきたほうがFF15っぽい」と言われて確かにそうだと納得。
▼手を出したところに出現するように変更。


●シフト(ワープ)

次はシフトの実装。
シフトのアクションを分解し、《投げる》《刺さる》《ワープ》の3アクションとしました。
これを一つ一つ実装していきます。

《投げる》について。理想はゲームよろしく「掴んだ武器を目標にブン投げて刺す」
…なのですが、AvatarGrabSampleを使ってものを握ったとき、武器のような長物を投げたときの制御が非常に難しいことがわかりました。
思った通りの力で投げられないし、特に武器の回転はコントロールができません。
なにより、思いっきりブン投げるという動作は色々と危険です
なので、手の向いた方向に武器を飛ばすという代替案を実装しました。
▼武器射出

t.co

次は《刺さる》
これは壁Objectに壁tagを付与し、壁tagを持つオブジェクトと武器がぶつかった時に武器のiskinematicをfalseにするという形で実装しました。
刺さった武器は握って抜くことも可能です。
▼射出した武器を壁に刺す

t.co

そして《ワープ》
武器が刺さった場所をワープポイントとし、ボタンを押すと最後に刺さった武器の場所にCamera(avatar)のpositionを移動させています。
▼武器が刺さった場所にワープ

これで《投げる》《刺さる》《ワープ》のシフト3アクションが完成しました。
ただ、このままではワープ時の切り替わりが唐突なのでフェードイン・フェードアウトの効果を足します。
以下のコードを活用させていただき、実装。
Unityでフェードイン・アウトを簡潔に書いてみる - KazumaLab.

▼シフトによるアスレチック移動

t.co

以上でシフト(もどき)が完成しました!

●所見

Touchコントローラを使うことで簡単にVR内に手を入れることができました。
重心の安定したコントローラ形状や,掴んだ時の振動によって触覚が得られるため、これだけでVR内のインタラクション性が格段に増しています。

VRの移動方法としての観点で見ると、シフトによるワープはBullet trainなどで採用されているテレポート方式と全く同じです。
移動先の場所や状態が想像しやすいことから、比較的酔いづらい手法となっています。
ただ、そのしるべになるものが武器ということを活かせば、FF15のように武器を投げてシフトしてからの連続攻撃…といったアクションが可能になるので、
単なるテレポートとは違った体験を与えることができると思います。

●参考記事

framesynthesis.jp
Touchを使用するための基本操作が掲載されています。
tuti107.hatenablog.com
Touchで「ものをつかむ」サンプルであるAvatarGrabSampleの使い方を教えていただきました。
tips.hecomi.com
avatarの設定がややこしいので、その設定方法がわかりやすく解説されています。

【Gear VR】2人協力プレイの迷路脱出&誘導VRゲームを遊んでもらう

研究活動の合間にGear VRを使ったVRコンテンツをちまちま作っています。
今回は、巷で最近話題になりつつある「HMDを使いつつ複数人でプレイするゲーム」を制作して何人かの方に遊んでもらいました。

 

f:id:kamata0satisfy:20151106000241p:plain

 

ねらい

作るきっかけとなった記事がこちら。

www.moguravr.com

 

HMDVR(ヘッドマウントディスプレイによるバーチャルリアリティ) ゲームは高い没入感を得られますが、基本的に1人用プレイになっており、周囲の人からは何をやっているのかわからず、楽しさが伝わりづらいという欠点があります。

一方、記事内のゲームは、複数人HMDを使い回すというかたちで複数人プレイを実現すると同時に、仮想現実を可視化するという作業によってVR空間と現実世界とが入り混じったものにしています。

私はこのゲームの面白さは「複数人による体験の共有」と「現実世界を巻き込んだVRゲーム」という要素にあると感じ、自分でもパクり オマージュしたゲームを作りたくなりました。

 

そこで簡単ではありますが、その試金石として製作したのが今回の迷路脱出&誘導VRゲームです。

 

続きを読む

【備忘録】RX62N I2C(RIIC) 通信用プログラム

RX62N同士でのI2C通信用プログラムです。
とくにスレーブとして用いる場合ののリファレンスが少なく苦労したので、備忘録として記載します。
基本的にはハードウェアマニュアルのフロー例に沿っています。

続きを読む

Unity 5 Personal Edition でGearVR用自作アプリを作る環境設定

思っていた以上に難儀でしたが、なんとか自作のUnityアプリをGearVRに対応させることができました。備忘録としてここにメモしておきます。

 

※(2015/7/8 追記)Unity5.1.1p3でUnityビルトインVR対応機能であるVirtual Reality SupportedでVR仕様に変換できることを確認しました。

(2015/10/11 追記)Unity5.2.1p2では再び実機で動作させた際に強制終了してしまいましたが、Unity5.2.2p3では正常に動作しました。

 

以下はUnity 5.1.1p時点での記事になります。

 

f:id:kamata0satisfy:20150624222614p:plain

使用したのはUnity 5.1.1p + ovr_mobile_sdk_0.6.0.1 です。

公式のVRサポートであるVirtual Reality Supported機能は、無償版である Unity Personal Editionのバージョン5.1.1p時点では使用できないようです。

続きを読む

Galaxy S6 edge に機種変更しました

f:id:kamata0satisfy:20150524161157j:plain

Galaxy S6 edge。ケースは以下を使用

Amazon.co.jp: Galaxy S6 Edge ケース, Spigen® 【 クリア バンパー 】 ウルトラ・ハイブリッド (国内正規品) (2015) (スペース・クリスタル【SGP11418】): 家電・カメラ

 

使っているスマートフォンが購入から3年経過し、2度めのバッテリー寿命を迎えたこともあり、これまで先延ばしにしてきた機種変更を決行することにしました。

 

f:id:kamata0satisfy:20150525042856p:plain

寿命を迎えたバッテリーはグランドキャニオンの如き様相を示す。

 

変更した機種は、先月発売されたばかりの『 Galaxy S6 edge 』。docomo,auに続いてソフトバンクからも発売が決定し、3キャリアで発売される機種となります。

S6 edgeの特徴は、なんといってもデュアルエッジスクリーン。

曲面を描くスクリーンが印象的です。

 

Galaxy S6 edge | スマートフォン | Galaxy

 

この機種を選んだ理由はいくつかあります。

  • auではMNP乗り換え契約時に購入することで、端末料金が約20000円分安くなること
  • 現時点でのAndroidハイエンドモデルの一つであり、機能・性能は申し分ないこと
  • auではMNP乗り換え契約時に購入することで、端末料金が約20000円分安くなること
  • Gear VRの存在

今買うならコレかな、って感じで選びました。 

 

数年前に初めて携帯を契約したときの名義が母親になっており、それを今までズルズルと引きずっていました。しかし、問題が起こった時にいちいち母親と予定を合わせるのが煩わしいので、今回の変更のついでに名義変更をしたかったのです。

はじめはソフトバンクのままが楽かなー、と思っていたのですが、名義の変更と同時に2年縛りが発生するため、余計なカネを消費しないためには機種変更ではなく解約して新規回線で再契約する必要がある、と言われ、ひとまず考えなおすことに。

 

現在就職活動中ということもあり、可能な限り電話番号は引き継ぎたい。

加えて、現在2年縛りを受けていないのに今更縛られるのもバカバカしい。

ということで、NMP乗り換えサービスの恩恵を受けようと思った次第です。

金額をシミュレートしたところ、(初期費用である端末料金を除けば)金額が今と対して変わりませんでした。

 

 IPhoneにすることも考えましたが、今更Apple製品に馴染めるのかという不安に加え、なんとなく面白くないなということで辞めました。料金も大して変わりませんし(キャッシュバックを上手く利用すれば別ですが)。

 

最後の1押しとなったのが、Gear VRの存在です。Gear VRはGalaxy S6を利用するHMDであり、現在デベロッパー向けの製品が約26000円で販売されています。

HMDを使った開発に興味があるので、Gear VRを使えるこの機種を選ぶことは大いに意味があります。

japanese.engadget.com

もしかすると買わないかもしれませんが・・・その時はその時。スマートフォンとして悪い機種では無く、買わない後悔をするよりはずっとマシだと思ったので本機種の購入に踏み切りました。

 

ソフトバンクMNP予約番号を入手し、auでの契約手続き。

このとき、名義人の本人確認さえできれば名義人のサインやハンコが不要ということに驚きました。何をするにも面倒なソフトバンクとはエラい違いだ・・・・

au公式ページの料金シミュレータを使ってどのプランを選択するか考え、印刷して持っていったこともあってか手続きは非常にスムーズでした。

 

料金シミュレーション:4G LTEスマートフォン料金プラン | 料金・割引:スマートフォン・携帯電話 | au

 

使っている感想としては、デカいなぁ、というのが第一印象です。手が大きくないので、片手に収まらないサイズは操作がしにくい。docomoXperia Z3 compactが第二有力候補だったくらいです。というか、携帯として見るなら小さいほうが良いんですよね。動画とかそこまで見ませんし。

 

f:id:kamata0satisfy:20150525035326j:plain

Xperia Z3やiPhone6 plusほどではないがデカい。これが世のスタンダードなのか・・・ 

 

f:id:kamata0satisfy:20150525035205j:plain

平面上の専有面積は3DSとほぼ同じ。

 

以前のスマートフォンがキーボードを内蔵した特殊な機種005SHであったこともあり、ハード的なインターフェースの違いが多く、慣れるにはもう少し時間を要しそうです。

 

f:id:kamata0satisfy:20150524164246j:plain

005SH・・・ハードウェアキーボード搭載のスマートフォン

 

デュアルエッジスクリーンについては、見た目がスタイリッシュで悪くありません。

ただ、実用的ではないです。(予想していたよりは遥かに少ないですが)誤操作もありますし、エッジ部分のタッチ判定が気になったりもしています。

とはいえ、エッジ部分独特の触り心地はクセになりますし、別にこれを大きなデメリットにする必要は無いと思う程度です。

同じ値段で無印を選べたなら迷わず無印を選んでいましたが・・・

 

今のところ、無印(Galaxy S6)を販売しているキャリアはdocomoのみです。

MNPで安くなったこともあり、不満は(今のところ)ありません。

むしろ、このようなハード的特徴を有効に使えうよう積極的に良いとこ探しをしたいと思います。

【LEAP motion・Unity】触覚グローブでさらにVRしてみた

先日の投稿、
(【LEAP motion・Unity】触覚グローブでユニティちゃんにさわってみる - kamata0satisfy's blog)
「触覚グローブでユニティちゃんに触ってみた」に手を加え、立命館大学主催のソフトウェアコンテスト「あいちゃれ2014」にブース展示してきました。

【VR】触覚グローブで二次元キャラと遊んでみた【LEAP Motion】 ‐ ニコニコ動画:GINZA

【12/9追記】
ゲームの実行フォルダをアップロードしました。遊ぶにはLEAP motionが必要です。
Dropbox - Touch!Unity_Chan
フォルダごとダウンロードして、exeファイルを起動してください。

続きを読む