SlideShare uma empresa Scribd logo
1 de 10
Projetos RAD : Unity 3D 
Velocidade, aceleração e fricção 
Augusto Bülow
Unity 
• Código básico de movimento (atual) 
– Pressiona tecla = move 
• Movimentos avançados 
– Velocidade com maior controle 
– Aceleração 
– Fricção 
– Mantém velocidade ( + transformações) 
= Criar variáveis para controle destes aspectos
Unity 
• Variáveis básicas: 
var aceleracao = 0.5; 
var friccao = 0.2; 
var velocidade_maxima = 3.0; 
var velocidade_atual = 0.0; 
• Utilizar Float (declarar valor com vírgula) 
– Habilitar transformações leves / decimais 
• Estamos criando física (manualmente) 
– RigidBody = esquema automático 
– Pode ser incorporado física manual (junto)
Unity 
function Update () { 
//Input - acelera velocidade atual 
if (Input.GetKey("w") || Input.GetKey(KeyCode.UpArrow)) 
{ velocidade_atual += aceleracao * Time.deltaTime; 
} 
//limita velocidade maxima 
if (velocidade_atual > velocidade_maxima) { 
velocidade_atual = velocidade_maxima; 
} 
//Mover sempre com a velocidade 
var controller = GetComponent(CharacterController); 
controller.Move(Vector3(0, 0, velocidade_atual)); 
}
Unity 
• Necessidade de Fricção (manual) 
– Fricção = atrito, diminui a velocidade do corpo 
• Fricção = leva a inércia 
– Restrição a velocidade 0 ( repouso) 
– Evitar entrar em velocidade inversa 
//friccao manual - leva a repouso 
if (velocidade_atual > 0) { 
velocidade_atual -= friccao * Time.deltaTime; 
//maximo - levar a repouso - evita move contrario if 
(velocidade_atual < 0) { 
velocidade_atual = 0; 
} 
}
Unity 
• Mudança básica de fricção, aceleração 
transformamos o movimento do player em um 
caminhão de toneladas, ou em um carro de 
fórmula 1 
• Atenção: aceleração sempre maior que fricção: 
– Senão não há movimento 
• Testar valores exemplo: 
– Aceleração 1.5 e Fricção 0.1
Unity 
• Inserindo controle básico de rotação pelo 
mouse 
• transform.Rotate(Vector3); 
var rotacao = 0.0; 
var forca_rotacao = 2; 
... 
//Inserindo rotacao basica com mouse 
rotacao = Input.GetAxis("Mouse X") * forca_rotacao; 
transform.Rotate(Vector3(0, rotacao, 0));
Unity 
• Necessidade de transformar a forca de 
movimento (velocidade) em relação a 
orientação atual 
• transform.TransformDirection() 
• Necessário Vector3 
– para transformação 
– para resultado
Unity 
var velocidade_vetor : Vector3; 
.... 
//uso de vetor - transforma em vetor 
velocidade_vetor = 
transform.TransformDirection(Vector3(0, 0, velocidade_atual)); 
//Move sempre com a velocidade 
var controller = GetComponent(CharacterController); 
//controller.Move(Vector3(0, 0, velocidade_atual)); 
controller.Move(velocidade_vetor);
Unity 
• Controlando velocidade pode-se, por exemplo, 
transformá-la no momento de uma colisão 
• Exemplos: 
– Colidiu = perde parte da velocidade 
– Colidiu = inverte a velocidade 
• Fazer testes básicos colisão / velocidade 
• Trabalhando a Física manualmente 
– física realística = RigidBody

Mais conteúdo relacionado

Mais de Marcos Batista (16)

Aula sky
Aula skyAula sky
Aula sky
 
Aula particulas
Aula particulasAula particulas
Aula particulas
 
Aula modelos
Aula modelosAula modelos
Aula modelos
 
Aula menus
Aula menusAula menus
Aula menus
 
Aula maps
Aula mapsAula maps
Aula maps
 
Aula ia2
Aula ia2Aula ia2
Aula ia2
 
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 anima-modelos
Aula anima-modelosAula anima-modelos
Aula anima-modelos
 
Aula4 debug
Aula4   debugAula4   debug
Aula4 debug
 
