私はプレハブとして2つのSphere GameObjectを持っています。それらには剛体が取り付けられています。私は彼らが表面に置かれているが、衝突したときに互いにやりとりしたい(お互いに押し寄せ、お互いに跳ね返る)。しかし、ゲームビューでは、プレハブをドラッグして剛体の「重力の使用」チェックボックスをオフにすると、オブジェクトが浮いてしまいます!私はこれを望んでいないので、私は「重力を使う」ようにしました。今、彼らは場面に置かれますが、床に落ち着くまでにはまだ長い時間がかかります。それらをドラッグすると、そこにはまだまだ浮遊することがあります。どのように私はそれらを表面にとどまらせるが、お互いに相互作用するようにするのですか?GameObject Prefabs浮動小数点
私は
(Get-the-GameObject).GetComponent<Rigidbody>().velocity = Vector3.zero;
ような何かをやって試してみましたが、それは何もしません。
私は床に球を置きましたが、浮いています。物理エディタでは、重力は-9.81のY成分に設定されます。
編集:自分の球の鱗を約5に小さくして、床に落として左に滑り始めます。フロアは...それは今の周りにスライドされて、なぜ私が疑問に思ってそうどのような方法で傾いていない
編集:
球は、あなたが望むその色を持つボックスをクリックし、上にドラッグすることでインスタンス化されていますデスクスペースとリリース。ひとたびリリースされると、浮き上がったり滑ったりする。ここでそれを行うコードです。
void OnMouseDown()
{
clone = (GameObject)Instantiate(prefab_to_instatiate, hit.point, Quaternion.identity);
}
void OnMouseDrag()
{
// Code to make an atom follow the mouse cursor
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit2;
if(Physics.Raycast(ray, out hit2, Camera.main.farClipPlane))
{
float oldY = transform.position.y;
clone.transform.position = new Vector3(hit2.point.x, oldY, hit2.point.z);
}
}
編集2:私はビデオを提供する場合に何が起こっているかを説明するための最良の方法です。ここをクリックしてください:https://vimeo.com/185419058
原子を含むボックスをクリックし、マウスボタンを押したまま机の領域にドラッグして離します。しかし、私がドラッグすると、マウスが静止していても、ビデオは原子が狂ったように跳ね返っていることを示します。それから、私が解放すると、それは滑り始めます。私はちょうどクリックし、ドラッグし、これらの狂気の影響をすべて受けることなく、その位置に配置したい。これは、すべての私の完成した原子の上に剛体を取り除きたい場合に、私がしたいことがどのように働くかです。しかし、私は剛体を使うことができるようにしたいのです。なぜなら、原子同士が互いに接近したときに相互作用するようにしたいからです。
ワールドスケールに関連したオブジェクトのスケールはどのくらいですか?彼らが巨人であれば、重力の影響はちょっと浮いて見えるでしょう。 – Serlite
私の球の尺度は40-50です。 – noblerare
球の動きを支配する他のスクリプトはありますか?球体のシーン階層/プロパティを見ることはできますか? – Serlite