El rincón de Unity

B

¿Qué es Unity?

Unity es el motor 3D para el desarrollo de videojuegos más utilizado debido a su posibilidad de compilar a todas las plataformas existentes, con un entorno de programación basado en Scripts, que pueden ser escritos en Javascript, C# o Boo.

¿Y qué hay de este hilo?

Pues bien, este hilo lo he creado por que cada vez somos más los que damos uso a Unity en Mediavida, y ya estábamos llenando el hilo de Guía de desarrollo de juegos indie de dudas con Unity y demás, cuando ese hilo es únicamente para mostrar avances de nuestros proyectos o pedir feedback. Con este hilo conseguimos unificar todos los usuarios mediavideros que usamos Unity en un solo rincón, resolviendo nuestras dudas entre nosotros.

Aportes interesantes

En un futuro (espero, no muy lejano) iré citando aquí los posts que solucionen alguna duda general o aporten algo al hilo, como por ejemplo, el desarrollo de assets propios.

Así que ya sabéis, a partir de ahora, cualquier duda o problema que tengáis con Unity, no dudéis en postearlo aquí! Vamos a intentar hacer una pequeña comunidad de Unity aquí, en Mediavida!

10
Postmortem

Bien, este es el entorno de desarrollo que utilizaré para mi muy primer juego, postearé en el otro post mis avances en cuanto los exámenes me permitan avanzar.

Cada vez veo más "Unity" en muchos juegos, compatibilidad con Oculus, incluso como requisito para algunos trabajos, le veo potencial, espero poder ayudar a la gente con sus dudas [cuando yo deje de tener las mías x_x]

Selbryn

#1 Creo que podrías hacer un apartado donde se vayan poniendo los assets interesantes de la tienda y para que sirven.

1 respuesta
B

#3 Eso irá en la sección de Aportes interesantes :)

autlos

Acabo de instalar la versión 3.5.7 (tengo licencia de android para las versiones 3.x de unity), así que meto el hilo a favoritos ^^

Nunca he hecho nada con engines así que al abrir unity estoy más perdido que Sheldon Cooper en un botellón de negros :S

También tengo Visual Studio 2010 instalado de cuando di VB en el ciclo y curré con C#, pero en la instalación he instalado monoDevelop. He visto en la LD que midgard usaba Visual Studio.

1 respuesta
Selbryn

#5 Yo uso Mono y me va me ha ido siempre perfectamente.

N1CuN1Hue

meee guardo este hilo en favoritos. Unity es el motor sobre el que mas he trabajado, aunque este año me estoy metiendo un poco también en udk, seguro que de aqui salen muchas cosas interesantes.

Nucklear

Para favoritos también, despues de la Ludum de este finde me ha entrado el mono de hacer algun juego y he probado Unity, para los que estéis empezando recomiendo encarecidamente haceros algun tutorial de los que vienen en la página donde os vienen los scripts, assets, prefabs etc y os guian durante el desarrollo para aprender tanto el interfaz como algunos trucos:

http://unity3d.com/learn/tutorials/projects/stealth

También dejo los tutoriales oficiales y la doc que mucha gente se lo salta y es lo mas importante:

http://unity3d.com/learn/tutorials/modules
http://unity3d.com/learn/documentation

Y bueno a lo que venía por aqui:

Dejo la preview de lo que será mi primer PJ hecho desde cero para Unity.

Que esta semana me habéis metido el mono en el cuerpo de nuevo con el dev de juegos.

Está hecho con Blender, ¿algún consejo a la hora de importar animaciones a Unity? No veo nada que "no se pueda hacer", pero prefiero aconsejarme antes de animarlo y que luego me pegue la hostia.

Y por último un recopilatorio de assets gratuitos que hay en UnitySpain que es muy útil a la hora de probar cosas sin montarte tus prefabs de 0:

11.5Gb de golosinas

1 1 respuesta
Selbryn

#8 Para las animaciones yo siempre animo todo sobre la misma linea de tiempo y luego exporto como FBX, después en Unity le dices de que frame a que frame va cada animación. Pero vamos que tiene mas chicha yo aconsejo, misma linea de tiempo y exportar en FBX, de momento.

1 respuesta
Nucklear

#9 Lo tendré en cuenta, ¿Hay algún motivo para hacerlo así? ¿O es tu costumbre? Lo digo porque hacerlas en un timeline y luego cortarla en unity es hacer mas trabajo...