Aula3 input
Aula3   inputAula3   input
Aula3 input
 
Aula2 intro2
Aula2   intro2Aula2   intro2
Aula2 intro2
 
Aula1 intro
Aula1  introAula1  intro
Aula1 intro
 

Último

Edital do processo seletivo para contratação de agentes de saúde em Floresta, PE
Edital do processo seletivo para contratação de agentes de saúde em Floresta, PEEdital do processo seletivo para contratação de agentes de saúde em Floresta, PE
Edital do processo seletivo para contratação de agentes de saúde em Floresta, PEblogdoelvis
 
Slides Lição 7, Betel, Ordenança para uma vida de fidelidade e lealdade, 2Tr2...
Slides Lição 7, Betel, Ordenança para uma vida de fidelidade e lealdade, 2Tr2...Slides Lição 7, Betel, Ordenança para uma vida de fidelidade e lealdade, 2Tr2...
Slides Lição 7, Betel, Ordenança para uma vida de fidelidade e lealdade, 2Tr2...LuizHenriquedeAlmeid6
 
O Reizinho Autista.pdf - livro maravilhoso
O Reizinho Autista.pdf - livro maravilhosoO Reizinho Autista.pdf - livro maravilhoso
O Reizinho Autista.pdf - livro maravilhosoVALMIRARIBEIRO1
 
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...Manuais Formação
 
Nós Propomos! Sertã 2024 - Geografia C - 12º ano
Nós Propomos! Sertã 2024 - Geografia C - 12º anoNós Propomos! Sertã 2024 - Geografia C - 12º ano
Nós Propomos! Sertã 2024 - Geografia C - 12º anoIlda Bicacro
 
MARCHA HUMANA. UM ESTUDO SOBRE AS MARCHAS
MARCHA HUMANA. UM ESTUDO SOBRE AS MARCHASMARCHA HUMANA. UM ESTUDO SOBRE AS MARCHAS
MARCHA HUMANA. UM ESTUDO SOBRE AS MARCHASyan1305goncalves
 
Slide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptx
Slide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptxSlide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptx
Slide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptxsfwsoficial
 
ROTINA DE ESTUDO-APOSTILA ESTUDO ORIENTADO.pdf
ROTINA DE ESTUDO-APOSTILA ESTUDO ORIENTADO.pdfROTINA DE ESTUDO-APOSTILA ESTUDO ORIENTADO.pdf
ROTINA DE ESTUDO-APOSTILA ESTUDO ORIENTADO.pdfMarcianaClaudioClaud
 
"Nós Propomos! Escola Secundária em Pedrógão Grande"
"Nós Propomos! Escola Secundária em Pedrógão Grande""Nós Propomos! Escola Secundária em Pedrógão Grande"
"Nós Propomos! Escola Secundária em Pedrógão Grande"Ilda Bicacro
 
O que é, de facto, a Educação de Infância
O que é, de facto, a Educação de InfânciaO que é, de facto, a Educação de Infância
O que é, de facto, a Educação de InfânciaHenrique Santos
 
BENEFÍCIOS DA NEUROPSICOPEDAGOGIA educacional
BENEFÍCIOS DA NEUROPSICOPEDAGOGIA educacionalBENEFÍCIOS DA NEUROPSICOPEDAGOGIA educacional
BENEFÍCIOS DA NEUROPSICOPEDAGOGIA educacionalDouglasVasconcelosMa
 
Apresentação sobre Robots e processos educativos
Apresentação sobre Robots e processos educativosApresentação sobre Robots e processos educativos
Apresentação sobre Robots e processos educativosFernanda Ledesma
 
Formação T.2 do Modulo I da Formação HTML & CSS
Formação T.2 do Modulo I da Formação HTML & CSSFormação T.2 do Modulo I da Formação HTML & CSS
Formação T.2 do Modulo I da Formação HTML & CSSPedroMatos469278
 
4 ano atividade fonema e letra 08.03-1.pdf
4 ano atividade fonema e letra 08.03-1.pdf4 ano atividade fonema e letra 08.03-1.pdf
4 ano atividade fonema e letra 08.03-1.pdfLindinhaSilva1
 
