SlideShare uma empresa Scribd logo
1 de 18
Projetos RAD : Unity 3D 
Scripts Parte I 
Augusto Bülow
Unity 
• Regra PLAY: 
– Edição durante Play mode é temporária 
(perdida quando desligamos play) 
– Intenção: 
• Testar novos parâmetros durante gameplay 
– Ganho tempo, resultados experimentados diretamente 
• EX: mudar velocidades player
Unity : Script 
• Scripts : 
– Controle do jogo (interatividade) 
– Ações game baseadas em tempo / local 
– Ações game baseadas em intenção : Input 
• Input: 
– Avaliar teclas e controles (mouse e joy) 
– Executar ações necessárias
Unity : Script 
• Criar um Script: 
– Assets -> Create -> JavaScript 
– Renomear Script (organização): Move1 
• Duplo click para edição 
(UniSciTE : Editor scripts)
Unity : Script 
• Scripts iniciam com função Update 
function Update() { } 
• Update() 
– vai rodar função (o que estiver dentro) a cada 
ciclo de jogo - a cada tela renderizada 
• Várias funções nomes próprios, auto 
executadas com respectivos eventos, EX: 
– Awake(): quando executado a primeira vez 
– OnCollisionEnter(): quando colide 
– Etc...
Unity : Script 
• Movimento básico de objeto = 
alterar propriedades transform do objeto, 
Position X, Y, Z 
• Perceber intenção = Input 
• Gerar o movimento baseado no Input
Unity : Script 
• Captar Input Básico: 
– Input.GetAxis("Horizontal“) 
– Input.GetAxis(“Vertical”) 
• Recebe (auto) teclas WASD, Setas 
(cursores) e Joysticks (Joypad) 
• Valores de Retorno: -1.. 0 ..1 
• 0 = sem move 
• Joystick = valores intermediários 
/ max 
• Teclas = valor Maximo direto (1, 
0 ou -1)
Unity : Script 
• Codificando: 
function Update () { 
//CAPTURA INPUT BASICO 
var forca_horizontal = 
Input.GetAxis("Horizontal"); 
var forca_vertical = 
Input.GetAxis("Vertical"); 
//MOVE COM TRANSLATE = movimento traduzido 
transform.Translate(forca_horizontal, 0, 
forca_vertical); 
}
Unity : Script 
• transform.Translate 
• Movimento traduzido = pela orientação do 
objeto (ângulo para onde aponta) 
• 3 parametros: X, Y, Z 
• Forma direta = altera o objeto a qual o script 
está atachado 
• Atachar Script = drag-drop sobre objeto
Unity : Script 
• Movimento provavelmente rápido 
• Necessidade de definir velocidades 
adequadas 
• Necessidade de perceber o Frame Rate 
– Rodando a 60 FPS ( 60 updates por segundo) 
– Rodando a 200 FPS ( 200 por segundo) 
= Resultados muito diferentes pelo FPS 
• EX: adicionar um grau a rotação, sem 
controle de FPS rotaria de acordo com o 
número de updates
Unity : Script 
• Correção de valores pelo FPS 
“ Time.deltaTime “ 
• Geral: 
– multiplicamos valores pelo deltaTime = garantia de 
adaptação a diferentes FRAME RATES 
• Onde usar: 
– Movimentos, rotações, timer e cálculos em geral... 
• Onde NÃO Usar: 
– Cálculos fixos, estatísticas: 
• número de tiros, pontos...
Unity : Script 
• Adaptando nosso Script Básico de 
movimento 
• Capturamos / Percebemos o Input 
• Multiplicamos o Input 
– pela velocidade (max. que queremos) 
– pelo tempo (Time.deltaTime) 
• Necessidade para adaptação a FRAME RATE
Unity : Script 
function Update () { 
//CAPTURA INPUT BASICO 
var forca_horizontal = Input.GetAxis("Horizontal"); 
var forca_vertical = Input.GetAxis("Vertical"); 
//CRIAMOS VAR = VELOCIADE DO MOVIMENTO 
var velocidade = 10; 
//MULTIPLICAMOS INPUT POR VELOCIDAE E TEMPO 
forca_horizontal *= velocidade * Time.deltaTime; 
forca_vertical *= velocidade * Time.deltaTime; 
//PASSA COMO TRANSLATE = movimento traduzido 
transform.Translate(forca_horizontal, 0, forca_vertical); 
}
Unity : Script 
• Variáveis Exposed / Não 
• Exposed: 
– Colocadas fora de funções (início do Script) 
– Podem ser acessadas / alteradas pelo Inspector 
//fora de funções = var exposed 
var velocidade = 10; 
function Update () { 
....
Unity : Script 
• Inputs adicionais: 
Input.GetButtonDown("Jump") 
Input.GetButtonDown(“Fire1") 
• Retorno: 1 = pressionado 
• Ex: fire1, leva objeto para ponto da cena 
if (Input.GetButtonDown("Fire1")) { 
transform.position.x = 0; transform.position.y 
= 0; transform.position.z = 0; 
}
Unity : Script 
• Vector3(X, Y, Z) 
– Vetor de 3 posições 
– Muito utilizado, passagem de três parâmetros diretamente 
if (Input.GetButtonDown("Fire1")) { 
//transform.position.x = 0; 
//transform.position.y = 0; 
//transform.position.z = 0; 
//MESMO RESULTADO = única linha 
transform.position = Vector3(0,0,0); 
}
Unity : Script 
• Input = Teclas especificas 
Input.GetKey(“x”); 
• Ex. Teclas O e P modificam rotação Y 
básica do objeto 
if (Input.GetKey("o")) { 
transform.rotation.y -= 1 * Time.deltaTime; 
} 
if (Input.GetKey("p")) { 
transform.rotation.y += 1 * Time.deltaTime; 
}
Unity : Script 
• Controle de velocidades, fatores 
= Utilizar Variáveis 
• Expor Variáveis = facilidade 
• Testar 
– Modificar a rotação, usando velocidade por 
variável 
– Expor a variável (permite alterar pelo inspector)

Mais conteúdo relacionado

Mais procurados

Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr Jam
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr JamDesenvolvimento de Jogos com Cocos2d - Apresentação Coderockr Jam
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr JamAndré Espeiorin
 
Desenvolvimento de Jogos com Corona SDK
Desenvolvimento de Jogos com Corona SDKDesenvolvimento de Jogos com Corona SDK
Desenvolvimento de Jogos com Corona SDKBruno Cicanci
 
Game Design Document F.A.O.T
Game Design Document  F.A.O.TGame Design Document  F.A.O.T
Game Design Document F.A.O.Tmaikonsm
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 6
Implementação de Aplicações Móveis e Jogos com Python - Aula 6Implementação de Aplicações Móveis e Jogos com Python - Aula 6
Implementação de Aplicações Móveis e Jogos com Python - Aula 6Flávio Ribeiro
 
Introdução ao cocos sharp
Introdução ao cocos sharpIntrodução ao cocos sharp
Introdução ao cocos sharpJosé Farias
 
Construção de jogos com o motor unity3 d
Construção de jogos com o motor unity3 dConstrução de jogos com o motor unity3 d
Construção de jogos com o motor unity3 dEduardo Bonfandini
 

Mais procurados (6)

Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr Jam
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr JamDesenvolvimento de Jogos com Cocos2d - Apresentação Coderockr Jam
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr Jam
 
Desenvolvimento de Jogos com Corona SDK
Desenvolvimento de Jogos com Corona SDKDesenvolvimento de Jogos com Corona SDK
Desenvolvimento de Jogos com Corona SDK
 
Game Design Document F.A.O.T
Game Design Document  F.A.O.TGame Design Document  F.A.O.T
Game Design Document F.A.O.T
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 6
Implementação de Aplicações Móveis e Jogos com Python - Aula 6Implementação de Aplicações Móveis e Jogos com Python - Aula 6
Implementação de Aplicações Móveis e Jogos com Python - Aula 6
 
Introdução ao cocos sharp
Introdução ao cocos sharpIntrodução ao cocos sharp
Introdução ao cocos sharp
 
Construção de jogos com o motor unity3 d
Construção de jogos com o motor unity3 dConstrução de jogos com o motor unity3 d
Construção de jogos com o motor unity3 d
 

Destaque

Técnicas de Inteligência Artificial em Jogos Eletrônicos
Técnicas de Inteligência Artificial em Jogos EletrônicosTécnicas de Inteligência Artificial em Jogos Eletrônicos
Técnicas de Inteligência Artificial em Jogos EletrônicosRoger Ritter
 
Técnicas de inteligência artificial em jogos eletrônicoss
Técnicas de inteligência artificial em jogos eletrônicossTécnicas de inteligência artificial em jogos eletrônicoss
Técnicas de inteligência artificial em jogos eletrônicossRoger Ritter
 
Curso Inteligência Artificial - Parte 1 -
Curso Inteligência Artificial - Parte 1 -Curso Inteligência Artificial - Parte 1 -
Curso Inteligência Artificial - Parte 1 -ronaldo ramos
 

Destaque (6)

Aula menus
Aula menusAula menus
Aula menus
 
Inteligência Artificial em Jogos
Inteligência Artificial em JogosInteligência Artificial em Jogos
Inteligência Artificial em Jogos
 
Técnicas de Inteligência Artificial em Jogos Eletrônicos
Técnicas de Inteligência Artificial em Jogos EletrônicosTécnicas de Inteligência Artificial em Jogos Eletrônicos
Técnicas de Inteligência Artificial em Jogos Eletrônicos
 
Técnicas de ia
Técnicas de iaTécnicas de ia
Técnicas de ia
 
Técnicas de inteligência artificial em jogos eletrônicoss
Técnicas de inteligência artificial em jogos eletrônicossTécnicas de inteligência artificial em jogos eletrônicoss
Técnicas de inteligência artificial em jogos eletrônicoss
 
Curso Inteligência Artificial - Parte 1 -
Curso Inteligência Artificial - Parte 1 -Curso Inteligência Artificial - Parte 1 -
Curso Inteligência Artificial - Parte 1 -
 

Semelhante a Aula3 input

INdT Mobile Labs - Sparta
INdT Mobile Labs - SpartaINdT Mobile Labs - Sparta
INdT Mobile Labs - SpartaHeitor Carlos
 
Testes Automatizados e o iOS
Testes Automatizados e o iOSTestes Automatizados e o iOS
Testes Automatizados e o iOSRicardo Valeriano
 
Thiago Valle e Heitor Repolho - Utilizando sparta para para desenvolvimento d...
Thiago Valle e Heitor Repolho - Utilizando sparta para para desenvolvimento d...Thiago Valle e Heitor Repolho - Utilizando sparta para para desenvolvimento d...
Thiago Valle e Heitor Repolho - Utilizando sparta para para desenvolvimento d...INdT
 
Desenvolvendo aplicações Adobe AIR para Android
Desenvolvendo aplicações Adobe AIR para AndroidDesenvolvendo aplicações Adobe AIR para Android
Desenvolvendo aplicações Adobe AIR para AndroidEric Cavalcanti
 
Programação functional reativa: lidando com código assíncrono
Programação functional reativa: lidando com código assíncronoProgramação functional reativa: lidando com código assíncrono
Programação functional reativa: lidando com código assíncronoLeonardo Borges
 
Erick Zanardo - Desenvolvimento de Jogos em Flutter
Erick Zanardo - Desenvolvimento de Jogos em FlutterErick Zanardo - Desenvolvimento de Jogos em Flutter
Erick Zanardo - Desenvolvimento de Jogos em FlutterDevCamp Campinas
 

Semelhante a Aula3 input (20)

Aula anima-modelos
Aula anima-modelosAula anima-modelos
Aula anima-modelos
 
INdT Mobile Labs - Sparta
INdT Mobile Labs - SpartaINdT Mobile Labs - Sparta
INdT Mobile Labs - Sparta
 
Aula7 velocidade
Aula7 velocidadeAula7 velocidade
Aula7 velocidade
 
Testes Automatizados e o iOS
Testes Automatizados e o iOSTestes Automatizados e o iOS
Testes Automatizados e o iOS
 
Thiago Valle e Heitor Repolho - Utilizando sparta para para desenvolvimento d...
Thiago Valle e Heitor Repolho - Utilizando sparta para para desenvolvimento d...Thiago Valle e Heitor Repolho - Utilizando sparta para para desenvolvimento d...
Thiago Valle e Heitor Repolho - Utilizando sparta para para desenvolvimento d...
 
UTools Unite Brasil
UTools Unite BrasilUTools Unite Brasil
UTools Unite Brasil
 
Aula6 colisao2
Aula6 colisao2Aula6 colisao2
Aula6 colisao2
 
Apresentação Phonegap
Apresentação PhonegapApresentação Phonegap
Apresentação Phonegap
 
Aula4 debug
Aula4   debugAula4   debug
Aula4 debug
 
Desenvolvendo aplicações Adobe AIR para Android
Desenvolvendo aplicações Adobe AIR para AndroidDesenvolvendo aplicações Adobe AIR para Android
Desenvolvendo aplicações Adobe AIR para Android
 
Programação functional reativa: lidando com código assíncrono
Programação functional reativa: lidando com código assíncronoProgramação functional reativa: lidando com código assíncrono
Programação functional reativa: lidando com código assíncrono
 
Java script aula 05 - funções
Java script   aula 05 - funçõesJava script   aula 05 - funções
Java script aula 05 - funções
 
Ponteiros de Função
Ponteiros de FunçãoPonteiros de Função
Ponteiros de Função
 
Interface grafica
Interface graficaInterface grafica
Interface grafica
 
Interação (OpenGL)
Interação (OpenGL)Interação (OpenGL)
Interação (OpenGL)
 
Minicurso pygame
Minicurso pygameMinicurso pygame
Minicurso pygame
 
Erick Zanardo - Desenvolvimento de Jogos em Flutter
Erick Zanardo - Desenvolvimento de Jogos em FlutterErick Zanardo - Desenvolvimento de Jogos em Flutter
Erick Zanardo - Desenvolvimento de Jogos em Flutter
 
Aula8 instancias
Aula8 instanciasAula8 instancias
Aula8 instancias
 
Java script - funções
Java script - funçõesJava script - funções
Java script - funções
 
Aula ia2
Aula ia2Aula ia2
Aula ia2
 

Mais de Marcos Batista (14)

Aula terrain
Aula terrainAula terrain
Aula terrain
 
Aula som
Aula somAula som
Aula som
 
Aula sky
Aula skyAula sky
Aula sky
 
Aula particulas
Aula particulasAula particulas
Aula particulas
 
Aula modelos
Aula modelosAula modelos
Aula modelos
 
Aula ia
Aula iaAula ia
Aula ia
 
Aula gui
Aula guiAula gui
Aula gui
 
Aula disparos
Aula disparosAula disparos
Aula disparos
 
Aula disparos
Aula disparosAula disparos
Aula disparos
 
Aula cameras
Aula camerasAula cameras
Aula cameras
 
Aula anima1
Aula anima1Aula anima1
Aula anima1
 
Aula9 material
Aula9 materialAula9 material
Aula9 material
 
Aula5 colisao1
Aula5 colisao1Aula5 colisao1
Aula5 colisao1
 
Aula2 intro2
Aula2   intro2Aula2   intro2
Aula2 intro2
 

Último

Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptRogrioGonalves41
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Centro Jacques Delors
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxMarcosLemes28
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxLuizHenriquedeAlmeid6
 
Renascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDFRenascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDFRafaelaMartins72608
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxJustinoTeixeira1
 
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptxCópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptxSilvana Silva
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxFlviaGomes64
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...MariaCristinaSouzaLe1
 
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedAula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedJaquelineBertagliaCe
 
classe gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxclasse gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxLuciana Luciana
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...marcelafinkler
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º anoRachel Facundo
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdfjacquescardosodias
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...PatriciaCaetano18
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticash5kpmr7w7
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfamarianegodoi
 

Último (20)

Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.ppt
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
Renascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDFRenascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDF
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptxCópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedAula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
 
classe gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxclasse gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptx
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdf
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 

Aula3 input

  • 1. Projetos RAD : Unity 3D Scripts Parte I Augusto Bülow
  • 2. Unity • Regra PLAY: – Edição durante Play mode é temporária (perdida quando desligamos play) – Intenção: • Testar novos parâmetros durante gameplay – Ganho tempo, resultados experimentados diretamente • EX: mudar velocidades player
  • 3. Unity : Script • Scripts : – Controle do jogo (interatividade) – Ações game baseadas em tempo / local – Ações game baseadas em intenção : Input • Input: – Avaliar teclas e controles (mouse e joy) – Executar ações necessárias
  • 4. Unity : Script • Criar um Script: – Assets -> Create -> JavaScript – Renomear Script (organização): Move1 • Duplo click para edição (UniSciTE : Editor scripts)
  • 5. Unity : Script • Scripts iniciam com função Update function Update() { } • Update() – vai rodar função (o que estiver dentro) a cada ciclo de jogo - a cada tela renderizada • Várias funções nomes próprios, auto executadas com respectivos eventos, EX: – Awake(): quando executado a primeira vez – OnCollisionEnter(): quando colide – Etc...
  • 6. Unity : Script • Movimento básico de objeto = alterar propriedades transform do objeto, Position X, Y, Z • Perceber intenção = Input • Gerar o movimento baseado no Input
  • 7. Unity : Script • Captar Input Básico: – Input.GetAxis("Horizontal“) – Input.GetAxis(“Vertical”) • Recebe (auto) teclas WASD, Setas (cursores) e Joysticks (Joypad) • Valores de Retorno: -1.. 0 ..1 • 0 = sem move • Joystick = valores intermediários / max • Teclas = valor Maximo direto (1, 0 ou -1)
  • 8. Unity : Script • Codificando: function Update () { //CAPTURA INPUT BASICO var forca_horizontal = Input.GetAxis("Horizontal"); var forca_vertical = Input.GetAxis("Vertical"); //MOVE COM TRANSLATE = movimento traduzido transform.Translate(forca_horizontal, 0, forca_vertical); }
  • 9. Unity : Script • transform.Translate • Movimento traduzido = pela orientação do objeto (ângulo para onde aponta) • 3 parametros: X, Y, Z • Forma direta = altera o objeto a qual o script está atachado • Atachar Script = drag-drop sobre objeto
  • 10. Unity : Script • Movimento provavelmente rápido • Necessidade de definir velocidades adequadas • Necessidade de perceber o Frame Rate – Rodando a 60 FPS ( 60 updates por segundo) – Rodando a 200 FPS ( 200 por segundo) = Resultados muito diferentes pelo FPS • EX: adicionar um grau a rotação, sem controle de FPS rotaria de acordo com o número de updates
  • 11. Unity : Script • Correção de valores pelo FPS “ Time.deltaTime “ • Geral: – multiplicamos valores pelo deltaTime = garantia de adaptação a diferentes FRAME RATES • Onde usar: – Movimentos, rotações, timer e cálculos em geral... • Onde NÃO Usar: – Cálculos fixos, estatísticas: • número de tiros, pontos...
  • 12. Unity : Script • Adaptando nosso Script Básico de movimento • Capturamos / Percebemos o Input • Multiplicamos o Input – pela velocidade (max. que queremos) – pelo tempo (Time.deltaTime) • Necessidade para adaptação a FRAME RATE
  • 13. Unity : Script function Update () { //CAPTURA INPUT BASICO var forca_horizontal = Input.GetAxis("Horizontal"); var forca_vertical = Input.GetAxis("Vertical"); //CRIAMOS VAR = VELOCIADE DO MOVIMENTO var velocidade = 10; //MULTIPLICAMOS INPUT POR VELOCIDAE E TEMPO forca_horizontal *= velocidade * Time.deltaTime; forca_vertical *= velocidade * Time.deltaTime; //PASSA COMO TRANSLATE = movimento traduzido transform.Translate(forca_horizontal, 0, forca_vertical); }
  • 14. Unity : Script • Variáveis Exposed / Não • Exposed: – Colocadas fora de funções (início do Script) – Podem ser acessadas / alteradas pelo Inspector //fora de funções = var exposed var velocidade = 10; function Update () { ....
  • 15. Unity : Script • Inputs adicionais: Input.GetButtonDown("Jump") Input.GetButtonDown(“Fire1") • Retorno: 1 = pressionado • Ex: fire1, leva objeto para ponto da cena if (Input.GetButtonDown("Fire1")) { transform.position.x = 0; transform.position.y = 0; transform.position.z = 0; }
  • 16. Unity : Script • Vector3(X, Y, Z) – Vetor de 3 posições – Muito utilizado, passagem de três parâmetros diretamente if (Input.GetButtonDown("Fire1")) { //transform.position.x = 0; //transform.position.y = 0; //transform.position.z = 0; //MESMO RESULTADO = única linha transform.position = Vector3(0,0,0); }
  • 17. Unity : Script • Input = Teclas especificas Input.GetKey(“x”); • Ex. Teclas O e P modificam rotação Y básica do objeto if (Input.GetKey("o")) { transform.rotation.y -= 1 * Time.deltaTime; } if (Input.GetKey("p")) { transform.rotation.y += 1 * Time.deltaTime; }
  • 18. Unity : Script • Controle de velocidades, fatores = Utilizar Variáveis • Expor Variáveis = facilidade • Testar – Modificar a rotação, usando velocidade por variável – Expor a variável (permite alterar pelo inspector)