[Unity] 3D LineRenderer Collider
BoxCollider/2つのオブジェクトをLineReaderのColliderに接続
Raycast
を適用する場合は、Collider
を上書きします.2D
では、始点と終点をEdgeCollider2D
に設定するだけでよい.3D
では不可能なので、別のCollider
で上書きします.回転が悪く悩んだあげく、サブオブジェクトと
LookAt
関数で問題を解決した.ハイルラキ
💡
Line
オブジェクト(フリーチャネル)にはLineRenderer
があります.サブオブジェクト
Collider
のうちBoxCollider
がある.その理由は、
Line
にBoxCollider
を直接入れると、変な中心軸に回転するからです.サブオブジェクトに
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つのオブジェクト間の距離を
size
のz
に置きます.正常に動作しない場合は、
x
またはy
に入れてみてください.Reference
この問題について([Unity] 3D LineRenderer Collider), 我々は、より多くの情報をここで見つけました https://velog.io/@slow_cosmos/Unity-3D-LineRenderer-Colliderテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol