El rincón de Unity

cabron

#359

Unity usa Mono, el código que escribes funciona en todas las plataformas.

13500

3
9 días después
PiTiFiNi

Buenas gente, necesito ayuda con una cosa.
Tengo 0 de experiencia programando y me han pedido que anime unas pompas en 2d que al tocarlas exploten, además de que tengan un valor aleatorio para que se regeneren y floten por diferentes caminos. Me gustaría saber donde puedo conseguir un código o algun tuto para newbies, al ser posible.
Gracias :)

2 respuestas
Selbryn

#363 No se si existirá un tutorial de algo tan especifico... Una pregunta ¿dónde "Te lo han pedido"?

1 respuesta
nOckS

#363
Das poca información sobre lo que pides. Dices "y floten por diferentes caminos"... pero no hablas nada sobre cómo quieres que floten (el camino que tienen que describir).

Como dice Selbryn, no vas a encontrar un tutorial tan específico, pero si quieres te hago un resumen de lo que necesitarías, y luego lo vas buscando por partes.

Si el movimiento de la pompa fuese en línea recta hacia arriba, y que ese altearorio fuese la "x" en la que spawnea la pompa en cuestión, necesitarías aplicar lo siguiente:

Teniendo las imágenes exportadas en png, crear la animación en unity (este mismo te vale, pero si no, puedes mirar los oficiales de Unity en 2D).

Necesitarías crearte un prefab con la pompa.

