前提・実現したいこと
Unity3Dで矢印キーで床を動かしてボールを転がすゲームを考えています。
transform.Rotateで床を動かしていますが、床を回転させても、ボールが転がらず、床にボールがめり込んでしまいます。
Physic Materialでバウンド中に床を傾けたときは転がりますが、バウンドが終わり静止した後は転がりません。
役に立つかわかりませんが、とりあえず、床を動かすスクリプトだけ貼っておきます。
ほかに必要な情報があればコメントいただければ幸いです。
該当のソースコード
C#
1 void Update() 2 { 3 Vector3 inputKey = new Vector3(); 4 5 //key as Rotation 6 inputKey.z = -Input.GetAxis("Horizontal"); 7 inputKey.x = Input.GetAxis("Vertical"); 8 this.transform.Rotate(inputKey); 9 }
試したこと
ボールにはRigidBodyをつけています。
UseGravity、isKinematic、PhysicMaterialの値などいろいろ組み合わせて試していますが、どれも意図したとおりに転がりません。
補足情報(FW/ツールのバージョンなど)
Unity のバージョンは2019.3.0f6です
床が水平のまま静止したとき
ボールが動いているうちに床を回転させたとき
追記:
unity 3Dです。
ボールにはSphereCollider、床にはBoxColliderがついています。
いずれもデフォルト設定のままです。
GIF画像を添付しました。
回答1件
あなたの回答
tips
プレビュー