読者です 読者をやめる 読者になる 読者になる

ぱらすの備忘録

個人的な備忘録なので間違った解釈があれば教えて下さい

荒ぶるサイコロ

Unity

こんにちは。ぱらすです。

趣味でちょっとしたボドゲまがいのゲーム作ってみたいなということでUnityで作り始めてみました。
で、ボドゲにとって重要なサイコロを転がすところで早くも躓いたので緩くレス待ちしたい所存。

Unity初心者のため記事内で足りない情報あれば教えていただけると追加します。

解決し次第記事修正あるいは別記事にまとめます。


やりたいことは単純に「サイコロを転がす」だけ。
使ったサイコロは「Dice Pack Light」の6面体。Assetストアからインポートしました。

参考にしたサイトは主にここ
unity-xeion.seesaa.net

ステージは適当にCubeを床とサイド4面に配置して蓋のない箱型にしています。
床の位置は(0,0,0)で大きさが(2,0.1,2)にしてます。
サイコロは(0,2,0)の位置から回転をかけて落とす形に。

詳しい数値は後述するので、とりあえず挙動は下のようになりました。
f:id:palas:20160118101900g:plain

はい、荒ぶってますね!
なかなかに面白い動きしますねこのサイコロ。

スクリプトC#で下記のように書いてます。(ほぼ参考サイトのままですが)

using UnityEngine;
using System.Collections;

public class DiceScript : MonoBehaviour {

	void Start () {
                // 回転
		transform.GetComponent< Rigidbody > ().angularVelocity = new Vector3(1,1,1) * 5;
	}
	
}

最初はランダムに回転させてたんですけど、挙動がおかしかったので定数にしてもこのざまです。
(Unity初心者かつ物理演算わからないマン)

Colliderの値は下記の通りです。
f:id:palas:20160118103225p:plain

RigitBodyは下記の通りです。
f:id:palas:20160118103325p:plain
RigitBodyの値はいろいろ変えて確かめてみましたけど変化はあまりなかったですね…。

ちなみに物理挙動の設定は下記の通りです。
f:id:palas:20160118103602p:plain

何かしら解決策あればコメントいただけると幸いです…。