Descrever e planear atividades imersivas estruturadamente
Descrever e planear atividades imersivas estruturadamenteDescrever e planear atividades imersivas estruturadamente
Descrever e planear atividades imersivas estruturadamenteLeonel Morgado
 
livro para educação infantil conceitos sensorial
livro para educação infantil conceitos sensoriallivro para educação infantil conceitos sensorial
livro para educação infantil conceitos sensorialNeuroppIsnayaLciaMar
 
bem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animalbem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animalcarlamgalves5
 

Último (20)

Edital do processo seletivo para contratação de agentes de saúde em Floresta, PE
Edital do processo seletivo para contratação de agentes de saúde em Floresta, PEEdital do processo seletivo para contratação de agentes de saúde em Floresta, PE
Edital do processo seletivo para contratação de agentes de saúde em Floresta, PE
 
Slides Lição 7, Betel, Ordenança para uma vida de fidelidade e lealdade, 2Tr2...
Slides Lição 7, Betel, Ordenança para uma vida de fidelidade e lealdade, 2Tr2...Slides Lição 7, Betel, Ordenança para uma vida de fidelidade e lealdade, 2Tr2...
Slides Lição 7, Betel, Ordenança para uma vida de fidelidade e lealdade, 2Tr2...
 
Poema - Maio Laranja
Poema - Maio Laranja Poema - Maio Laranja
Poema - Maio Laranja
 
662938.pdf aula digital de educação básica
662938.pdf aula digital de educação básica662938.pdf aula digital de educação básica
662938.pdf aula digital de educação básica
 
O Reizinho Autista.pdf - livro maravilhoso
O Reizinho Autista.pdf - livro maravilhosoO Reizinho Autista.pdf - livro maravilhoso
O Reizinho Autista.pdf - livro maravilhoso
 
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
 
Nós Propomos! Sertã 2024 - Geografia C - 12º ano
Nós Propomos! Sertã 2024 - Geografia C - 12º anoNós Propomos! Sertã 2024 - Geografia C - 12º ano
Nós Propomos! Sertã 2024 - Geografia C - 12º ano
 
MARCHA HUMANA. UM ESTUDO SOBRE AS MARCHAS
MARCHA HUMANA. UM ESTUDO SOBRE AS MARCHASMARCHA HUMANA. UM ESTUDO SOBRE AS MARCHAS
MARCHA HUMANA. UM ESTUDO SOBRE AS MARCHAS
 
Slide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptx
Slide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptxSlide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptx
Slide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptx
 
ROTINA DE ESTUDO-APOSTILA ESTUDO ORIENTADO.pdf
ROTINA DE ESTUDO-APOSTILA ESTUDO ORIENTADO.pdfROTINA DE ESTUDO-APOSTILA ESTUDO ORIENTADO.pdf
ROTINA DE ESTUDO-APOSTILA ESTUDO ORIENTADO.pdf
 
"Nós Propomos! Escola Secundária em Pedrógão Grande"
"Nós Propomos! Escola Secundária em Pedrógão Grande""Nós Propomos! Escola Secundária em Pedrógão Grande"
"Nós Propomos! Escola Secundária em Pedrógão Grande"
 
O que é, de facto, a Educação de Infância
O que é, de facto, a Educação de InfânciaO que é, de facto, a Educação de Infância
O que é, de facto, a Educação de Infância
 
BENEFÍCIOS DA NEUROPSICOPEDAGOGIA educacional
BENEFÍCIOS DA NEUROPSICOPEDAGOGIA educacionalBENEFÍCIOS DA NEUROPSICOPEDAGOGIA educacional
BENEFÍCIOS DA NEUROPSICOPEDAGOGIA educacional
 
Apresentação sobre Robots e processos educativos
Apresentação sobre Robots e processos educativosApresentação sobre Robots e processos educativos
Apresentação sobre Robots e processos educativos
 
Formação T.2 do Modulo I da Formação HTML & CSS
Formação T.2 do Modulo I da Formação HTML & CSSFormação T.2 do Modulo I da Formação HTML & CSS
Formação T.2 do Modulo I da Formação HTML & CSS
 
