construção de jogos com o motor unity3d (2013)

64
Construção de jogos com o motor Unity3D Eduardo Bonfandini 7º CCTEC - 2013 - Minicurso

Upload: eduardo-bonfandini

Post on 24-May-2015

11.185 views

Category:

Technology


0 download

DESCRIPTION

Minicurso de "Construção de jogos com o motor unity3d (2013)" apresentado no 7º Congresso CCETEC da Univates - Lajeado - RS.

TRANSCRIPT

Page 1: Construção de jogos com o motor unity3d (2013)

Construção de jogos com o motor Unity3D

Eduardo Bonfandini

7º CCTEC - 2013 - Minicurso

Page 2: Construção de jogos com o motor unity3d (2013)

Unity3D

Quem conhece a Unity3d?

http://portuguese.unity3d.com/

Page 3: Construção de jogos com o motor unity3d (2013)

Objetivos

• Demonstrar a Unity3d• Informar suas capacidades• Ensinar o uso básico da ferramenta• Criar motivação para o uso.• Se divertir.

Page 4: Construção de jogos com o motor unity3d (2013)

Apresentação

de vídeos

Page 5: Construção de jogos com o motor unity3d (2013)

Tópicos gerais do minicurso

1. Introdução2. Básico3. Script4. Compilando5. Outras coisinhas legais.

Page 6: Construção de jogos com o motor unity3d (2013)

PARTE 1

Introdução

Page 7: Construção de jogos com o motor unity3d (2013)

http://unity3d.com

• Rica em funcionalidades.• Um motor (engine).• É um ambiente de desenvolvimento.• Engine e Ide 100% integrados.• Desenvolvido para criação de conteúdo 3D

interativos.• Provê “na caixa” uma listagem completa, para

alcançar conteúdo de alta qualidade e alta performance.

Page 8: Construção de jogos com o motor unity3d (2013)

http://unity3d.com

• Pública para multi-plataformas.

• Reduz tempo de desenvolvimento,

• Reduze esforço e custo para fazer jogos.

• Comunidade ativa

• Ótima documentação• Fácil

Page 9: Construção de jogos com o motor unity3d (2013)

Multi plataforma

• Pc• Mac• Web• Chrome• Wii• PS3• Xbox 360• Android• iPhone e iPad

Page 10: Construção de jogos com o motor unity3d (2013)

Multi plataforma

• Versão 4:• Linux• Flash

• Editor:• Windows• Mac

Page 11: Construção de jogos com o motor unity3d (2013)

Rica em funcionalidades.

