DESENVOLVENDO JOGOS COM UNITY Unity 3D
Erick Mendonça – [email protected]
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 – [email protected]