39 lines
1003 B
C#
39 lines
1003 B
C#
|
|
using UnityEngine;
|
|||
|
|
|
|||
|
|
public class LineRendererToMesh : MonoBehaviour
|
|||
|
|
{
|
|||
|
|
public LineRenderer lineRenderer; // <20><><EFBFBD><EFBFBD> LineRenderer <20><><EFBFBD><EFBFBD>
|
|||
|
|
public MeshCollider meshCollider; // <20><><EFBFBD><EFBFBD> MeshCollider <20><><EFBFBD><EFBFBD>
|
|||
|
|
Mesh mesh;
|
|||
|
|
private void Awake()
|
|||
|
|
{
|
|||
|
|
// <20><><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ָ<EFBFBD><D6B8> LineRenderer<65><72><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD>ȡ<EFBFBD><C8A1>ǰ GameObject <20>ϵ<EFBFBD> LineRenderer
|
|||
|
|
if (lineRenderer == null)
|
|||
|
|
{
|
|||
|
|
lineRenderer = GetComponent<LineRenderer>();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ָ<EFBFBD><D6B8> MeshCollider<65><72><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD>ȡ<EFBFBD><C8A1>ǰ GameObject <20>ϵ<EFBFBD> MeshCollider
|
|||
|
|
if (meshCollider == null)
|
|||
|
|
{
|
|||
|
|
meshCollider = gameObject.AddComponent<MeshCollider>();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>µ<EFBFBD> Mesh <20><><EFBFBD><EFBFBD>
|
|||
|
|
mesh = new Mesh();
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
public void BakeMesh()
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
// ʹ<><CAB9> BakeMesh <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Mesh
|
|||
|
|
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> Camera.main <20><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6> LineRenderer <20>ı任
|
|||
|
|
lineRenderer.BakeMesh(mesh, Camera.main, true);
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD> Mesh <20><>ֵ<EFBFBD><D6B5> MeshCollider
|
|||
|
|
meshCollider.sharedMesh = mesh;
|
|||
|
|
}
|
|||
|
|
}
|