Unity3d

25
Gaming Gaming William Higino Nathan Cruz Mercado de jogos, e Desenvolvimento utilizand

Transcript of Unity3d

Page 1: Unity3d

GamingGaming

William HiginoNathan Cruz

Mercado de jogos, e Desenvolvimento utilizando Unity

Page 2: Unity3d

O MercadoEntre as alternativas de entretenimento, os jogos digitais estão entre os que vêm apresentando as maiores taxas de crescimento...

... Estima-se que suas vendas sejam duas vezes maiores que as da indústria fonográfica, e que

devam crescer mais rapidamente que as do setor cinematográfico até 2016

(BNDES: Mapeamento da Indústria Brasileira e Global de Jogos Digitais 2014)

Page 3: Unity3d

O Mercado

Page 4: Unity3d

O Mercado (EUA)

Fonte: esa – entertainment software association

Page 5: Unity3d

O Mercado (EUA)

Fonte: esa – entertainment software association

Page 6: Unity3d

Desenvolvimento no Brasil

• 133 Empresas de Desenvolvimento• 1133 Trabalhadores• 92 empresas tem 9 ou menos pessoas

Fonte: I Censo da Indústria de Jogos Digitais

Page 7: Unity3d

• IDE e Engine para desenvolvimento de jogos, com suporte a integração com diversas tecnologias atuais

• Multi-plataforma– Windows, Mac, WebPlayer, Linux– IOS, Android, Windows Phone– PS3, PS4, Xbox360, Xbox One, Wii U

• Suíte de desenvolvimento disponível apenas para Windows e Mac.

Page 8: Unity3d

Principais Tecnologias

• Arquitetura focada para plug-ins• Scripting simplificado utilizando frameworks e

diferentes linguagens• Suporte a Shaders• Animação 3D (Mecanim)• Sistema de partículas (Shuriken)• Física In-game (PhysX)• Controle de Áudio

Page 9: Unity3d

Plug-ins Populares

2DToolkit – Adaptação da IDE para desenvolvimento 2D

iTween – Facilita o gerenciamento de objetos em cena (Translação, rotação, escala, câmera, vetores, etc)

Page 10: Unity3d

Plug-ins Populares

NGUI – Criação de UI incluindo botões, textos, imagens, checkboxes, dropdowns, entre outros.

PlayMaker – Criação de máquinas de estado com objetos da cena, permitindo iniciar ou customizar comportamentos, conforme o momento do jogo.

Page 11: Unity3d

Scripts

• Linguagens– C#– Javascript– Boo

• Frameworks–Mono 2.6– UnityEngine– .Net

Page 12: Unity3d

Scripts

Usados para atribuir comportamentos aos objetos.

Utilizam a mesma API, independente da linguagem escolhida.

Podem ser levados para diferentes objetos, podendo possuir parâmetros específicos em cada um, além de valores padrão. (herança)

Page 13: Unity3d

using UnityEngine;

using System.Collections;

public class TransformFunctions : MonoBehaviour{

public float moveSpeed = 10f;

public float turnSpeed = 50f;

void Update (){

if(Input.GetKey(KeyCode.UpArrow))

transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);

else if(Input.GetKey(KeyCode.DownArrow))

transform.Translate(-Vector3.forward * moveSpeed * Time.deltaTime);

else if(Input.GetKey(KeyCode.LeftArrow))

transform.Rotate(Vector3.up, -turnSpeed * Time.deltaTime);

else if(Input.GetKey(KeyCode.RightArrow))

transform.Rotate(Vector3.up, turnSpeed * Time.deltaTime);

}

}

Page 14: Unity3d

Shaders• Uso de Shaders embutidos (Utilizam CG/Nvidia HLSL), podendo ser

customizados utilizando ShaderLab (sintaxe similar a CSS)

// colored vertex lightingShader "Simple colored lighting" { // a single color property Properties { _Color ("Main Color", Color) = (1,.5,.5,1) } // define one subshader SubShader { Pass { Material { Diffuse [_Color] } Lighting On } }}

Page 15: Unity3d

Criação de Cenas

Page 16: Unity3d

Criação de Cenas

• Hierarquia de objetos em árvore• Propriedades modulares dos objetos, sendo

configurados individualmente– Scripts de comportamento– Parâmetros de física– Opções de renderização– Parâmetros e gatilhos de áudio

Page 17: Unity3d

Componentes do objeto

Page 18: Unity3d

Animações

• Utiliza o Mecanim (sistema de animação embutido no Unity), dispensando a necessidade de ferramentas externas

• Permite a criação de movimentos complexos, utilizando movimentos simples e máquinas de estado

Page 19: Unity3d

Física

• Processamento realizado utilizando– Colliders: Detectores de colisão entre objetos– Rigidbody: Atribuição de um corpo como “rígido”,

tendo então “leis da física” aplicadas ao mesmo.– Joints: Junções entre diferentes objetos, ou a

pontos fixos no espaço

Page 20: Unity3d

Física

• Processamento realizado utilizando– Collision / Trigger event system: Gatilhos para

ativar comportamentos ou eventos físicos, utilizando os rigidbodys dos objetos para detectar sua presença, ou proximidade

– Character Controllers: Atribui ao objeto do jogador regras específicas de física, facilitando a interação física com o chão, paredes, e outros objetos inanimados da cena

Page 21: Unity3d

Loja de Assets

• Oferece recursos pré-fabricados, que podem ser importados diretamente nos projetos Unity:– Animação– Efeitos de áudio, músicas, som ambiente– Modelos 3D– Scripts (IA, Camera, Física, GUI, Rede, etc)– Sistemas de partículas– Shaders– Texturas

Page 22: Unity3d

Exemplos

Assassin's Creed Identity

Exemplos

Page 23: Unity3d

ExemplosHearthstone:

Heroes of Warcraft

Page 24: Unity3d

VersõesUnity (Free): Recursos Limitados em diversos aspectos (Gráficos, Mecânica, Áudio, etc). Permite uso comercial para entidades com menos de US$ 100.000,00 de receita

Page 25: Unity3d

Bibliografia

https://en.wikipedia.org/wiki/Unity_%28game_engine%29 http://unity3d.com http://unity3d.com/showcase/gallery/games https://en.wikipedia.org/wiki/Hearthstone:_Heroes_of_Warcraft https://en.wikipedia.org/wiki/List_of_Unity_Engine_games http://developer.download.nvidia.com/shaderlibrary/webpages/

hlsl_shaders.html