前提・実現したいこと
始めて数か月の初心者です。
UNITYでキューブを転がしてコースを進むものを作っています。
キューブが壁やコース上のオブジェクトをすり抜けず、その方向には進めないようにするにはどうしたらいいのでしょうか。
発生している問題・エラーメッセージ
初心者用のサイトや本だとRigidbodyをつけて衝突判定、そこで止まるなどしていますが。
ぶつかった時にキューブが思わぬ動きで浮いたりしてしまいます。
浮かせないようにRigidbodyをつけないで転がすと、オブジェクトをすり抜けてしまいます。
進行方向に障害物を設置した時に、その方向にだけ進まないようにするにはどのようにしたらいいか教えてください。
エラーメッセージ
該当のソースコード
const float RotatingSpeed = 0.1f;
const float RotatingAngle = 90f;
Vector3 halfSize;
float time = 0f;
Vector3 axis = Vector3.zero;
Vector3 point = Vector3.zero;
public AudioClip moveSound;
//playermove public int playermove; void Awake() { this.halfSize = this.transform.localScale / 2f; } void Update() { if (this.point != Vector3.zero) { return; } if (Input.GetKey(KeyCode.UpArrow)) { this.axis = Vector3.right; this.point = this.transform.position + new Vector3(0f, -this.halfSize.y, this.halfSize.z); //playerHP playermove -= 1; //moveSound AudioSource.PlayClipAtPoint(moveSound, transform.position);
ソースコード
試したこと
重くしたり、タグをつけたりしてみましたがうまくいきませんでした。
補足情報(FW/ツールのバージョンなど)
UNITY2018.3.10f1で作成しています。
素人すぎてどう説明したらいいかもよくわからなくてすみません。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。