#11 Ok, pues lo probaré

1 respuesta
Selbryn

#10 También puedes hacer una exportarla, hacer otra exportarla y así con todas, pero si tu sabes cual es el frame de principio y de final no hay ningún problema. Te digo que cortarlas en unity es super sencillo.

1 respuesta
Nucklear

Antes de empezar el juego en el que usaré el PJ de #8 me he puesto a hacer un pong con algunas variantes para cogerle mano a la herramienta. Si a alguno le apetece echarle un vistazo puede descargarse el "Autist Pong" para Windows y echarle una partida y así me decís que os perece el comportamiento de la bola.

Cuando lo probéis os daréis cuenta de que la bola deja una estela y a veces marea. ¿Alguno sabe como se arreglaría eso? ¿Limitando FPS?

1 respuesta
B1x1t0

Así da gusto, gracias por el hilo #1

Selbryn

#12 Es una locura donde está la cámara colocada.
Parece algo random el sentido que coge la bola al chocar con la paleta no? porque siempre sale desde el mismo sitio y si me quedo quieto el rebote nunca es igual.

1 respuesta
Nucklear

#14 Si, en principio es aleatoria la velocidad en el eje Z, tengo las funciones implementadas para que siga una trayectoria uniforme pero me parecía mas divertido así.

La camara la coloqué siguiendo la barra pero mareaba mucho que se moviese todo, ¿Como la pondrías tu?

1 respuesta
B

#15 A una distancia en donde puedas ver todo el "mapa", estática, tal y como la puse yo en Super Space Invaders. Aun que si quieres decantarte por algo diferente, yo creo que así está bien la cámara, lo he probado y mola así.

1 respuesta
Nucklear

#16 Yo creo que el problema con la cámara es esa especie de lag que tiene entre que pinta y borra, si os fijáis cuando la bola coge velocidad se ve doble.

De todas formas probé a poner la cámara encima y no me convence, lo veo todo muy clásico y ademas lo que busco con este juego es tomarlo como ejercicio para ambientar y controlar las luces.

1 respuesta
Selbryn

#17 Yo la colocaría de forma clásica y luego cuando este terminado el juego miraría a ver donde te puede quedar bien, pero ya te digo que donde esta ahora mismo no me resulta nada atractivo jugar.

En cuando al movimiento de la bola, como la mueves?

1 respuesta
Nucklear

#18 Este es el controlador de la bola:

#pragma strict
var SpeedX = Time.deltaTime;
var SpeedZ = Time.deltaTime;
function Start () {

}

function Update () {
transform.Translate(-SpeedX, 0, 0, Space.World);
transform.Translate(0, 0, SpeedZ, Space.World);
}

function OnTriggerEnter(other : Collider) {

if (other.name == "PongPlayer"){
	SpeedX = -SpeedX;
	if (SpeedZ < 0){
	SpeedZ = -Random.value/5;
	}
	else{
	SpeedZ = Random.value/5;
	}
}
else if (other.name == "Wall"){
	SpeedZ = -SpeedZ;
}
else if (other.name == "Bottom"){
	SpeedX = -SpeedX;
}
else if (other.name == "End"){
	transform.position = Vector3(11.20326, -1.595974, -3.387263);
	SpeedX = Time.deltaTime + 0.2;
	SpeedZ = 0.0;	
}
else if (other.name == "EndBreak"){
	SpeedX = Time.deltaTime;
	SpeedZ = 0.0;	
}

}
1 respuesta
calabuig21

Buenas a todos,

Acabado de entrar al foro, y el primer tema que he visto es este. Desde mi punto de vista Unity es una gran herramienta para desarrollar videojuegos.

He realizado un tutorial para crear una aplicación de realidad aumentada para Android con Unity, pero no se si puedo colgar la url aqui o colgarlo aqui directamente.

Dejo el video que seguro que no hay ningun problema

2 respuestas
B

#20 Pues mola mucho tío :o supongo que podrás hacer juegos bastante curiosos usando esa mecánica.

PD: Ponte un avatar, que un "sin-avatar" posteando vídeos en cualquier foro de mediavida está muy mal visto.

1 respuesta
Selbryn

#20 Creo que no hay problema, y seguro que ha muchos les viene bien, cuando yo me puse con Vuforia me costo dios y ayuda encontrar un buen tutorial.

#19 Me creo un proyecto y lo pruebo

#19 Creo que esto lo tengo igual que tu: https://dl.dropboxusercontent.com/u/53581538/Arkanoid/Arkanoid.html

