Trabalho apresentado para a disciplina de Multimídia (2o Semestre de 2014), ministrada pelo Prof. Dr. Arlindo Conceição. Instituto de Ciência e Tecnologia - Unifesp
1. Gaming
William Higino
Nathan Cruz
Mercado de jogos, e Desenvolvimento utilizando Unity
2. O Mercado
Entre 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)
4. O Mercado (EUA)
Fonte: esa – entertainment software association
5. O Mercado (EUA)
Fonte: esa – entertainment software association
6. 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
7. • 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.
8. 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
9. 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)
10. 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.
12. 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)
13. 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);
}
}
14. Shaders
• Uso de Shaders embutidos (Utilizam CG/Nvidia HLSL),
podendo ser customizados utilizando ShaderLab (sintaxe
similar a CSS)
// colored vertex lighting
Shader "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
}
}
}
16. 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
18. 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
19. 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
20. 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
21. 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
24. Versões
Unity (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