Desenvolvendo jogos com unity

Post on 24-May-2015

2.300 views 6 download

description

Apresentação de slides para o minicurso Desenvolvendo jogos com Unity que ministrei na Terceira Semana de Computação da Universidade Federal de Sergipe, em dezembro de 2013.

Transcript of Desenvolvendo jogos com unity

DESENVOLVENDO JOGOS COM UNITY Unity 3D

Erick Mendonça – erickrms@dcomp.ufs.br

AGENDA

Desenvolvimento de jogos

Mercado de games

Indie games

Oportunidades

Unity

Histórico

Facilidades

Meus jogos vão rodar onde?

E dá pra usar no meu computador?

O que já fizeram?

Interface

Editor de Cena

Editor de Terreno

Criando objetos

Criando scripts

Hello World: Modern Warfare

Importando modelos, texturas e sons

Criando um menu

Exportando o jogo

MERCADO DE GAMES

Font

e: V

GSa

les

(http

://vg

sale

s.w

ikia

.com

/w

iki/

Vid

eo_gam

e_in

dus

try)

MERCADO DE GAMES

Font

e: V

GSa

les

(http

://vg

sale

s.w

ikia

.com

/w

iki/

Vid

eo_gam

e_in

dus

try)

MERCADO DE GAMES

2012: 63 bilhões de dólares (incluindo jogos para smartphones e tablets). *

Há 10 anos, a indústria movimentava 33,2 bilhões de dólares. Se ajustarmos esse valor com a inflação, chegamos a 41,43 bilhões.

Em 2007, o total ajustado era de 46,08 bilhões.

O que aconteceu entre 2007 e 2013?

