- 通过API:UnityEngine.AI.NavMeshTriangulation获取Navmesh信息
- 根据获取的Navmesh创建对应Mesh
- 创建Camera渲染创建的Mesh
- 设置Camera的RenderTexture获取相机渲染信息,生成对应的Texture
- 将生成之后的Texture赋给对应的UI
// Use this for initialization
void Start ()
{
UITexture texture = GetComponent<UITexture> ();
CreateNavmesh ();
texture.mainTexture = CreateTexture ();
}
Texture2D CreateTexture ()
{
Texture2D t2d = new Texture2D (200, 200, TextureFormat.RGB24, false);
Rect rct = new Rect (0, 0, 200, 200);
RenderTexture renderTexture = new RenderTexture ((int)rct.width, (int)rct.height, 24);
renderTexture.useMipMap = false;
var oldActive = RenderTexture.active;
RenderTexture.active = renderTexture;
GameObject goCamera = new GameObject ("NavMeshCamera");
Camera m_camera = goCamera.AddComponent<Camera> ();
Quaternion quaternion = m_camera.transform.rotation;
m_camera.orthographic = true;
m_camera.clearFlags = CameraClearFlags.So