VirtualFramework/Assets/Scripts/DrawLine/LineRendererToMesh.cs

39 lines
1003 B
C#
Raw Normal View History

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;
}
}