Skip to content

HandCatch

gpsnmeajp edited this page Dec 16, 2020 · 5 revisions

概要

※モデルの自動ロードは非対応です。手動で配置して使うかcsを書き換えて使ってください。

物をもつ機能を追加します。
ExternalReceiverにコンポーネントとして追加してください。
ExternalReceiverの子にInputReceiverがあることが前提です。(通常はそうなっているはずです。)

モデルや手の位置は自動で認識します。
トリガーを引いて持ち、離すと落とします。(あるいはキーボードのZ,X)

※フォルダ内のcsファイル3つ全て必要です。
(HandCatch_Helper.cs)はスクリプトで自動でアタッチされます。

Show Collider

手の判定球を表示するかどうかを決められます。

Non Hold Filter

物を持っていないときの手ブレ補正(フィルタ)の値です。 ExternalReceiverの設定を上書きします。

In Hold Filter

物を持ってるときの手ブレ補正(フィルタ)の値です。 ExternalReceiverの設定を上書きします。

Collision Tag

ここに設定したタグ名の物しかつかめないようにします。 空欄の場合は、コライダーが付いているものを何でもつかめます。

Speed Multiplier

気持ちよく投げる係数です。
おすすめは5~10です。
1は現実に忠実に反映します。

Left Key/Right Key

左手・右手の操作に使うキーボードのキーを設定します。

Controller Button

左手・右手の操作に使うコントローラのボタン名を設定します。

Signaling

武器などを保つ場合は有効にして、処理の通知を有効にします。
そうでないものしかない場合は、オフにするとエラーログが出なくなります。

Stick Mode

False = 押して持つ・離して離す
True = 押して持つ・押して離す

概要

武器ヘルパーです。
武器の持ち手のコライダーに取り付けると、武器として使いやすい挙動をします。
(持つと正しい位置に持つ、離すと鞘に勝手に戻るなど)

初期位置が鞘の位置として扱われます。 なお、武器の物理演算を妨害します。

Case Parent

鞘の親に当たる部品を選択します。
通常はモデルのChestです。

Left/Right Hold Position

手の武器の位置を登録します。
手に「持っているべき位置と回転」なGameObject(あるいは、不可視の武器)を置いて、それを登録してください。
手に持った際、ここになるように移動します。

Threshold

鞘に戻る境界距離を設定します。
この距離よりも短い位置で手を離すと鞘に戻ります。
そうでない場合は、空間に固定されます。

Filter

手や鞘に移動する際のなめらか係数です。
1に近いほどぬるっと移動し、0に近いほど瞬間移動に近くなります。