예제 #1
0
        public override void init()
        {
            SystemState_Particulas.Instance.SetState_Zero();

            //Relative Positioning
            width  = GuiController.Instance.Panel3d.Width;
            height = GuiController.Instance.Panel3d.Height;

            //Variables del emitter
            int     cantidad = 1;                                   //Parametrizable
            Vector3 origen = new Vector3(width / 2, height / 2, 0); //Parametrizable
            float   speed = 0f;                                     //Parametrizable
            float   divergence = 0f;                                //Parametrizable
            Vector3 velocidad = new Vector3(divergence, speed, divergence);
            Vector3 aceleracion = new Vector3(0, -9.8f, 0);
            float   max = 1f, aRRecorrer = 4f;//Parametrizables
            int     alpha     = 255;
            float   sizeSpeed = 2f;

            //Inicializo el emisor de burbujas
            gotas = new GotaEmitter(cantidad, origen, velocidad, aceleracion, max, aRRecorrer, Color.LightBlue, alpha, 0.5f, 0.01f, sizeSpeed, 0.2f, 0.5f);

            //INIT
            gotas.Init();
            gotas.AgregarModifiers(width, height);
            gotas.Splash.AgregarModifiers(width, height);

            //Camara
            GuiController.Instance.RotCamera.Enable = true;
            //GuiController.Instance.RotCamera.CameraDistance = 10;
            GuiController.Instance.BackgroundColor        = Color.Black;
            GuiController.Instance.RotCamera.CameraCenter = new Vector3(width / 2, height / 2, 0);
        }
예제 #2
0
        public override void init()
        {
            SystemState_Particulas.Instance.SetState_Zero();

            //Relative Positioning
            width = GuiController.Instance.Panel3d.Width;
            height = GuiController.Instance.Panel3d.Height;

            //Variables del emitter
            int cantidad = 1;//Parametrizable
            Vector3 origen = new Vector3(width / 2, height / 2, 0);//Parametrizable
            float speed = 0f;//Parametrizable
            float divergence = 0f;//Parametrizable
            Vector3 velocidad = new Vector3(divergence,speed,divergence);
            Vector3 aceleracion = new Vector3(0, -9.8f, 0);
            float max=1f,aRRecorrer=4f;//Parametrizables
            int alpha = 255;
            float sizeSpeed = 2f;

            //Inicializo el emisor de burbujas
            gotas = new GotaEmitter(cantidad, origen, velocidad, aceleracion, max, aRRecorrer, Color.LightBlue, alpha, 0.5f, 0.01f, sizeSpeed,0.2f,0.5f);

            //INIT
            gotas.Init();
            gotas.AgregarModifiers(width,height);
            gotas.Splash.AgregarModifiers(width,height);

            //Camara
            GuiController.Instance.RotCamera.Enable = true;
            //GuiController.Instance.RotCamera.CameraDistance = 10;
            GuiController.Instance.BackgroundColor = Color.Black;
            GuiController.Instance.RotCamera.CameraCenter = new Vector3(width / 2, height / 2, 0);
        }
예제 #3
0
        //Se agranda la particula de acuerdo a la velocidad de tamaño
        private void Agrandar(Emitter emisor)
        {
            GotaEmitter e = (GotaEmitter)emisor;

            if ((this.Size + e.SizeSpeed * this.LifeTime) <= emisor.PointSizeMax)
            {
                this.Size += e.SizeSpeed * this.LifeTime;
            }
        }
예제 #4
0
        public override void sangrar(Vector3 dir, float yOffset)
        {
            int     cantidad = 10;                                                                                //Parametrizable
            Vector3 origen   = new Vector3(posicionActual.M41, posicionActual.M42 + yOffset, posicionActual.M43); //Parametrizable

            //float speed = 0f;//Parametrizable
            //float divergence = 0f;//Parametrizable
            //Vector3 velocidad = new Vector3(divergence, speed, divergence);
            dir.Y = 1;
            dir.Normalize();
            Vector3 velocidad = dir;
            Vector3 aceleracion = new Vector3(0, -18.8f, 0);
            float   max = 100f, aRRecorrer = yOffset;//Parametrizables
            int     alpha     = 255;
            float   sizeSpeed = 2f;

            blood = new GotaEmitter(cantidad, origen, velocidad, aceleracion, max, aRRecorrer, Color.DarkRed, alpha, 0.02f, 0.005f, sizeSpeed, 100f, 10f);
            blood.Init();
        }
예제 #5
0
 public override void sangrar(Vector3 dir, float yOffset)
 {
     int cantidad = 10;//Parametrizable
     Vector3 origen = new Vector3(posicionActual.M41, posicionActual.M42 + yOffset, posicionActual.M43);//Parametrizable
     //float speed = 0f;//Parametrizable
     //float divergence = 0f;//Parametrizable
     //Vector3 velocidad = new Vector3(divergence, speed, divergence);
     dir.Y = 1;
     dir.Normalize();
     Vector3 velocidad = dir;
     Vector3 aceleracion = new Vector3(0, -18.8f, 0);
     float max = 100f, aRRecorrer = yOffset;//Parametrizables
     int alpha = 255;
     float sizeSpeed = 2f;
     blood = new GotaEmitter(cantidad, origen, velocidad, aceleracion, max, aRRecorrer, Color.DarkRed, alpha, 0.02f, 0.005f, sizeSpeed, 100f, 10f);
     blood.Init();
 }