サイコロの出目を知る方法として、角度を求める等あると思いますが
各目の位置に Transform を設置し、各 Transform の y 座標が一番大きな要素を出目として判定してみる
サイコロにはAssetStoreから無料のこちらを利用する
Dice Pack Light | Packs | Unity Asset Store
出目の Transform 登録
1から順番にListに入れ込んでいく

サイコロの回転
回転は angularVelocity に適当な値を入れて回転させる
_rigidbody.angularVelocity = new Vector3(10, 10, 5);
サイコロの振り
何かキーが押されたら velocity と 重量を加えて振る
private void Update() { if (Input.GetKeyDown(KeyCode.UpArrow)) { _rigidbody.useGravity = true; _rigidbody.velocity = Vector3.left; } }
出目判定
RigidBoy が Sleep したら 書く出目のY座標とインデックスを確保しておき
一番Yの値が大きいのをLogに出す
[SerializeField]
private Transform[] _diceSpots;
private void CheckSpot()
{
if (!_rigidbody.IsSleeping())
return;
var topIndex = 0;
var topValue = _diceSpots[0].transform.position.y;
for (var i = 1; i < _diceSpots.Length; ++i)
{
if (_diceSpots[i].transform.position.y < topValue)
continue;
topValue = _diceSpots[i].transform.position.y;
topIndex = i;
}
Debug.Log(topIndex + 1);
}
}
動画
停止したタイミングでログが表示されている
