Unity-GameDev #1 企画・設計 [Devlog #020]

Table of Contents

企画・設計


テーマ

  • 身体全体を使って楽しむシングルプレイゲーム

  • 鬼ごっこの変種のひとつ、だるまさんがころんだを応用したゲーム

  • お手軽なモーションキャプチャハードウェア(Mocopi)を使い、プレイヤー身体の動作から「走る」と「止まる」を判定する

    • コントローラーを持たない体験コンテンツ

アイデア

  • 特定のポーズを取ることでボーナスポイントを獲得できるといったフィットネス要素の統合

体験の流れ

  1. タイトル表示(ゲームアプリケーションの起動)
  2. ハードウェアの準備
    • Mocopiの装着とキャリブレーション
  3. チュートリアル(ゲームの説明)
    • 特定のポーズが判定可能であるかの確認(同時にポーズの意味を説明)
    • 静止ポーズの耐久スコアの確認(おすすめの難易度を設定)
  4. ゲームスタート
    • 1回目の"チャンス"
      • チャンス中に走る量に応じて鬼に近づける
      • 鬼がこちらを見ているときは静止しなければならない
      • 静止中に特定のポーズをしていた場合は加点
    • 2回目の"チャンス"
      • チャンス中に走る量に応じて鬼に近づける(回毎にチャンスの時間は減少
      • 鬼に見られているときは静止しなければならない(回毎に静止時間が増加
      • 静止中に特定のポーズをしていた場合は加点
    • n回目の"チャンス"
      • 2回目と同様
    • 鬼から逃げる(鬼との距離が0になると鬼が追いかけてくる)
      • 鬼に追いつけられた地点に応じて加点
  5. ゲームクリア(スコア表示)
    • 再度プレイする場合は4に戻る
    • ゲームを終了する場合は1に戻る

開発環境


  • Windows10
  • Unity2022.3.16f1(LTS)
  • Mocopi ※UDPによる送受信を行う

環境設定


プロジェクトの設定

プラグイン"mocopi Receiver Plugin for Unity"のインポート (DLリンク

入力


姿勢判定

判定する姿勢・状態
走る
静止
敬礼(決定ポーズ)
〇〇(フィットネスポーズ1)
〇〇(フィットネスポーズ2)
〇〇(フィットネスポーズ3)
算出する静止ポーズスコア
手足の距離が遠いほど高得点
頭の位置が低いほど高得点
両足の高低差があるほど高得点

判定方法

MocopiBoneクラスはUnityEngine.Transform型をもつため、Transform.up変数からボーンの向き(オブジェクトのローカル空間における上方向(Y軸)をワールド空間で表したベクトル)を取得する

Image

親ボーンの向きとの関係から腿上げ動作を判定する