Пример #1
0
        // Update is called once per frame
        private void Update()
        {
            if (voxelObject == null)
            {
                return;
            }

            currentTime += Time.deltaTime;
            if (currentTime >= Interval)
            {
                currentTime = 0;

                for (int i = 0; i < NumVoxels; i++)
                {
                    PicaVoxelPoint p =
                        new PicaVoxelPoint(
                            ConstrainToBox
                                ? Random.Range(ConstrainBox.BottomLeftFront.X, ConstrainBox.TopRightBack.X)
                                : Random.Range(0, voxelObject.XSize),
                            ConstrainToBox
                                ? Random.Range(ConstrainBox.BottomLeftFront.Y, ConstrainBox.TopRightBack.Y)
                                : Random.Range(0, voxelObject.YSize),
                            ConstrainToBox
                                ? Random.Range(ConstrainBox.BottomLeftFront.Z, ConstrainBox.TopRightBack.Z)
                                : Random.Range(0, voxelObject.ZSize));

                    voxelObject.SetVoxelAtArrayPosition(p,
                                                        new Voxel()
                    {
                        State = AddVoxels?VoxelState.Active : VoxelState.Hidden,
                        Color = new Color(Random.Range(0f, 1f), Random.Range(0f, 1f), Random.Range(0f, 1f))
                    });
                }
            }
        }