UnityのSpring Jointを使う 2
はじめに
UnityのSpring Jointを使う の続きです。
上からばねにモノを落とす。
準備
玉(sphere)を上から落とします。Transform, Rigidbodyを以下のように設定してください。
上のCubeはMassを1にします。
下のCube(1)はSpring JointコンポーネントのMin, Max Distanceおのおの4にしてみましょう。Springは大判振る舞いで100000。
落とす
実行すると、最初はCubeは動かないはずです(Min Distanceが4だから)。そのあと、玉が落ちてきて下がり、また上がります。グラフにすると以下の通りです。グラフ作成にはMonitor Componentsアセットを使いました。
Cubeはいったん約0.75下がりますが、すぐに元の長さに戻っています。これは、元の長さがMax Distanceに等しいからです。玉はバウンドし、Y = 4.15まで上がります。
次に、Min Distanceが3にし、下のCube(1)の位置を1上げて-4にします(こうしないと、実行開始時にCubeがmin distanceの長さに移動してしまう)。それで実験すると、Cubeは先ほど同じく約0.75下がりますが、そのあと大きく伸びて、初期位置から約1上(Max Distanceに相当)に上がります。つまり、振れ幅は約1.75になるわけです。玉のバウンドの仕方は変わりません。
さらに、Min Distanceが2にし、下のCube(1)の位置を1上げて-3にしたらどうなるでしょうか。もう予想がつきますね。Cubeは先ほど同じく約0.75下がりますが、そのあと大きく伸びて、初期位置から約2上(Max Distanceに相当)に上がります。つまり、振れ幅は約2.75です。玉のバウンドの仕方はやはり変わりません。
まとめ
最後に、上の3条件を同時に。左からmin distance 4, 3, 2です。max distanceは4で固定です。
このように、Max distanceが固定の場合、min distanceが小さいほど、力が加わった時、最初の縮みは同じでも、縮んでから戻る際の振れ幅の大きいバネになります(力が加わった時の最初の縮みはSpringの値で決まる)。しかし、それによって球を持ちあげる距離に差はありません。
Author And Source
この問題について(UnityのSpring Jointを使う 2), 我々は、より多くの情報をここで見つけました https://qiita.com/yanosen_jp/items/949eae56f2fcf6c8a0b0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .