Example #1
0
        public void RebuildShadow()
        {
            _visiblitySet = _visiblitySet ?? new VisiblitySet();
            _visiblitySet.Clear(this);
            _meshFilter = _meshFilter ?? GetComponent <MeshFilter>();

            AddSegments(_visiblitySet);
            _visiblitySet.PrepareSegments();
            _visiblitySet.UpdateAngles();
            _visiblitySet.Sweep();
            _bounds = new Bounds(transform.position, new Vector3(size, size, size));

            CreateShadowPolygonPoints();

            Mesh mesh = _visiblitySet.CreateOrUpdateMesh();

            if (_meshFilter != null)
            {
                _meshFilter.sharedMesh = mesh;
            }

            if (_drawGizmos)
            {
                Gizmos.color = Color.blue;
                Gizmos.DrawWireMesh(mesh, transform.position, transform.rotation);
            }
        }
Example #2
0
        public void RebuildShadow()
        {
            _visiblitySet = _visiblitySet ?? new VisiblitySet();
            _visiblitySet.Clear(this);
            _meshFilter = _meshFilter ?? GetComponent<MeshFilter>();

            AddSegments(_visiblitySet);
            _visiblitySet.PrepareSegments();
            _visiblitySet.UpdateAngles();
            _visiblitySet.Sweep();
            _bounds = new Bounds(transform.position, new Vector3(size, size, size));

            CreateShadowPolygonPoints();

            Mesh mesh = _visiblitySet.CreateOrUpdateMesh();
            _meshFilter.sharedMesh = mesh;

            if (_drawGizmos)
            {
                Gizmos.color = Color.blue;
                Gizmos.DrawWireMesh(mesh, transform.position, transform.rotation);
            }
        }