domingo, 30 de julio de 2023

EFECTO DE TELA EN UNITY VERSION Unity 2022.1.12f1


 Llevo 4 horas para hacer un efecto de bandera ondeando al viento, al final lo e conseguido y echo una captura de video de como se hace, teneis que prestar atencion al video, en Unity a la que cambian una version cambian tambien un monton de cosas, hay que estar continuamente descargando y aprendiendo los cambios de las versiones nuevas que se han echo, la verdad es complicado hay que aprender casi de 0 costantemente, no se si podrian los ingenieros informaticos de Unity hacer las mejorias sin tener que cambiar las cosas casi de forma radical algunas veces............


Otro tema es de hornear las luces con Unity, cuando pones la iluminacion para compilar el juego primero has de hornear bakear le llaman todo el entorno del juego, si haces algo muy ambicioso, aun con un pc bueno ,rapido ,y potente, puedes tardar varias horas en tenerlo preparado para la compilacion......el juego que estoy haciendo tardo 20 minutos en hornearse con una sola luz de sol, ahora e puesto una simple bombilla que ilumina una sala con luz lila  y de forma que no cree sombras y me dice que lo hace en una hora.......en fin boy aprendiendo,,,y el pc que tengo es bueno, la ram es de 64Gb, quizas el microprocesador no es tan bueno....la grafica de unos 6Gb....discos duros tengo de sobra de tipo ssd.

jueves, 20 de julio de 2023

Ultimos scripts en C# y comentarios e ideas sobre administrar la memoria en los juegos y que funcionen con fluidez;


https://youtu.be/7k8F-RYCMK4 

Optimizar el juego es la palabra clave, los recursos de memoria del pc para que el juego funcione fluido.....

4... factores clave a estudiar y practicar....que casi resuelven el asunto.....

1--Programar con C# de forma que la memoria se carge y se descarge de forma inteligente con enemigos y otros factores secundarios......

2--Utilizar el sistema de LOD de forma inteligente.

3--Occlusion de camara.

4--Texturas cuadradas para los elementos del juego. 

Estos temas seran comentados en el futuro en este blog por ser fundamentales........

 

 VIDEOS EN YOUTUBE DE GENTE QUE SABEN MAS DE ESTOS TEMAS VALE LA PENA MIRAR


como se hace lod LOD en unity
https://youtu.be/jQC2rFJO67E
https://youtu.be/CT-KpzF9dh8

COMO SE HACE OCLUSION COLLIN
https://youtu.be/C0qqC650mQY
https://youtu.be/bUbypCBgAf4
https://youtu.be/bUbypCBgAf4
https://youtu.be/18KMqxJlhmw
https://youtu.be/0lp8KxvkNww

OPTIMIZAR TEXTURAS
https://youtu.be/PvU6IjyiOMc

https://youtu.be/AZLdsIG5ypk

HORNEADO EN UNITY
https://youtu.be/L_e4FTUdQsI
https://youtu.be/L_e4FTUdQsI



 

 

 


 https://youtu.be/qQaKrP16ZMI

 

 script en C# para creacion de enemigos cuando se pasa por un en empty GameObject con un Box Collider con el Trigger activado...


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ACTIVA6ENEMIGOS : MonoBehaviour
{
   


    public GameObject texto;

    public GameObject texto1;
    public GameObject texto2;
    public GameObject texto3;
    public GameObject texto4;
    public GameObject texto5;
    private void OnTriggerEnter(Collider other)
    {
        //  if (other.tag == "uno")
        // {

        if (other.tag == "bobo")
        {


            texto.SetActive(true);
            texto1.SetActive(true);
            texto2.SetActive(true);
            texto3.SetActive(true);

            texto4.SetActive(true);
            texto5.SetActive(true);


        }
    }
}


---------------------------------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------------------------------

En el script aparecen 6 enemigos cuando el player pasa por el GameObject, no consigo encontrar por internet scripts sencillos para aprender a programar, en este de aqui, cualquier persona con poca idea lograra, fijandose un poco, no solo poner 6 enemigos sino los que le vengan en gana una docena si quiere o 100 si sabe administrar la memoria.....un comentario que quiero poner es que para que los enemigos no se junten todos y se pongan uno encima del otro cuando persiguen al player hay que cambiar el......Radius...Obstacle Ovidance...del Nav Mesh Agent........a 5.75 ya hace una vase amplia para que no se pegen unos a otros y esten los 6 en el mismo sitio y solo se vea uno en el juego....

Cuando son derribados por el player el gameobject que los sustituye a de ser destruido con un......

----------------------------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------------------------

using System.Collections;
using System.Collections.Generic;
using UnityEngine;


namespace UnityStandardAssets.Utility
{
    public class TimedObjectDestructorr : MonoBehaviour
    {
        [SerializeField] private float m_TimeOut = 1.0f;
        [SerializeField] private bool m_DetachChildren = false;


