コード例 #1
0
            public void UpdateMesh()
            {
                gameObject.SetActive(true);

                if (buffer.vertices == null ||
                    buffer.vertices.Length / 4 != rectangleCount)
                {
                    buffer.Alloc(rectangleCount);
                }
                else
                {
                    buffer.index = 0;
                }

                for (int i = 0; i < rendererCount; ++i)
                {
                    renderers[i].UpdateMesh(buffer);
                }

                buffer.initialized = false;

                if (buffer.modified)
                {
                    buffer.modified = false;
                    mesh.Clear(true);
                    mesh.vertices  = buffer.vertices;
                    mesh.uv        = buffer.uv;
                    mesh.triangles = buffer.triangles;
                    mesh.colors32  = buffer.colors32;
                    mesh.RecalculateBounds();
                }

                lwfObject.materialProperty.AddColor(additionalColorId, additionalColor);
                meshRenderer.SetPropertyBlock(lwfObject.materialProperty);
            }
コード例 #2
0
 void Start()
 {
     property_block = new MaterialPropertyBlock();
     property_block.AddMatrix("prev_Object2World", Matrix4x4.identity);
     mesh_renderer = GetComponent<MeshRenderer>();
     mesh_renderer.SetPropertyBlock(property_block);
 }