Unity3d
-
Upload
william-higino -
Category
Technology
-
view
225 -
download
0
Transcript of Unity3d
GamingGaming
William HiginoNathan Cruz
Mercado de jogos, e Desenvolvimento utilizando Unity
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)
O Mercado
O Mercado (EUA)
Fonte: esa – entertainment software association
O Mercado (EUA)
Fonte: esa – entertainment software association
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
• 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.
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
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)
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.
Scripts
• Linguagens– C#– Javascript– Boo
• Frameworks–Mono 2.6– UnityEngine– .Net
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)
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);
}
}
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 } }}
Criação de Cenas
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
Componentes do objeto
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
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
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
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
Exemplos
Assassin's Creed Identity
Exemplos
ExemplosHearthstone:
Heroes of Warcraft
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
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