        private void Awake()
        {
            Invoke("DestroyNow", m_TimeOut);
        }


        private void DestroyNow()
        {
            if (m_DetachChildren)
            {
                transform.DetachChildren();
            }
            DestroyObject(gameObject);
        }
    }
}

------------------------------------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------------------------------

se pone un tiempo y el personaje con una animacion de abatido al final se borra de pantalla...y se libera memoria.......



Otros escripts que e conseguido hacer y entender........

---------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class correralapretare : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {




        if (Input.GetKey(KeyCode.E))////funciona contantemente al apretar W mayusculas a de ser
                                    //if (Input.GetKeyDown(KeyCode.W))// funciona pasito a pasito
                                    //if(Input.GetKey(KeyCode.UpArrow))
            transform.Translate(0,0,4.0f * Time.deltaTime);





    }
}

--------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------


El player cuando aprieto la tecla "E" se desplaza hacia delante, y al juntarse este script con el de las animaciones y otros movimientos consigo tambien cambiar la animacion de andar por la de correr........



El script anterior sobre creaccion de enmigos tiene docenas de aplicaciones y combinaciones posibles que aun estoy estudiando y practicando y si se utilizan con ingenio ,,,pueden equilibrar el tema de memoria y fluidez del juego,,,,, tambien estoy estudiando y practicando sobre el tema LOD de la camara y el renderizado de los gameobjects y sus poligonos, a mas poligonos mas memoria y menos fluidez a menos poligonos menos memoria fuerza el pc y mas fluidez en los juegos,,,,,,,

En internet hay videos sobre el tema y trabajandolo con blender , combinandolo con unity,,,,,se consigue que la camara aga mas o menos el trabajo de cargar memoria y descargarla en funcion de cuando nos hacercamos en el juego algun objetivo construccion paisaje personaje o lo que se tercie.....


viernes, 14 de julio de 2023

Desarrollando decorado de videojuego, con Unity;

 Desarrollando decorado de videojuego, con Unity;

 https://youtu.be/yGzqj3IagEY

 

 

 

Sigo con mi prollecto de videojuego de disparos con la idea de hacer un trabajo mas largo de lo que construyo habitualmante, aqui estoy cambiando unas barandillas de las escaleras, no me gustan las que hice intentando hacer algo que imita forjados en metal, y en el video no sale pero las animaciones de los enemigos boy a procurar que sean todas practicamente diferentes, eso da mas realismo que si todos se mueven de la misma forma,

Tambien boy a centrarme en el decorado, ambiente muebles y mirar de pulir esos aspectos, creo es mi fuerte, .......en tema de programacion , solo puedo hacer lo justito para movimientos y disparos, estoy limitadisimo en ese aspecto, asi que e de potenciar el tema artistico y el tema constancia y tiempo, este juego lo boy a ir haciendo asta navidades y entonces lo publicare , pero donde pueda ponerle un precio en itch.io o en steam y si  lo veo muy muy dificil ira a gamejolt pero este juego no sera un regalo...

https://tozudo415.itch.io/

 

https://gamejolt.com/@paco415/games 

 

https://www.kongregate.com/accounts/FranciscoasG 

miércoles, 5 de julio de 2023

desarrollador indie de videojuegos;

https://youtu.be/J3KU8pfxYD0  clic en el enlace y veras el video seguro

 


 



 

En este video intento comentar la situación de un desarrollador indie que cometió un error subiendo juegos a itch,io y la idea de intentar publicar en un futuro en steam.

Breve resumen de la idea de trabajar un juego durante un periodo de unos 4 o 6 meses y publicarlo en itch.io o de publicarlo a la larga…..si no lo cogen en itch.io sera muy muy a la larga quizás 2 o 3 años. En steam.




Y me estoy mosqueando con Singapur que en mi blog no paran de hacer cientos de visitas todos los días, ni idea del motivo,


Mucha visita pero no gano un centavo,


En el video comento un poco como voy solventando problemas del juego , disparos que no afectan a los objetivos, paredes que tapan la cámara, personaje aliado que me sigue y dispara a mis enemigos, que tenemos los dos en común,


Boy comentando también un fallo muy importante que e tenido con itch.io, y esque este no deja que se suban juegos que estén a medias y que cada dos por tres se suba una nueva versión mejorada del mismo, quieren juegos completamente acabados y claro cada semana eso es imposible para gente aficionada como yo, total por no entenderles me han vetado así que de aquí 5 o 6 meses tendré que abrir un nuevo canal en itch.io para poder publicar este juego, que sera de pago...si me dejan claro esta.


No fue mi intencion hacer spam o publicitarme a mi mismo como un loco, simplemente me deje llebar por mi aficion y por ver que cada 3 o 4 semanas conseguia una venta de 1 o 2 dolares……

