質問: Unityで3Dゲームを製作しています。 タイトルの通り、具体的にはプレイヤーが乗ったビークルをRotateAroundで公転させながら徐々に公転半径を増やし、一定値に達したらその半径のままで公転を続ける という動きを実装したいのですが上手くいきません。 初歩的な質問で恐縮ですが、どうスクリプトを書けばうまく実装できるかご教授願えますでしょうか。 現在の公転の半径が規定値より低い場合に、ビークルを公転の中心とは逆方向にTranslateする方法を試したのですが、ハート形のように一部で凹む歪な回転になってしまいました。
回答: 自己解決しました。 公転の中心に空のオブジェクトを置き、回転対象をその子要素に設定してから空のオブジェクト自体を自転させつつ、回転対象をローカル座標でZ軸方向に移動させる方法でうまくいきました