[Unity] 3D LineRenderer Collider


BoxCollider/2つのオブジェクトをLineReaderのColliderに接続

Raycastを適用する場合は、Colliderを上書きします.2Dでは、始点と終点をEdgeCollider2Dに設定するだけでよい.3Dでは不可能なので、別のColliderで上書きします.
回転が悪く悩んだあげく、サブオブジェクトとLookAt関数で問題を解決した.

ハイルラキ



💡 Lineオブジェクト(フリーチャネル)にはLineRendererがあります.
サブオブジェクトColliderのうちBoxColliderがある.
その理由は、LineBoxColliderを直接入れると、変な中心軸に回転するからです.
サブオブジェクトにColliderを追加する必要があります...

コード#コード#

void Start()
{
    star1Pos = star1.transform.position;
    star2Pos = star2.transform.position;
    col = transform.GetChild(0).gameObject.GetComponent<BoxCollider>();

    LineCollider();

}

void LineCollider()
{
    col.size = new Vector3(5.0f, 5.0f, Vector3.Distance(star1Pos, star2Pos));
    transform.position = (star2Pos + star1Pos) / 2;
    col.transform.LookAt(star2Pos);
}

P.S.


2つのオブジェクト間の距離をsizezに置きます.
正常に動作しない場合は、xまたはyに入れてみてください.