Ejemplo n.º 1
0
        /// <summary>
        /// Creo un jugador basado en el Robot de TGC
        /// </summary>
        /// <param name="posicion">Posicion donde va a estar el jugador</param>
        /// <param name="angulo">El angulo donde va a mirar</param>
        /// <param name="pathRecursos"></param>
        /// <param name="nombreTextura">Que textura va a tener</param>
        /// <returns></returns>
        private Jugador CrearJugador(string pathRecursos, string nombreTextura, Vector3 posicion, float angulo, IJugadorMoveStrategy strategy, Pelota pelota)
        {
            //Cargar personaje con animaciones
            TgcSkeletalMesh personaje = new TgcSkeletalLoader().loadMeshAndAnimationsFromFile(
                pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.meshFilePlayer,
                pathRecursos + Settings.Default.meshFolderPlayer,
                new string[] {
                    pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.animationWalkFilePlayer,
                    pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.animationRunFilePlayer,
                    pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.animationStopFilePlayer,
                    }
                );

            //Le cambiamos la textura
            //personaje.changeDiffuseMaps(new TgcTexture[] {
            //    TgcTexture.createTexture(pathRecursos + Settings.Default.meshFolderPlayer + nombreTextura)
            //    });

            //TODO cambiar por matrices
            personaje.AutoTransformEnable = true;

            //Configurar animacion inicial
            personaje.playAnimation(Settings.Default.animationStopPlayer, true);
            personaje.Position = posicion;

            //Lo Escalo porque es muy grande
            personaje.Scale = new Vector3(0.5f, 0.5f, 0.5f);
            personaje.rotateY(Geometry.DegreeToRadian(angulo));

            //Recalculo las normales para evitar problemas con la luz
            personaje.computeNormals();

            Jugador jugador = new Jugador(personaje, strategy, pelota);
            jugador.ShadowEffect = TgcShaders.loadEffect(pathRecursos + "Shaders\\MeshPlanarShadows.fx");
            jugador.LightEffect = TgcShaders.loadEffect(pathRecursos + "Shaders\\SkeletalMeshMultiplePointLight.fx");
            return jugador;
        }
Ejemplo n.º 2
0
        private TgcSkeletalMesh CrearJugador(string pathRecursos, TgcTexture texturaJugador)
        {
            //Cargar personaje con animaciones
            TgcSkeletalMesh personaje = new TgcSkeletalLoader().loadMeshAndAnimationsFromFile(
                pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.meshFilePlayer,
                pathRecursos + Settings.Default.meshFolderPlayer,
                new string[] { pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.animationStopFilePlayer });
            //TODO cambiar por matrices
            personaje.AutoTransformEnable = true;
            //Le cambiamos la textura
            personaje.changeDiffuseMaps(new TgcTexture[] { texturaJugador });

            //Configurar animacion inicial
            personaje.playAnimation(Settings.Default.animationStopPlayer, true);

            //Lo Escalo porque es muy grande
            personaje.Scale = new Vector3(0.018f, 0.018f, 0.018f);

            return personaje;
        }
Ejemplo n.º 3
0
        private Jugador CrearJugador(string pathRecursos)
        {
            string nombreTextura = Settings.Default.textureTeam2;

            //Cargar personaje con animaciones
            TgcSkeletalMesh personaje = new TgcSkeletalLoader().loadMeshAndAnimationsFromFile(
                pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.meshFilePlayer,
                pathRecursos + Settings.Default.meshFolderPlayer,
                new string[] {
                    pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.animationWalkFilePlayer,
                    pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.animationRunFilePlayer,
                    pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.animationStopFilePlayer,
                    }
                );

            //Le cambiamos la textura
            personaje.changeDiffuseMaps(new TgcTexture[] {
                TgcTexture.createTexture(pathRecursos + Settings.Default.meshFolderPlayer + nombreTextura)
                });

            //Configurar animacion inicial
            personaje.playAnimation(Settings.Default.animationStopPlayer, true);
            personaje.Position = new Vector3(0, 0, 0);

            //Lo Escalo porque es muy grande
            personaje.Scale = new Vector3(0.75f, 0.75f, 0.75f);

            //Recalculo las normales para evitar problemas con la luz
            personaje.computeNormals();

            return new Jugador(personaje, new JugadorIAStrategy(), null);
        }