Trucos de Unity que nadie te cuenta

20
Trucos de Unity que nadie te cuenta Miguel Company II PAD Congress Barcelona, 22-23 de Junio de 2015

Transcript of Trucos de Unity que nadie te cuenta

Page 1: Trucos de Unity que nadie te cuenta

Trucos de Unity que nadie te cuenta

Miguel Company

II PAD Congress

Barcelona, 22-23 de Junio de 2015

Page 2: Trucos de Unity que nadie te cuenta

DRAKHAR STUDIO• Fundada en Diciembre 2011

• PlayStation awards: nominados al mejor arte

• 20 personas

• Powered by (and always learning) Unity 3D

Page 3: Trucos de Unity que nadie te cuenta

EXPERIMENTOS

The First Challenge: Juego 3D multijugador.

Todavía activo en Kongregate.

Entorno virtual de socialización corporativa.

Un paso adelante en plataformas de e-learning

Page 4: Trucos de Unity que nadie te cuenta

FRANTIC FLIGHT

En App-Store desde Marzo 2012

Salta y rueda en vista lateral Esquiva a izda y dcha en vista trasera

Modo supervivencia infinito Modo historia con múltiples niveles

Tres protagonistas a elegir

Page 5: Trucos de Unity que nadie te cuenta

GRUMPY REAPER• Grumpy Reaper es un juego arcade (tipo Pacman) que incorpora

elementos de puzzles, habilidad y diversos modos de juego.

• El juego está diseñado inicialmente para poder ser explotado en un modelo ‘free to play’ basado en ingresos por la compra de mejoras funcionales, elementos estéticos para personalizar los enemigos y posibles packs de niveles.

• Género: Puzzle + Arcade

• Modelo: In-App purchasing

• Plataforma: IOS, Android

• Tecnología: Motor Unity 3D

Page 6: Trucos de Unity que nadie te cuenta

CTO: SIEMPRE APRENDIENDO

• Ingeniero en Informática

• Programo videojuegos– Amateur desde 1998– Profesional desde 2010

• CTO y co-fundador de Drakhar Studio

• La labor del CTO es la de asegurar que el equipo dispone de la tecnología necesaria para el desarrollo de proyecto

• Esto implica que hay que estar al día de los avances en los diferentes motores, y que a veces hay que desarrollar herramientas

• ¡Y aprender trucos para enseñárselos a los demás!

Algunas fuentes muy útiles:unity3d.com/es/learn/tutorialsunityready.comwww.wincarsracer.com/es/content/5-consejos-para-sacar-el-maximo-de-unity-3des.slideshare.net/tarasleskiv/unity3d-tips-and-tricks-or-you-are-do

Page 7: Trucos de Unity que nadie te cuenta

Batching, batching, batching

Dynamic batching:• Comparte materiales siempre que sea posible• Junta varias texturas en un ‘atlas’• Mantén bajo 300 el número de vértices• Quita el flag ‘receive shadows’

Static batching:• Si no vas a moverlo, rotarlo o escalarlo, marca el flag ‘static’• Es imprescindible además para generar los ‘lightmaps’

Lo que te cuentan

Page 8: Trucos de Unity que nadie te cuenta

Batching, batching, batching

A veces compensa dynamic:• Cuando un objeto se repite infinidad de veces (aunque no se mueva)• El static batching crea copias de la geometría (más uso de memoria)• Procedimiento: marcar static -> calcular lightmap -> quitar static

Puedes hacer ‘static batching’ de forma dinámica:• Con la función StaticBatchingUtility.Combine• ¿Un ejemplo? ¡Dentro código!

Lo que descubres

Page 9: Trucos de Unity que nadie te cuenta

Batching, batching, batching

Page 10: Trucos de Unity que nadie te cuenta

LAYERS, LAYERS, LAYERSLo que te cuentan

CullingRaycastingCollisions

Page 11: Trucos de Unity que nadie te cuenta

LAYERS, LAYERS, LAYERSLo que descubres

Efectos visuales:• Objetos que sólo se ven con un powerup• Cámara para mostrar el mapa

Optimización de rendimiento:• Físicas más optimas• OnTriggerXXX y OnCollisionXXX más eficientes

Producción:• Retrasar decisiones de diseño para después de pruebas• Colliders que se ven en la escena pero no en el juego

Básicamente … ¡que valen para todo!

Page 12: Trucos de Unity que nadie te cuenta

LAYERS, LAYERS, LAYERS

Page 13: Trucos de Unity que nadie te cuenta

LAYERS, LAYERS, LAYERSOptimizando la producción I

¿Los enemigos abren puertas?

¡SI!

¡NO!

Vaaaale. A/B test, ¿no?

Page 14: Trucos de Unity que nadie te cuenta

LAYERS, LAYERS, LAYERSOptimizando la producción II

Page 15: Trucos de Unity que nadie te cuenta

LAYERS, LAYERS, LAYERSAlgunos consejos

Haz que la capa ‘Default’ no colisione con nada:• Fuerzas a tu equipo a asignar la capa adecuada

Cada vez que creas una capa nueva:• Revisa la matriz de colisiones (Project settings->Physics)• Si es para efectos puramente visuales, ninguna colisión

No abuses creando capas:• Hay un límite de 32

Page 16: Trucos de Unity que nadie te cuenta

Herramientas de EditorOptimizando la producción III

Clases: Editor, EditorWindow,

PropertyDrawer

Métodos: OnInspectorGUI,

OnGUI, OnHierarchyChange,

OnProjectChange,

OnSelectionChange

Otros: SerializedProperty,

ScriptableObject, HideFlags

Page 17: Trucos de Unity que nadie te cuenta

Utiliza un control de versiones

Optimizando la producciónConsejos básicos

Organiza el acceso a las escenas

Page 18: Trucos de Unity que nadie te cuenta

Optimizando la producciónLos poderes ocultos de .NET

Herencia (Inheritance):• Enemy: MonoBehaviour• Zombie: Enemy

Librerías:• SQLite, I18N, …• Editor\Data\Mono\lib\mono\2.0

Métodos de extensión (Extension methods):• Añaden funcionalidad sin heredar• Se definen en una clase marcada como ‘static’

static public MyExtensionMethod (this MyExtendedClass myInstance)

Page 19: Trucos de Unity que nadie te cuenta

EXTENSION METHODS

Page 20: Trucos de Unity que nadie te cuenta

¡ESO ES TODO AMIGOS!

Gracias por su atención

[email protected]

@DrakharStudio

www.facebook.com/DrakharStudio

¡ Seguid la cadena !

¡ Mandadnos vuestros trucos !