Es posible que te haya ocurrido que necesitas generar los archivos .sln para abrir un proyecto de Unreal Engine con un IDE como Visual Studio pero de repente ves que no aparece esa opción, tranquilo si que esta.
Pasos:
Botón derecho sobre el archivo de uproject
2) Ve a Mostrar más opciones
Y te aparecerá Generate Visual Studio project files
¿Puede el mundo digital ser útil en el mundo físico? ¿Y si llevamos la huerta al mundo del videojuego?
La tecnología detrás de Unreal nos permite recrear la realidad hasta el extremo de hacerla prácticamente indistinguible de una fotografía, por eso Unreal ya se usa en estudios de arquitectura que deben presentar Renders de como quedará el proyecto, para ir mas allá de un simple plano, las recreaciones digitales son cada vez más realistas y la distancia entre el concepto digital y su realización real es cada vez menor.
Recreación en Unreal https://www.cosasdearquitectos.com/
Aun que mi especialidad es el mundo del videojuego, tengo el conocimiento suficiente para poder hacer una aproximación del mundo real al digital, lo suficientemente buena, para que me sirva a la hora de tomar decisiones.
Recreando el invernadero en 3D Lo primero que hice fue tomar medidas de cada uno de los arcos del invernadero, después los recree usando Blender simplemente cree un arco y utilizando la herramienta Array generé los demás.
Para la cobertura de plástico utilice un plano, al cual di propiedades de simulación de tela usando Cloth, y a los arcos les di detección de colisiones con Collision
Después simule la física , para obtener el resultado del plano envolviendo los arcos
En algunos puntos el plástico se metía por dentro de los arcos, tras hacer la simulación remodele utilizando las herramientas de esculpido de Blender, principalmente la de inflado y la de suavizado.
Finalmente me lo lleve a Unreal5 a un nivel vacío y ajuste los materiales. Para el suelo de momento estoy usando un plano, pero le meteré un landscape para que sea más fácil la colocación de las plantas y recrear otras partes de la huerta.
Invernadero 3D en Unreal 5
Se ve bastante vacío, pero va cogiendo forma, lo que me interesa de este proyecto es conjugar la realidad con lo digital, por lo que iré incorporando elementos reales como el camino que va al invernadero, marcado de lindes etc,
Homenaje al cuadro del mismo nombre de Salvador Dali, creado con el motor de videojuegos Unreal Engine 5, los modelos 3D son de Quixel, me resulto muy curioso pensar en como Dali había realizado la composición, en su cuadro el pan esta dado la vuelta , a mi sin embargo me interesaba más mostrar la miga con sus agujeros
La magia de la composición esta en el fondo negro que hace que toda nuestra atención se centre en la cesta, es muy difícil recrear la iluminación exacta del cuadro puesto q la luz esta pintada y reinterpretada, al final opte por colocar las luces lo más parecido posible, colocando una luz trasera que aisla parte de la mesa, sin mas sentido que el artístico.
Detalle del cuadro “Cesta de pan” de Salvador Dali
Unreal 5 y el sistema de iluminación en tiempo real Lumen, nos permiten tener materiales con emisión que no solo van a crear un halo suavizado , sino que realmente iluminan.
Para ello tendremos que crear un material con Emission, el que mejor resultado me ha dado es Surface, y convertirlo en parámetro quedando:
Ahora viene algo que al principio parece extraño pero que luego tiene toda su lógica, y es crear dinámicamente una copia del material , modificarlo y reasignarlo.
Es necesario crear una copia ya que si se pudiera, creo que Unreal no deja manipular el material directamente, estaríamos modificando las propiedades del material en todos los objetos que lo tuvieran, por lo que un cambio en el emissor cambiaria todos y normalmente lo que se busca es tener control sobre cada uno
Obtener copia dinámica del material, para ello tenemos que fijarnos en que índice está, lo ideal es crear una variable para poder cambiarlo
Donde DynMaterial es UMaterialInstanceDynamic* DynMaterial;
2. Modificar los parámetros, aquí es muy importante que el nombre del parámetro y el que vamos a pasar coincidan, de nuevo crear una variable ParamEmissionName (FName ParamEmissionName = FName(TEXT(“EmissionIntesity”));) para el nombre
3. Por último reasignar la copia del material al elemento, sino se habrá creado la copia pero no tendrá dueño, LampMesh es mesh del objeto que contiene los materiales definido como UStaticMeshComponent* LampMesh;
En el segundo vídeo de la serie de recreación de un videojuego para moviles android con Unity veremos como crear mecánicas de giro, que serán la base de todo el juego.
El reto:
El jugador debe tener un reto al que enfrentarse, en este caso ponemos aprueba su velocidad y su capacidad de calculo para que las bolas no choquen con los objetos, frente a otros juegos de móvil donde desplazamos el elemento principal, aquí lo rotamos, al existir dos bolas complicamos el movimiento, ya que tendremos que movernos hacia la derecha y hacia la izquierda.
En este tipo de videojuegos minimalistas para móviles, es importante tener una mecánica clara, bien definida y sencilla de entender, la complejidad del juego vendrá de un factor externo al jugador: los niveles.
En este vídeo tutorial trabajaremos diferentes elementos base de Unity para la recreación de un videojuego para móvil android , tipo Duet:
– Colocación de los distintos elementos
– Diseño base usando solo recursos de Unity
– Diferenciar tiempo de juego de tiempo de edición
– Buenas practicas de programación [SerializeField]