Skip to content

第01回 3Dダイスポーカー

Unityの3D空間でサイコロを振り、物理的に停止した面をベクトルの内積から読み取ります。出目を集計し、ポーカーの役として結果を表示するまでを完成させます。

この回のゴール

  • Rigidbodyのサイコロを投げ、停止を判定する
  • サイコロの面の向きとワールド上方向の内積から出目を求める
  • 5個の出目を集計し、ワンペアやフルハウスなどを判定する
  • 「振る → 待つ → 判定 → 結果表示」の流れを説明できる

今回のポイント

見た目の上面を手作業で調べるのではなく、面の法線と基準方向の関係を計算します。物理結果をゲームルールへ変換することが、この回の中心です。

授業の流れ

配布プロジェクト(ドラフト)

物理設定済みのサイコロ、カメラ、テーブル、UIの枠を含む開始プロジェクトを配布します。学生は出目判定、集計、役判定を実装します。

今回実装する範囲

区分内容
自分で実装する処理停止判定、面の内積判定、出目の集計、役判定
実装済みの機能を利用する処理Rigidbody、カメラ、サイコロの面データ、UI表示枠
後の回で再利用する考え方状態遷移、結果のフィードバック、調整値

完成確認

  • 5個のサイコロを振れる
  • 全てのサイコロが停止した後に判定される
  • 内積から出目を求められる
  • 出目と役がUIへ表示される