KinectとUnityを使用したゲームのプロトタイプを作成してみました。
デパートや展示場などで子供と大人が一緒に遊べるようなシンプルなものを想定しました。
私の子供に遊ばせてみたところです。
本来は大型プロジェクターなど大画面で遊ぶことを想定していますが、とりあえずPCのモニターでテストプレイしています。
現時点では、夜の山奥に現れたUFOを二人の兵士が調査に向かったところ、宇宙人の襲撃部隊が次々と出てきた、これを光る剣でやっつける、という想定になっています。
映像では一人でプレイしていますが、二人同時プレイまで可能です。
(以下はUnity上の画面ですが、もう一人分のキャラクターが用意されています)
ただ、プレイするキャラクターのデザインを変えたり、落ちて来るオブジェクトや風景を変えることは容易にできますので、イベント主催者の望むテイストのゲームに作り直すことができます。
プレイ開始の前にストーリーに入り込ませるための事前イベント(上記の例であればUFOが山に現れるまでのアニメーションなど)を組み込むなどすると良い演出になるかもしれません。
BGMや効果音ももちろん組み込むことができます。
(制作上で気づいた点)
Kinectのセッティング自体はSDKが良くできているおかげでそれほど難しいものではありませんでした。
今回は手で剣をふるうというアクションですが、手にどのような角度で剣を持たせるか、手首をどのくらい曲げておくか、といった微妙な部分の調整が結構面倒でした。Kinectはどうやら手首から先の関節の反映があまり得意ではないようです。
もう一点は、フレームレートの確保という点です。
上のサンプルでは剣にGlobalIllminationを設定して輝かせていますが、これが結構グラフィックメモリを消費するらしく、フレームレートに影響していました。シャドウをやめるなどして節約しましたが、実際にイベントで使用する際は表示モニターでテストした上で動きをよくするための調整を行うべきかと思いました。
はじめまして。
いまUnityとKinectを用いたゲームを作成しようとしていて偶然このサイトに辿り着きました。
自分が作成しているゲームでも2人モーションキャプチャをして画面上で動作させようとしているのですが、一人分の動作しかキャラクターに反映されません。
2人分のモーションをそれぞれキャラクターに割り当てられる方法があるのかと試行錯誤していたのですがなかなかうまく行きません。
いかにして別々の動きを反映されているのかぜひご教授願いたいですm(_ _)m
こんにちは、コメントありがとうございました。
そうですね、Kinect用の別なゲームでちゃんと複数認識しているなら
デバイスの不具合ではなくUnity上のスクリプトや設定で
ちゃんと認識するようになるはずですね。
ちょっと前の記事なので詳しくは覚えていないのですが、
当時のメモを見直してみましたら、以下のサイトのスクリプトを
参考にしたようです。
https://psychic-vr-lab.com/blog/unity/kinect-v2%E3%81%A7%E3%82%B9%E3%82%B1%E3%83%AB%E3%83%88%E3%83%B3%E6%83%85%E5%A0%B1%E3%82%92%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%AC%E3%82%A4%E8%A1%A8%E7%A4%BAunity/
参考になれば幸いです。