Necesitarías un script que te haga de gestor (se suelen aplicar a GameObjects vacíos).
En este script, tendrías un Invoke. Esto lo que hace es básicamente que llama a una función cada X tiempo. Ese tiempo deberías sacarlo con un Random.Range, de modo que se llamase a esa función cada tiempo, y se lo deberías dar al Invoke cada vez que lo llamas (

Dentro de la función que llama el Invoke, únicamente tienes que tener otro Random.Range, que usarás para designar la X en la que spawneará la siguiente pompa.
Mediante un Instantiate generas la pompa con el prefab que creaste antes y le darías una velocidad fija mediante un addVelocity.

Eso sería lo básico. Las pompas no se destruyen (de hecho suben hasta el infinito xD). Comprendo que sin saber nada de programación sea complicado, y más meterse con Unity.
Si no te han impuesto el con qué hacerlo, hazlo con Construct, que tardarás dos segundos y no necesitas saber programar :P

2 1 respuesta
PiTiFiNi

#364 estoy de esclavo en una miniempresa.
#365 gracias y perdón por haber sido poco específico, lo explicaré mejor:

Las pompas se generan siempre desde un mismo punto, la idea es que cambien la velocidad, tamaño y recorrido al hacer respawn. Pero de momento haré 5 animaciones diferentes y asignarles el valor aleatorio para salir.
Me leeré detenidamente tu respuesta #365, gracias una vez mas ;)

#367 Lo he pensado también, pero el juego consiste en estallarlas y no sé si se puede interactuar con el sistema de partículas.

2 respuestas
B

#366 Pues yo lo haría con un sistema de partículas, tienes todo lo que quieres, diferentes tamaños, direcciones y velocidades, y también puedes hacer que fadeen después de X segundos.

#366 De eso no estoy seguro, aunque se les puede meter colisión, así que no sé, quizás sea posible.

1 1 respuesta
Srednuht

#366 Hablo asi muy por encima, pero si tienes creada la burbuja( esfera 3d con textura guachi) puedes decirle al sistema de particulas que lo que salga de él sean esas burbujas.

El tema de velocidades y demás lo controlas desde el editor del sistema de particulas.

Y lo de que exploten es 'simplemente' hacer una animacion o algun efecto que al hacer click sobre ellas(evento fácilmente construible en unity) se iniciara.

Por ejemplo, podrias hacer que al hacer click sobre la burbuja ,esta desaparezca y por otro lado generar otro pequeño sistema de particulas que dure 1 segundo con 'gotitas' saliendo hacia todos lados.

2
7 días después
Czhincksx

Tengo una duda. En la demo del juego 2D, cuando cambias la relación de aspecto lo que hace es aumentar o reducir el campo horizontal, mientras que la vertical permanece constante. ¿Se podría hacer al revés, es decir, que si creo una pantalla con una proporción 4:3, al usarse en un dispositivo 16:9 se coma parte del contenido de arriba y de abajo, pero mantenga la anchura de la imagen?

Lo que necesito es lo que podéis ver en la pantalla de abajo:

Diseñaré la imagen con todo el contenido para una pantalla 4:3, pero el contenido importante irá dentro de la franja de 16:9.

garmo

¿Alguien ha probado el desarrollo 2D nuevo de la versión 4.3 que pueda compartir su experiencia?

2 respuestas
B

#370 En mi opinión: Es más fácil hacer un juego 2D con Unity puesto en 3D que en 2D.

#372 En realidad opino desde la ignorancia, es simplemente que intenté trastear Unity2D y como no funciona de la misma manera que Unity3D (las físicas y demás) pues lo deseché.

1 respuesta
B1x1t0

#371 #370 ¿Y entonces para que tanta implementación? Una mejora debería ser para facilitar el trabajo al desarrollador :/

2 respuestas
Meleagant

#372 No quisiera flamear a Midgard, pero me tomaría esa opinión con ciertas reservas.

#374 Yo compré el 2D ToolKit por 20€ cuando estuvo de oferta y trae todo lo que le falta a Unity nativamente para 2D, incluyendo soporte (no editor, para eso usas Tiled u otro) para tiled maps.

eZpit

El 2D tiene muy buena pinta, aunque falta que salgan más tutoriales, documentación y que la comunidad construya mas soporte. Es el problema de cualquier cosa nueva.

Pero vamos, el 2D parece que esta bien implementado, con un buen sistema de sprites + fisicas Box2D, no hace falta nada más. Lo único que he echado de menos ha sido un editor de TileMaps, aunque no es muy difícil construirse uno usando los prefabs.

1 respuesta
Czhincksx

Por si a alguien le interesa lo de #369 lo he solucionado añadiendo a la cámara un script con lo siguiente:

void Update () {
		windowaspect = (float)Screen.width / (float)Screen.height;
		Camera.main.orthographicSize = camerasize*(4/3)/windowaspect;
}

Utilizo camerasize para ajustar el ancho que quiero que tenga la pantalla en formato 4:3, que es el más cuadrado que me voy a encontrar y a medida que la pantalla se va haciendo más panorámica, reduzco el tamaño de la cámara ortogonal en proporción.

¿Para qué necesito esto? Estoy haciendo una app en la que aparecen las distintas pantallas una al lado de la otra y la cámara se irá deslizando tramo a tramo hacia la derecha a medida que avanzamos, de modo que es importante que el ancho de la vista esté ajustado a cada una de las pantallas.

Edit: Lo puse en update porque quería ver cómo aumentaba o disminuía camerasize al cambiar le formato.

1
eZpit

Vengo con una duda sobre la mejor manera implementar un editor de niveles 100% gráfico (juego 2D tipo candycrush) para facilitar el trabajo posterior de game design de los niveles.
El editor solo ha de crear una estructura de información que luego sea legible por un escena "level" generica.

Lo que se nos ha ocurrido es utilizar objetos vacios como prefabs y les cambiamos el iconito del editor por un icono "similar" al que se verá en el juego para que gráficamente se vaya viendo como quedará el nivel final.

Tambien hemos creado un prefab generico con un tablero de 5x10 con objetos vacios sobre los que se arrastrarán los prefabs antes mencionados para crear los niveles.

Una imagen de la movida en cuestión:

Para leer la información lo que haremos será ir iterando sobre los elementos vacios y sus hijos para detectar que elementos se han añadido y cuales no.

Me parece 100% cutre el rollo, pero no se me ha ocurrido mejor manera de hacerlo, ya que el inspector e incluso el custom inspector estan bastante limitados grafica y dinamicamente.

¿Que os parece? ¿Se os ocurre una manera mejor de hacer un editor gráfico flexible?

1 respuesta
bleedingstar

Alguien sabe si se puede programar algo en Unity, por ejemplo un juego (guardarlo en formato android) y unirlo a una aplicación hecha por SDK Android eclipse?

#378 oh, que rápida la contestación. Gracias! :qq: :qq: :qq:

1 respuesta
Cobre

#377 Si, no me preguntes como pero lo he visto por ahi xd

1 respuesta
JackSparow

Alguien tiene documentación que especifique exactamente como va el fllujo de ejecución de Unity?

Dudas como:
Los awake() van antes que los start(), pero si en un start() se crea un componete script (llamémosle X), el awakeX() y el startX() exactamente cuando se ejectuan?

  • Despues de terminar el primer start()? antes que termine? el awakeX() primero, luego el start() inicial, y luego el startX()?
  • Todo esto en el mismo frame?

#380 En la documentación que encontré se limitan a decir. Si es la única dicumentacion al respecto que tienen, no me solventa mucho la curiosidad :qq:
So in conclusion, this is the execution order for any given script:
All Awake calls
All Start Calls
while (stepping towards variable delta time)
All FixedUpdate functions
Physics simulation
OnEnter/Exit/Stay trigger functions
OnEnter/Exit/Stay collision functions
Rigidbody interpolation applies transform.position and rotation
OnMouseDown/OnMouseUp etc. events
All Update functions
Animations are advanced, blended and applied to transform
All LateUpdate functions
Rendering
Hints

2 respuestas
cabron

#379

En la documentación online de Unity hay una página dedicada a eso.

1 1 respuesta
RatNuShock

#376 Te recomiendo invertir un ratito en investigar como hacer meshes dinámicamente, los prefabs degradan el rendimiento más rápido de lo que parece.

Lo digo porque ese tipo de juegos suelen cuajar bastante bien y luego quieres hacer las cosas más grandes y de repente va todo mal y no sabes por qué.

Te dejo un tutorial: http://studentgamedev.blogspot.com.es/2013/08/unity-voxel-tutorial-part-1-generating.html

Una vez le pillas el truco a las UV son todo ventajas y maravillas.

1
JackSparow

Otra duda muy concreta:

Usando el "A* Pathfinding Project", mi objeto al moverse por el Path, se empeña en suavizar la ruta chocando contra las cajas. Pensaba que era cosa de modificar el valor de Diameter del Collision testing, pero esto no me solventa nada.
Alguna sugerencia?

#383 Tenía seleccionado el suelo (si te refieres al Sistema de Referencia) que se muestra xD
Miraré lo de los Path Modifiers que me comentas :d Gracias!

1 1 respuesta
RatNuShock

#382 Eso es cosa de los Path Modifiers: http://arongranberg.com/astar/docs/modifiers.php

Alguno tendrás activado, sino revisa que tu objeto este bien centrado en el GameObject, según la foto no lo parece.

1 1 respuesta
cabron

#379

Ese fragmento que has pegado es de esta página, donde todo está más detallado, ese párrafo es el resumen final:

http://docs.unity3d.com/Documentation/Manual/ExecutionOrder.html

1
Sol1dSnake

Algún programa de diseño 3d gratuito? Estoy empezando con unity y me molaría crear mis edificios y cosas varias.

2 respuestas
cabron

#385

Por experiencia personal ni idea, pero tengo un compañero que se dedica al 3d que recomienda SketchUp

1 respuesta
The-Force

#385 sketchup y blender

1 respuesta
Sol1dSnake

#386 #387 Gracias, dicen que blender tiene fallos, lo probaré igualmente.

2 respuestas
B

#388 Fallos? es lo mejor gratuito que puedes encontrar hoy en día..

1 respuesta
Selbryn

#389 Una cosa no quita la otra...

1 respuesta
Tema cerrado