Mesh lightMesh; // Mesh for our light mesh // Called at beginning of script execution void Start() { PseudoSinCos.initPseudoSinCos(); //-- Step 1: obtain all active meshes in the scene --// //---------------------------------------------------------------------// MeshFilter meshFilter = (MeshFilter)gameObject.AddComponent(typeof(MeshFilter)); // Add a Mesh Filter component to the light game object so it can take on a form MeshRenderer renderer = gameObject.AddComponent(typeof(MeshRenderer)) as MeshRenderer; // Add a Mesh Renderer component to the light game object so the form can become visible //gameObject.name = "2DLight"; //renderer.material.shader = Shader.Find ("Transparent/Diffuse"); // Find the specified type of material shader renderer.sharedMaterial = lightMaterial; // Add this texture lightMesh = new Mesh(); // create a new mesh for our light mesh meshFilter.mesh = lightMesh; // Set this newly created mesh to the mesh filter lightMesh.name = "Light Mesh"; // Give it a name lightMesh.MarkDynamic(); }
void Start () { staticLight1 = false; cam = GameObject.FindGameObjectWithTag("MainCamera"); PseudoSinCos.initPseudoSinCos(); //Шаг 1 - Первоначальная настройка меша света MeshFilter meshFilter = (MeshFilter)gameObject.AddComponent(typeof(MeshFilter));//Добавить меш фильтр MeshRenderer renderer = gameObject.AddComponent(typeof(MeshRenderer)) as MeshRenderer;// Добавить меш рендерер свету renderer.sharedMaterial = lightMaterial;// Добавить материал света if (lightTexture != null) { renderer.sharedMaterial.SetTexture("_MainTex", lightTexture); } lightMesh = new Mesh();// Создать меш, который будет формировать свет meshFilter.mesh = lightMesh; lightMesh.name = "Light Mesh"; lightMesh.MarkDynamic (); renderStage = 0; }
// Called at beginning of script execution public void Rebuild() { //--mesh filter--// MeshFilter meshFilter = GetComponent <MeshFilter>(); if (meshFilter == null) { //Debug.LogError("MeshFilter not found!"); return; } Mesh mesh = meshFilter.sharedMesh; if (mesh == null) { meshFilter.mesh = new Mesh(); mesh = meshFilter.sharedMesh; } mesh.Clear(); PseudoSinCos.initPseudoSinCos(); //-- Step 1: obtain all active meshes in the scene --// //---------------------------------------------------------------------// //MeshRenderer renderer = gameObject.GetComponent<MeshRenderer>(); // Add a Mesh Renderer component to the light game object so the form can become visible lightMesh = new Mesh(); // create a new mesh for our light mesh meshFilter.mesh = lightMesh; // Set this newly created mesh to the mesh filter lightMesh.name = "Light Mesh"; // Give it a name lightMesh.MarkDynamic(); Layer = 1 << 8; }