Unity標準のLineRendererを用いて、点Aと点Bの2点間に糸を引く液体を描画するためのスクリプトです。
1.点Aの設定
[LineRenderer]コンポーネントを持つGameObjectに[LiquidChain]をアタッチします。このGameObjectが点Aになります。
2.点B候補を作成
TargetSettings.TargetTagがタグとして割り当てられたGameObjectを1つ以上作成します。これが点Bの候補になります。
3.点Bの探索
2で作成した点Bの候補のうち、点Aに一定距離以内(TargetSettings.TouchDistance)に近づいた点が存在すれば、それを点Bとして糸を引く液体が描画されます。
※糸が表示されている間は、他の点B候補が点Aに一定距離以内に近づいたとしても何も起こりません。
演算回数です。数を増やすほど糸が垂れにくくなります。
頂点数です。頂点数が多いほど滑らかになりますが、糸が垂れやすくなります。
糸の切れるしきい値です。小さければ小さいほど切れにくくなります。
糸がまっすぐになる範囲です。
重力係数(-9.8)に乗算されます。
1だと落ちるのが早すぎるので、0.2くらいが良いかもしれません。
両端から下に流れる液体の量です。
ラインの太さに影響します。
糸が切れてからの生存フレーム数です。
糸の基準太さです。
糸の最小の太さです。
糸が伸びるほど細くなるときの、基準の長さです。
対象が触れたと判定される距離です。
対象を検索する際のTag名です。
デフォルトはLiquidChainTargetなので、このタグが存在しない場合は作成する必要があります。