2016-06-12 9 views
0

私は、飛んでいる島にフックするロープで飛び跳ねるシンプルなゲームを作成しようとしています。私は島々が浮かんでほしいと思って、この島に自分自身を引っ張り始めると、彼はそれを自分自身に引っ張り始めるが、彼はまたそれを振り回すことができる。彼がロープを離した後、島々は減速して止まります(しかし、これは剛体の抗力によって行われます)。私はこれを行う良いアイデアがないので、このスクリプトがどのように機能するか教えていただけますか?ユニティのフローティングリジッドボディスクリプト

答えて

1

まず島の剛体の重力を無効にする必要があります。そうすれば、彼らは浮かびますが、慣性のようなものはまだ適用されます。

ロープでつかむときに島々を自分自身に引っ張りたい場合は、Rigidbody.AddForce(Vector3 vec3)を使用して、ロープが目的とする方向とは逆のベクトルをパラメータとして渡すことができます(Vector3.Reflect()を使用してください)。 )

これはあなたにはうってつけですが、アイランドを引っ張って徐々に減速させるなど、効果を改善する方法はさらにあります。私は島の速度に1の割合を掛けることを提案します。その場合は、他の方法もあります。