私には惑星と月があります。月は、惑星の中心に位置するダミーオブジェクトの親である(本質的に0,0,0)。月は自由に(惑星上の任意の位置に)回転する。それは惑星から一定の距離を維持する必要があります。オブジェクトを別のオブジェクトの特定の位置に回転させるにはどうすればよいですか? (基本的には特定の位置に周回します)
私は月を回転させたいと思っていることを心に留めていますが、直立したままにする必要があります。すなわち、月は一貫して惑星の表面に対して相対的に上を向くべきです。基本的には、私が探しているポイントに達するまで、月が地球上を「回転」しなければならない場合のみ、「moveTo」スクリプトのようなものです。ここで
は、私が使用する正しいロジックをうまくすることはできませんけれども、私は、これまで持っているものです。
Vector3 targetDir = moveToPos - moon.transform.position;
float angle = Vector3.Angle(targetDir, moon.transform.up);
dummy.transform.RotateAround (moveToPos, moon.transform.up, angle);
私が正しく、このことを考えていますか?私がこの作業をしたら、別の月のVector3
の位置に月を送り、月を地球の表面上で回転させたいと思います。私は何か類似のものを検索しましたが、私が探しているものを見つけることができません。
このスクリーンショットに表示されるマーカーは、「ここに回して」と言うべきですが、これは次のように私のシーンが見えるもの、本質的です:あなたは既に物事が非常に簡単に作った
あなたの階層のスクリーンショットを表示することはできますか?ただ、状況を正確に読者に明確に示していますか?私は解決策にアプローチする方法を知っているかもしれませんが、私は誤った前提に基づいていません。 – Serlite
Serliteを助けてくれてありがとう、私はちょうどスクリーンショットでOPを更新する。 – Valerie
大丈夫です。 1つの追加の明確化 - あなたは月が常に上に向き合うべきだと言うとき、それはあなたが惑星の表面に対して相対的に "上"を意味するように聞こえる。これは正しいです?それとも、世界の空間で "上"を意味するのですか? – Serlite