• Códigos sem dor (Js, C#, Boo)• Controle preciso de qualidade• Previews instantâneos• 100 shaders prontinhos possibilidade de criação• Sombras em tempo real ou confeitadas (baked)

Page 12: Construção de jogos com o motor unity3d (2013)

Rica em funcionalidades.

• Linear Space Lighting HDR

• Realtime Shadows

• Sun Shafts & Lens Effects

• Ambient Occlusion

• Lightmapping

Page 13: Construção de jogos com o motor unity3d (2013)

Rica em funcionalidades.

• Interação com praticamente todos modeladores

• Blender, 3dStudio, Maya, SketchUp

Page 14: Construção de jogos com o motor unity3d (2013)

Suporte a arquivos

Page 15: Construção de jogos com o motor unity3d (2013)

Terrenos

• Terrenos:• Sculpt Like a Master• Trees, Bushes, Rocks, Grass• Detail Texture Painting• Lightmaps Integrated• Tree Creator

Page 16: Construção de jogos com o motor unity3d (2013)

Exemplos

Page 17: Construção de jogos com o motor unity3d (2013)

Física

• NVIDIA® PhysX®• Cloth• Soft Bodies• Rigidbodies

• Ragdolls• Joints• Cars• Materials

Page 18: Construção de jogos com o motor unity3d (2013)

Som (F-mod)

• 3D ou 2D• Poder do Fmod• Filtros• High/Low pass• Distorção• Echo• Reverb

http://www.fmod.org/

Page 19: Construção de jogos com o motor unity3d (2013)

Código

• Javascript (UnityScript)• C#• BOO ( Like python)• Integrado com IDE’s• Modifica objetos• Modifica editor• Novas funcionalidades• Código multi-plataforma• Código especifico

Page 20: Construção de jogos com o motor unity3d (2013)

Internet

• Estados• Tempo real• Chamdas remotas

• Conexão com servidores• Web Browser• Conectividade web

Page 21: Construção de jogos com o motor unity3d (2013)

Rica em funcionalidades.

• Prefabs• Asset manager

• Asset store• Customização

Page 22: Construção de jogos com o motor unity3d (2013)

Partículas

• Partículas para todos os gostos• Particle 2d

Page 23: Construção de jogos com o motor unity3d (2013)

Mão na massa

Page 24: Construção de jogos com o motor unity3d (2013)

PARTE 2

Básicos

Page 25: Construção de jogos com o motor unity3d (2013)

Interface geral

Editor Preview

ProjetoCena

Inspector

Page 26: Construção de jogos com o motor unity3d (2013)

Conceitos

• Game Object • Create Other• Componentes• Colliders• Camera

Page 27: Construção de jogos com o motor unity3d (2013)

PROJETO 1

MINI PROJETO COISAS AZUIS

Page 28: Construção de jogos com o motor unity3d (2013)
Page 29: Construção de jogos com o motor unity3d (2013)

NO EDITOR

Page 30: Construção de jogos com o motor unity3d (2013)

Prefabs

• Prefabs são legais• Conteúdo compartilhado• Otimização• Mecha um e altere todos (ou não)• Aparecem no editor em azul

Page 31: Construção de jogos com o motor unity3d (2013)

JAVASCRIPT

• UnityScript = Bom, bonito e barato• Similar ao JS do browser• Um objeto pode ter diversos scripts e eles

podem se comunicar

Page 32: Construção de jogos com o motor unity3d (2013)

Uma variável é uma variável

• Seja no script, seja no editor

Page 33: Construção de jogos com o motor unity3d (2013)

Esqueça OO clássico

• Orientação a objetos é legal• Coisas diferentes, conceitos diferentes• Script modulares, cada um com sua tarefa• Veja cada script como uma classe• Veja um script em um objeto como uma

instancia

Page 34: Construção de jogos com o motor unity3d (2013)

Objetos/Variáveis

• gameobject• Transform• Ridigbody• Collider• audio• ...• ...• ...• Use a ide para o autocomplete

Page 35: Construção de jogos com o motor unity3d (2013)

Métodos

• Start• Update• FixedUpdate• OnCollisionEnter• http://docs.unity3d.

com/Documentation/ScriptReference/Collider.OnCollisionEnter.html

• OnCollisionStay• OnCollisionOut• E MUITO MAIS! ...... (hehehe)

Page 36: Construção de jogos com o motor unity3d (2013)

Criar caixa ao clique

function Update ()

{

if ( Input.GetMouseButton(0))

{

var selected = Random.Range(0,objects.Length*100) / 100;

//Debug.Log(selected);

var box = objects[selected];

var boxClone = GameObject.Instantiate(box,box.transform.position,Quaternion.identity);

}

...

Page 37: Construção de jogos com o motor unity3d (2013)

Mover a câmera

var horizontal = Input.GetAxis ("Horizontal");

if ( horizontal > 0 )

{

transform.localPosition.x +=1;

}

else if ( horizontal < 0 )

{

transform.localPosition.x -=1;

}

Page 38: Construção de jogos com o motor unity3d (2013)

Compilando

Page 39: Construção de jogos com o motor unity3d (2013)

Não esquece de adicionar as cenas

Page 40: Construção de jogos com o motor unity3d (2013)

Texturas por plataforma

Page 41: Construção de jogos com o motor unity3d (2013)

Configurações

Page 42: Construção de jogos com o motor unity3d (2013)

Projeto 2

Terreno

Page 43: Construção de jogos com o motor unity3d (2013)

Terreno

Page 44: Construção de jogos com o motor unity3d (2013)

5 minute project

Page 45: Construção de jogos com o motor unity3d (2013)

Terrain + Asset Store

Page 46: Construção de jogos com o motor unity3d (2013)

Belezinha?

Page 47: Construção de jogos com o motor unity3d (2013)

PROJETO 3

Playground

Page 48: Construção de jogos com o motor unity3d (2013)

Scene 1

Page 49: Construção de jogos com o motor unity3d (2013)

Scene 2

Page 50: Construção de jogos com o motor unity3d (2013)

Chão (plane, texture, bumpmap)

Page 51: Construção de jogos com o motor unity3d (2013)

Manha de Gimp 1

• Tornar encaixável – Juntas perfeitas

Page 52: Construção de jogos com o motor unity3d (2013)

Caixa (component,rigidbody)

Page 53: Construção de jogos com o motor unity3d (2013)

Caixa

Page 54: Construção de jogos com o motor unity3d (2013)

Luzes

• Direcional• Ponto• Holofote ( SpotLight )• Area

Page 55: Construção de jogos com o motor unity3d (2013)

Bola ( physics material)

Page 56: Construção de jogos com o motor unity3d (2013)
Page 57: Construção de jogos com o motor unity3d (2013)

Árvore (cylinder)

Page 58: Construção de jogos com o motor unity3d (2013)
Page 60: Construção de jogos com o motor unity3d (2013)

PARTE FINAL

Tópicos para discussão

Page 61: Construção de jogos com o motor unity3d (2013)

Dúvidas, sugestões e reclamações?

Page 62: Construção de jogos com o motor unity3d (2013)

Tópicos para discussão

• Skybox• IsTrigger• Partículas• Asset Store• SVN (Version control = Meta files)• Plane simples

Page 63: Construção de jogos com o motor unity3d (2013)

Fim?

• Física “avançada” (pêndulo, tecidos)• Terrenos• Ragdool• Modelos 3d• Scripts do Editor• Baked Lights• Animação 2d

Page 64: Construção de jogos com o motor unity3d (2013)

Fim?

• Game Design• Level design• Character design• Sketchs• Layouts• Prototipagem