Me han cortado el grifo, si tenia ya entre demos y juegos unos 150 videojuegos.


https://tozudo415.itch.io/            mis juegos.



https://videojuegosenlineaasaco4.blogspot.com/         mi blog.




Una cosa de este videojuego, ignoro como seran los de los profesionales en tema de trabajarlos, es el asunto de los ajustes, ajustes en la mira telescopica, ajustes de colliders y triggers, ajustes en velocidades, ajustes en animaciones, ajustes de luz y sombra, ajustes, ajustes, ajustes, no paro de equilibrar cada gameobject del videojuego.

Es como hacer un dibujo a lapiz de un retrato de una persona, e ir perfilando, aquí, alla, primero la forma de la caveza, luego situar los ojos, la nariz ,el tamaño de la boca , en los videojuegos es algo parecido mi forma de trabajarlos.


El personaje que me hace de aliado tendre que animarlo, luego ajustar esas animaciones para que no balla de espaldas, bueno para que no dispare de espaldas, aunque no se, si no queda muy estrambotico, y disparando de espaldas queda gracioso y se carga enemigos lo mismo lo dejo porque un videojuego es para divertirse no???


Las puertas tambien e de ajustarlas para que se abran en el momento preciso cuando se cruza por ellas…..


Y unos segundos ajustados para la escena de la vala volando y del enemigo impactado….



domingo, 18 de junio de 2023

script en c# para unity, que activa una camara al presionar tecla -M-;

 using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class aprietaimira : MonoBehaviour
{
    public GameObject texto;
   private void Update()
    {







        if (Input.GetKey(KeyCode.M))

        {




    texto.SetActive(true);
            //  texto.SetActive(false);

       
    }
 

        }
    
 }

------------------------------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------------------------------

Estoy desarrollando nuevo videojuego y este lo boy hacer largo, no es mi preferencia, yo los prefiero cortitos y rapidos de hacer, pero como me gusta publicarlos, y los que cortan el vacalao, son los que dictan las normas, devo hacerlos largos en el sentido que tengo que trabajarlos muchisimo mas tiempo . Demientras ire ampliando este blog , no se que pasa en Singapur a alguien le cai en gracia tengo cientos de visitas desde alli........

 en fin al lio...


La camara que crea en el juego es la de la mira telescopica del protagonista y el escript esta en el protagonista del juego....muestro un video de youtube de la idea....


https://youtu.be/4L5SyJBfR5U

 

 

Dificultades constantes desarrollando el videojuego....se me esta alargando mucho, tengo que ajustar costantemente el arma y su giro para apuntar con el raton, luego los scripts en c# parece que habeces funcionan y otras veces no funcionan y hacen lo que les biene en gana, por ejemplo, ago unos pilares para refujiarme de los disparos de los enemigos, y las balas los traspasan aga lo que aga incluso aplicando un script con la orden de que segun el tag 

 

 using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class destrullebalasitocabarrera : MonoBehaviour
{
   


    //public AudioSource tickSource;


    void Start()
    {

        //tickSource = GetComponent<AudioSource> ();



    }

    void Update()
    {
    }




    void OnTriggerEnter(Collider other)

    {
        //if (other.gameObject.CompareTag ("avismo")){
        //if (other.gameObject.CompareTag ("ogri2")){
        if (other.gameObject.CompareTag("barrera"))
        {
            //transform.Rotate (new Vector3 (0 * Time.deltaTime, 91, 90), Space.Self);

            //tickSource.Play ();
            Destroy(gameObject, 0.0f); /////////////////////////////////////////originalque funciona
                                       //Destroy (gameObject.CompareTag ("padre"));






        }
    }

}

//}

 

 

 

donde choca la bala esta a de borrarse de la pantalla, y aunque el trigger no este como atrabesable, traspasa igual el gameobject que hace de bala, algunas veces pienso si Unity no tiene algun bug , porque aga lo que aga abeces va, aveces no va, segun como le da, si lo compilo hace esto, si no lo compilo hace lo otro....lo compilado va a otra velocidad de frames habeces muy lento no aplica la memoria real del trabajo que ago en el motor.....me estoy desesperando ...con juegos muy cortos va bien todo,,,,a la que haces algo con idea que sea largo es como empezar de cero y no tener ni idea, y en cima me tienen vetado en itch,io por no entender bien las normas sobre publicacion, con lo bien que iba hace unos meses, aun no les entiendo, creo que solo dejan publicar 1 juego cada 3 o 4 meses y lo quieren bien trabajado y sin demos ni versiones extra del mismo, por temas de spam , esa politica quiero seguir, pero no consigo hacer un juego largo....aun asi cada dia me pongo, alguna solucion y aprendizaje sacare de todo esto, y me atrebo con steam, la documentacion esta en castellano, pero ira para largo muy largo quizas mas de 2 o 3 años para conseguir publicar en steam----