4 ano atividade fonema e letra 08.03-1.pdf
4 ano atividade fonema e letra 08.03-1.pdf4 ano atividade fonema e letra 08.03-1.pdf
4 ano atividade fonema e letra 08.03-1.pdf
 
Descrever e planear atividades imersivas estruturadamente
Descrever e planear atividades imersivas estruturadamenteDescrever e planear atividades imersivas estruturadamente
Descrever e planear atividades imersivas estruturadamente
 
livro para educação infantil conceitos sensorial
livro para educação infantil conceitos sensoriallivro para educação infantil conceitos sensorial
livro para educação infantil conceitos sensorial
 
Enunciado_da_Avaliacao_1__Direito_e_Legislacao_Social_(IL60174).pdf
Enunciado_da_Avaliacao_1__Direito_e_Legislacao_Social_(IL60174).pdfEnunciado_da_Avaliacao_1__Direito_e_Legislacao_Social_(IL60174).pdf
Enunciado_da_Avaliacao_1__Direito_e_Legislacao_Social_(IL60174).pdf
 
bem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animalbem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animal
 

Aula7 velocidade

  • 1. Projetos RAD : Unity 3D Velocidade, aceleração e fricção Augusto Bülow
  • 2. Unity • Código básico de movimento (atual) – Pressiona tecla = move • Movimentos avançados – Velocidade com maior controle – Aceleração – Fricção – Mantém velocidade ( + transformações) = Criar variáveis para controle destes aspectos
  • 3. Unity • Variáveis básicas: var aceleracao = 0.5; var friccao = 0.2; var velocidade_maxima = 3.0; var velocidade_atual = 0.0; • Utilizar Float (declarar valor com vírgula) – Habilitar transformações leves / decimais • Estamos criando física (manualmente) – RigidBody = esquema automático – Pode ser incorporado física manual (junto)
  • 4. Unity function Update () { //Input - acelera velocidade atual if (Input.GetKey("w") || Input.GetKey(KeyCode.UpArrow)) { velocidade_atual += aceleracao * Time.deltaTime; } //limita velocidade maxima if (velocidade_atual > velocidade_maxima) { velocidade_atual = velocidade_maxima; } //Mover sempre com a velocidade var controller = GetComponent(CharacterController); controller.Move(Vector3(0, 0, velocidade_atual)); }
  • 5. Unity • Necessidade de Fricção (manual) – Fricção = atrito, diminui a velocidade do corpo • Fricção = leva a inércia – Restrição a velocidade 0 ( repouso) – Evitar entrar em velocidade inversa //friccao manual - leva a repouso if (velocidade_atual > 0) { velocidade_atual -= friccao * Time.deltaTime; //maximo - levar a repouso - evita move contrario if (velocidade_atual < 0) { velocidade_atual = 0; } }
  • 6. Unity • Mudança básica de fricção, aceleração transformamos o movimento do player em um caminhão de toneladas, ou em um carro de fórmula 1 • Atenção: aceleração sempre maior que fricção: – Senão não há movimento • Testar valores exemplo: – Aceleração 1.5 e Fricção 0.1
  • 7. Unity • Inserindo controle básico de rotação pelo mouse • transform.Rotate(Vector3); var rotacao = 0.0; var forca_rotacao = 2; ... //Inserindo rotacao basica com mouse rotacao = Input.GetAxis("Mouse X") * forca_rotacao; transform.Rotate(Vector3(0, rotacao, 0));
  • 8. Unity • Necessidade de transformar a forca de movimento (velocidade) em relação a orientação atual • transform.TransformDirection() • Necessário Vector3 – para transformação – para resultado
  • 9. Unity var velocidade_vetor : Vector3; .... //uso de vetor - transforma em vetor velocidade_vetor = transform.TransformDirection(Vector3(0, 0, velocidade_atual)); //Move sempre com a velocidade var controller = GetComponent(CharacterController); //controller.Move(Vector3(0, 0, velocidade_atual)); controller.Move(velocidade_vetor);
  • 10. Unity • Controlando velocidade pode-se, por exemplo, transformá-la no momento de uma colisão • Exemplos: – Colidiu = perde parte da velocidade – Colidiu = inverte a velocidade • Fazer testes básicos colisão / velocidade • Trabalhando a Física manualmente – física realística = RigidBody