El que he puesto puede ir realmente rápido pero a mi no me da sensación de tirones, prueba a colocar bien la cámara, quilate la luz que sale de debajo... :S

2 respuestas
Nucklear

#22 Puede ser porque tengo la VSync activada y al estar probándolo en el portátil puede que de ese efecto. Esta noche voy a probar una nueva mecánica para la bola. Cuando acabe el proyecto compartir e por aquí los scripts por si a alguien le sirve.

Ahora mismo tengo la cámara estática a 45 grados desde detrás de la barra y si que es mas cómodo, antes mareaba un poco.

#24 Lo del lag ese que tenía era por una mala implementación de Time.deltaTime, ahora ya va bien.

Por otra parte he implementado un sistema de rebotes mas real, pero a la hora de jugarlo es muy monótono y no agrega un plus de dificultad como estaba antes, por el momento creo que voy a dejarlo como al principio, si no implementaré el sistema de "cuenco" que se utiliza en el pong clásico. Mañana ambientaré algo el escenario y quizás añada un oponente o algo que le de chicha al juego.

2 respuestas
Selbryn

#23 Te pongo aqui el codigo.

using UnityEngine;
using System.Collections;

public class MovBall : MonoBehaviour {

public float speedX = 2;
public float speedY = 2;

// Use this for initialization
void Start () {

}

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

	transform.Translate(speedX * Time.deltaTime,0,0,Space.World);
	transform.Translate(0,speedY * Time.deltaTime,0,Space.World);
	
	Vector3 direction = new Vector3 (speedX,speedY,0);
	Debug.DrawRay(transform.position , direction); 
	
}

public void OnTriggerEnter(Collider other)
{
	
	if(other.name == "Hor_Wall")
	{

		speedY = -speedY;
		
	}
	else if(other.name == "Ver_Wall")
	{
	
		speedX = -speedX;
		
	}
	
}

puedes probar a poner la VSync en modo automatico, o desacitvala pero yo not enog nidea de que pueda ser por eso.

Si lo compartes lo agradeceríamos todos :)

1 respuesta
calabuig21

#21 y #22 y resto de foreros

Aqui os dejo el link del tutorial para crear una aplicación para Android usando Vuforia y Unity 3D

Tutorial Vuforia y Unity para Android

Espero que trasteis un poco xD

Yo en verano me pondré a ver que se me ocurre

1 respuesta
Selbryn

#25 Muchas gracias tío, me lo echo un vistazo.

#23 ¿A que te refieres con sistema de "cuenco"?, me estas dando ganas de hacerme un Arkanoid :)

1 respuesta
Nucklear

#26 Si te fijas cuando juegas a arcanoid o pong puedes darle efecto a la bola dandole con la barra en movimiento. Eso se debe a que se interpreta la barra como una pequeña curva.

UPDATE:

https://dl.dropboxusercontent.com/u/27382237/Unity/Web%20Build.html

2 respuestas
Selbryn

#27 jaja asi mola mas. Y como implementas la forma de cuenco, desde codigo asignando valores a porciones de la barra?

P.D. He atravesado el lateral con la pala.

1 respuesta
B

#27 No deberías utilizar una licencia de prueba de Unity Pro, queda muy feo el pequeño texto abajo derecha "trial version". Lo digo como sugerencia mía, a mi no me gusta que se aplique texto por la cara.

PD: Te está quedando bastante guapo, aun que deberías deshabilitar la colisión de los bloques cuando la bola colisione con ellos, por que si no, si la bola vuelve a pasar por donde un bloque está haciendo la animación de encogerse y desaparecer, la bola colisionará otra vez con el mismo bloque, es una putada, no me gusta xD No sé si lo estarás haciendo a posta.

1 respuesta
Nucklear

#28 Para lo del cuenco aun no lo tengo muy claro pero en teoría es trigonometría básica. Lo de la colisión pasa a veces y no se por que, en un momento que tenga tengo que ponerme a debuggear.

#29 Si que es verdad que es una mierda lo del texto, pero bueno que esto es un juego de prueba y que voy a colgar por aquí al terminar así que no me importa mucho. En cuanto a lo de la colisión con las barras ya me había fijado y aun no lo corregí, pero tened en cuenta que lo hice todo en 4-5 horas y sin pensar en que juego iba a ser, de hecho al principio era un Pong xD

1
Tema cerrado