Unity事例ノート

UNITY

スプリングを使って棒を振るような動き

一定方向に棒を振るような動作をつけてみましょう。

棒状のオブジェクトを用意し、ヒンジジョイントのスプリング機能を用いて、弾きます。

マウスを長押し状態で、はじめの位置に。離すとスイングします。

関連記事:
【Unity C#】バットをスイングする
【Unity C#】90°回転して叩くような動き
【Unity C#】回転軸を変えてオブジェクトを回す
【Unity C#】オブジェクトの先端をマウスカーソルに向ける
【Unity C#】Hingi Jointを使った振り子の動き
【Unity C#】HingeJointを使ってドアを作成

HingeJointのスプリング

Cylinderを作成し、回転、サイズを変更します。

ヒンジジョイントを追加します。

コンポーネントを追加 > 物理 > ヒンジジョイント

ヒンジジョイントを設定します。

Anchorは、振りの中心となる軸の位置。オブジェクトの左端に持ってきました。

軸は、振りの中心となる軸の方向。今回はXを軸として回転させるため、1を入れました。

茶色で表示されている部分が、軸の中心になります。

Use Springにチェックを入れます。

Springは、ターゲット位置に移動するための力。

Damperの数値は、大きければ大きいほど、オブジェクトの速度が落ちます。

Target Positionは、スプリングのターゲット角度。

スプリングを使った振りの動作

StickMove.csを作成し、Cylinderに追加します。

StickMove.csを記述します。

BeginPosにはスタート位置の角度、ShotPosにはスイング後の角度をそれぞれ入力します。

プレイして動きを確認します。

マウス長押しでスタートの位置へ、離すとスプリングが効いてスイングします。

バットのスイングに似たような動きができました。

関連記事:
【Unity C#】バットをスイングする
【Unity C#】90°回転して叩くような動き
【Unity C#】回転軸を変えてオブジェクトを回す
【Unity C#】オブジェクトの先端をマウスカーソルに向ける
【Unity C#】Hingi Jointを使った振り子の動き
【Unity C#】HingeJointを使ってドアを作成