* Fonte: Reuters (http://in.reuters.com/article/2013/06/10/gameshow-e-idINDEE9590DW20130610)

MERCADO DE GAMES: MOBILE

Font

e: PW

C (ht

tp:/

/w

ww

.pw

c.co

m/g

x/en/

glo

ba

l-ent

ert

ain

ment

-med

ia-o

utlo

ok/

seg

ment

-ins

ight

s/vi

deo-g

am

es.

jhtm

l)

MERCADO DE GAMES: ONLINE

Font

e: PW

C (ht

tp:/

/w

ww

.pw

c.co

m/g

x/en/

glo

ba

l-ent

ert

ain

ment

-med

ia-o

utlo

ok/

seg

ment

-ins

ight

s/vi

deo-g

am

es.

jhtm

l)

MERCADO DE GAMES: COMPARATIVO

Font

e: PW

C (ht

tp:/

/w

ww

.pw

c.co

m/g

x/en/

glo

ba

l-ent

ert

ain

ment

-med

ia-o

utlo

ok/

seg

ment

-ins

ight

s/vi

deo-g

am

es.

jhtm

l)

MERCADO DE GAMES: BRASIL

Quarto maior mercado de games (2012).

Superou o Reino Unido em faturamento (2013). Crescimento do mercado total de 25% em 2012-2013!

Distribuição digital: preços mais baixos.

Smartphones em alta!

Fontes:

G1: http://g1.globo.com/tecnologia/games/brasil-game-show/2013/noticia/2013/10/mercado-de-games-no-brasil-ja-fatura-mais-do-que-no-reino-unido-diz-gfk.html

Folha de São Paulo: http://www1.folha.uol.com.br/tec/2013/10/1361479-brasil-e-galinha-dos-ovos-dourados-do-mercado-de-games-diz-gfk.shtml

MERCADO DE GAMES: BRASIL

Vale-cultura não inclui jogos...

... Mas a lei Rouanet, sim!

Toren: primeiro jogo beneficiado pela Lei Rouanet, foi autorizar a arrecadar R$ 370 mil, e em agosto já haviam arrecadado R$ 75 mil.

Fonte:

Folha de São Paulo: http://www1.folha.uol.com.br/tec/2013/08/1324415-game-toren-levanta-r-40-mil-pela-lei-rouanet-meta-e-arrecadar-370-mil.shtml

UNITY

HistóricoFacilidadesMeus jogos vão rodar onde?E dá pra usar no meu computador?O que já fizeram?

HISTÓRICO

2001: Início do desenvolvimento.

2004: Fundação da empresa Unity Technologies, na Dinamarca.

2005: Unity 1 lançado na WWDC da Apple, somente para Mac na época.

2007: Unity 2.0.

2008: Unity iPhone, companhia triplicou de tamanho, provedor de middleware autorizado para o Wii.

2009: Primeira versão gratuita!

HISTÓRICO

2010: Asset Store, 250k desenvolvedores, Unity 3.0, Unity Android.

2011: 500k desenvolvedores, Rochard (primeiro jogo na PSN).

2012: Unity 3.5, Preview do Unity 4 e suporte a Linux, 1M desenvolvedores.

2013: Unity 2D Tools, Unity Cloud, Unity Games, Publicação gratuita, Xbox One, Blackberry 10.

FACILIDADES

IDE totalmente integrada ao motor/engine

Multiplataforma

Comunidade ativa

Documentação rica

Fácil colaboração

Loja de recursos (Asset Store)

Linguagens: Boo, Javascript e C#

FACILIDADES

Preview instantâneo

Efeitos prontos: Shaders, Sombras, HDR, Lens Effects, Ambient Occlusion e muitos outros!

Suporte a: bump mapping, reflection mapping, parallax mapping, screen space ambientocclusion (SSAO), dynamic shadows using shadow maps, render-to-texture, full-screen post-processingeffects.

Suporta shaders desenvolvidos em programação declarativa: HLSL, GLSL, Cg.

Suporta PhysX.

Suporta assets em formatos:

3ds Max, Maya, Softimage, Blender, Modo, ZBrush, Cinema 4D, Cheetah3D, Adobe Photoshop, Adobe Fireworks, Allegorithmic Substance, SketchUp, 3dStudio.

FACILIDADES

Rede e internet.

Personalização e PreFabs.

Drag n’ Drop

Direct3D e OpenGL

Direct3D (Windows, inclusive DirectX 11), OpenGL (Mac, Windows, Linux), OpenGL ES (Android, iOS), e APIs proprietárias (Wii)

Scripting com suporte a banco de dados, expressões regulares, XML, arquivos e rede.

Algumas funcionalidades estão disponíveis apenas na versão Pro.

MEUS JOGOS VÃO RODAR ONDE?

Unity (free):

iOS,

Android,

Windows Store,

Windows Phone,

BlackBerry,

Desktop,

Web.

Gratuito!

Unity Pro:

Pro publishing for iOS,

Android,

Windows Store,

Windows Phone,

BlackBerry.

Disponível em licença(US$ 1500) ou assinatura(US$ 75/mês).

Bônus: Consoles!

Wii U,

Xbox 360,

Xbox One (2014),

PS3,

PS4,

PS Vita / Mobile.

Algumas plataformaspossuem restrições.

E DÁ PRA USAR NO MEU COMPUTADOR?

Requisitos de Sistema para o desenvolvimento com Unity:

Windows XP SP2 ou posterior; Windows 7 SP1; Mac OS X "Snow Leopard" 10.6 ouposterior.

Placas de vídeo com capacidades de DirectX 9 (shader model 2.0). Qualquer placafeita desde 2004 deve funcionar.

DETALHES ESPECÍFICOS DE PLATAFORMAS

iOS:

OS X

Xcode 4.3

Somente a versão do OS X faz build para iOS!

Android:

Android SDK e JDK

Android 2.0 ou superior.

Recomendado:

ARMv7 CPU ou superior,

Suporte a OpenGLES2.0.

Windows Store/Phone:

Windows 8 Pro

Windows Phone SDK 8.0

Visual Studio 2012

Não é possível desenvolverapps de Windows Phone 8 no Windows 7 ou Server 2008/2012!

EDITOR DE TERRENOS

Árvores,

Arbustos,

Pedras,

Grama,

Texturas,

Lightmaps,

Mais!

FÍSICA

Suporte ao Nvidia PhysX.

Corpos rígidos e macios (soft and rigid bodies).

Tecidos (cloth).

Materiais.

Ragdolls.

Juntas.

Carros.

Partículas.

SOM

Filtros, distorção,

reverberação, ecos,

3D ou 2D,

distância e volume.

CÓDIGO

Javascript

C#

Boo (python-like)

Integrado com IDE’s

(Visual Studio, por exemplo)

Código multiplataforma

(Monodevelop)

O QUE JÁ FIZERAM?

UNITE 2012 Várias jogos!

INTERFACE GERAL

CONCEITOS

Game Object Posição

Escala

Rotação

Assets Imagens

Modelos 3D

Sons

Outros arquivos

Packages: permite transferir gameobjects e assets, com suas dependências

Create Other

Components: atribuem comportamentos, aparência e funções. São anexados aos objetos.

Colliders

Camera: estáticas, animadas, anexadas a personagens ou a objetos do cenário. Podem receber efeitos: motion blur, lens flare, luz.

Skybox

Controle de Versão

CONCEITOS

Scenes

Áreas do jogo

Menus

Fases

Telas

Áudio

Audio Source

Audio Listener

CHÃO

Plane

Texture

Bumpmap

CAIXA

Component

Rigidbody: objetos que serão afetados pela física do jogo. Massa

Gravidade

Velocidade

Atrito

Detecção de colisão Componente Collider

Box Collider, Mesh Collider

Textura Normal

Difusa

Malha

LUZES

Direcional

Pontual

Holofote / spotlight

Area

BOLA

Physics

Material

ÁRVORE

Cyllinder

PREFABS

Conteúdo compartilhado

Padronização de objetos

Otimização

Centralização de alterações

SCRIPTS

Variável: no código e no editor

Scripts modulares permitem atribuir diversos comportamentos a objetos diferentes

Veja cada script como uma classe

Gameobjects

Transform

Rigidbody

Collider

Audio

MÉTODOS

Start

Update

FixedUpdate

OnCollisionEnter

OnCollisionStay

OnCollisionOut

CHARACTER CONTROLLER

PushBodies

OnControllerColliderHit

BUILDING

Não esqueça de adicionar cenas

CONTROLE DE VERSÃO

Usando Git:

Edit > Project Settings > Editor

Mode: Visible Meta Files

Asset Serialization: Force Text

CONTROLE DE VERSÃO

.gitignore

(Arquivos que podem ser ignorados no controle de versão)

REFERÊNCIAS E MATERIAIS DE ESTUDO

Canal GamesIndie no Youtube: http://www.youtube.com/user/GamesIndie

Documentação do Unity: http://unity3d.com/learn/documentation

Livro: Beginning 3D Game Development with Unity 4: http://www.amazon.co...

Unity 3D Training Video: http://walkerboystudio.com/html/unity...

DÚVIDAS

DESENVOLVENDO JOGOS COM UNITY Unity 3D

Erick Mendonça – erickrms@dcomp.ufs.br