[TUTORIAL] Avião Script
Página 1 de 1 • Compartilhe •
[TUTORIAL] Avião Script
Eae Galera.
Fiz essa script de um avião e decidi compartilhar com vocês.


Configuração:

Links:
https://docs.unity3d.com/ScriptReference/Vector3.Cross.html
https://docs.unity3d.com/ScriptReference/Vector3.html
https://docs.unity3d.com/ScriptReference/Rigidbody.html
https://docs.unity3d.com/ScriptReference/Rigidbody-drag.html
https://pt.wikipedia.org/wiki/Sustenta%C3%A7%C3%A3o_(aerodin%C3%A2mica)
https://pt.wikipedia.org/wiki/Arrasto
https://pt.wikipedia.org/wiki/Aerodin%C3%A2mica
Fiz essa script de um avião e decidi compartilhar com vocês.
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AirCraft : MonoBehaviour {
//Velocidade
public float Speed;//Velocidade
public float MaxSpeed;//Velocidade Máxima
public float Acceleration;//Aceleração
//Sustentação
public float Lift;//Sustentação
Vector3 LiftDirection;//Direção da força de sustentação
public float PowerLift;//Sustentação Aplicada
//Arrasto
float ArrastoExtra;//Arrasto Adicional
float ArrastoOriginal;//Arrasto Inicial
public float Arrasto;//Arrasto Aplicado
public float AumentoArrasto = 0.001f;//Aumento de Arrasto
Rigidbody rb;
//Velocidade de Rotação
public float SpeedRotate;
//Teclas
bool Space;
bool Shift;
//Freio
public bool Break;
public float BreakEffect;//Efeito do Freio
// Use this for initialization
void Start () {
rb = gameObject.GetComponent<Rigidbody> ();//Pegar Rigidbody
ArrastoOriginal = rb.drag;//Pegar Arrasto Inicial
}
// Update is called once per frame
void Update () {
CalcularArrasto ();
LiftPower ();
if (Input.GetKeyDown (KeyCode.Space)) {
Space = true;
}
if (Input.GetKeyUp (KeyCode.Space)) {
Space = false;
}
if (Space == true) {
if (Speed < MaxSpeed) {
Speed += Acceleration;//Aumentar Velocidade
}
} else {
if (Speed > 1) {
Speed -= Acceleration;//Diminuir Velocidade
}
}
if (Input.GetKeyDown(KeyCode.W)) {
transform.Rotate (-SpeedRotate, 0, 0);//Girar para Cima
}
if (Input.GetKeyDown(KeyCode.S)) {
transform.Rotate (SpeedRotate, 0, 0);//Girar para Baixo
}
if (Input.GetKeyDown(KeyCode.A)) {
transform.Rotate (0, 0, SpeedRotate);//Girar para Esquerda
}
if (Input.GetKeyDown(KeyCode.D)) {
transform.Rotate (0, 0, -SpeedRotate);//Girar para Direita
}
if(Input.GetKeyDown(KeyCode.LeftShift)){
Shift = true;
}
if(Input.GetKeyUp(KeyCode.LeftShift)){
Shift = false;
}
if (Shift == true) {
Break = true;
} else {
Break = false;
}
rb.AddRelativeForce (Vector3.forward * Speed);//Adicionar Velocidade
}
private void CalcularArrasto(){ //Calcular Arrasto (Essa não é a equação original)
ArrastoExtra = rb.velocity.magnitude * AumentoArrasto; //Calcular o arrastoExtra
if(Break == true){ //Se "Break" for igual a true
Arrasto = (ArrastoOriginal + ArrastoExtra) * BreakEffect; //Calcular o arrasto com o efeito do freio("BreakEffect")
}else{ //Se "Break" for igual a false
Arrasto = ArrastoOriginal + ArrastoExtra; //Arrasto é igual a "ArrastoOriginal" + "ArrastoExtra"
}
rb.drag = Arrasto;//Adicionar Arrasto
}
private void LiftPower (){ //Calcular Sustentação
LiftDirection = Vector3.Cross (rb.velocity,transform.right).normalized;//Achar vetor de Sustentação
PowerLift = (Lift * (Speed * Speed)) / 2.4f;//Calcular Força de sustentação (Essa não é a equação original)
rb.AddForce (LiftDirection * PowerLift);//Adicionar Força de sustentação
}
}


Configuração:

Links:
https://docs.unity3d.com/ScriptReference/Vector3.Cross.html
https://docs.unity3d.com/ScriptReference/Vector3.html
https://docs.unity3d.com/ScriptReference/Rigidbody.html
https://docs.unity3d.com/ScriptReference/Rigidbody-drag.html
https://pt.wikipedia.org/wiki/Sustenta%C3%A7%C3%A3o_(aerodin%C3%A2mica)
https://pt.wikipedia.org/wiki/Arrasto
https://pt.wikipedia.org/wiki/Aerodin%C3%A2mica
Última edição por Matrirxp em Qua Fev 14, 2018 2:13 pm, editado 1 vez(es)
Matrirxp- ProgramadorMaster
-
PONTOS : 1193
REPUTAÇÃO : 66
Idade : 16
Áreas de atuação : Unity: Programação JavaScript e C#.
Programação: Python, C#, Java, HTML5,CSS.
Respeito as regras :
Re: [TUTORIAL] Avião Script
NOSSA MEN PARABÉNS! MUITO BOM!@Matrirxp escreveu:Eae Galera.
Fiz essa script de um avião e decidi compartilhar com vocês.
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AirCraft : MonoBehaviour {
//Velocidade
public float Speed;//Velocidade
public float MaxSpeed;//Velocidade Máxima
public float Acceleration;//Aceleração
//Sustentação
public float Lift;//Sustentação
Vector3 LiftDirection;//Direção da força de sustentação
public float PowerLift;//Sustentação Aplicada
//Arrasto
float ArrastoExtra;//Arrasto Adicional
float ArrastoOriginal;//Arrasto Inicial
public float Arrasto;//Arrasto Aplicado
public float AumentoArrasto = 0.001f;//Aumento de Arrasto
Rigidbody rb;
//Velocidade de Rotação
public float SpeedRotate;
//Teclas
bool Space;
bool Shift;
//Freio
public bool Break;
public float BreakEffect;//Efeito do Freio
// Use this for initialization
void Start () {
rb = gameObject.GetComponent<Rigidbody> ();//Pegar Rigidbody
ArrastoOriginal = rb.drag;//Pegar Arrasto Inicial
}
// Update is called once per frame
void Update () {
CalcularArrasto ();
LiftPower ();
if (Input.GetKeyDown (KeyCode.Space)) {
Space = true;
}
if (Input.GetKeyUp (KeyCode.Space)) {
Space = false;
}
if (Space == true) {
if (Speed < MaxSpeed) {
Speed += Acceleration;//Aumentar Velocidade
}
} else {
if (Speed > 1) {
Speed -= Acceleration;//Diminuir Velocidade
}
}
if (Input.GetKeyDown(KeyCode.W)) {
transform.Rotate (-SpeedRotate, 0, 0);//Girar para Cima
}
if (Input.GetKeyDown(KeyCode.S)) {
transform.Rotate (SpeedRotate, 0, 0);//Girar para Baixo
}
if (Input.GetKeyDown(KeyCode.A)) {
transform.Rotate (0, 0, SpeedRotate);//Girar para Esquerda
}
if (Input.GetKeyDown(KeyCode.D)) {
transform.Rotate (0, 0, -SpeedRotate);//Girar para Direita
}
if(Input.GetKeyDown(KeyCode.LeftShift)){
Shift = true;
}
if(Input.GetKeyUp(KeyCode.LeftShift)){
Shift = false;
}
if (Shift == true) {
Break = true;
} else {
Break = false;
}
rb.AddRelativeForce (Vector3.forward * Speed);//Adicionar Velocidade
}
private void CalcularArrasto(){ //Calcular Arrasto (Essa não é a equação original)
ArrastoExtra = rb.velocity.magnitude * AumentoArrasto; //Calcular o arrastoExtra
if(Break == true){ //Se "Break" for igual a true
Arrasto = (ArrastoOriginal + ArrastoExtra) * BreakEffect; //Calcular o arrasto com o efeito do freio("BreakEffect")
}else{ //Se "Break" for igual a false
Arrasto = ArrastoOriginal + ArrastoExtra; //Arrasto é igual a "ArrastoOriginal" + "ArrastoExtra"
}
rb.drag = Arrasto;//Adicionar Arrasto
}
private void LiftPower (){ //Calcular Sustentação
LiftDirection = Vector3.Cross (rb.velocity,transform.right).normalized;//Achar vetor de Sustentação
PowerLift = (Lift * (Speed * Speed)) / 2.4f;//Calcular Força de sustentação (Essa não é a equação original)
rb.AddForce (LiftDirection * PowerLift);//Adicionar Força de sustentação
}
}
Links:
https://docs.unity3d.com/ScriptReference/Vector3.Cross.html
https://docs.unity3d.com/ScriptReference/Vector3.html
https://docs.unity3d.com/ScriptReference/Rigidbody.html
https://docs.unity3d.com/ScriptReference/Rigidbody-drag.html
https://pt.wikipedia.org/wiki/Sustenta%C3%A7%C3%A3o_(aerodin%C3%A2mica)
https://pt.wikipedia.org/wiki/Arrasto
https://pt.wikipedia.org/wiki/Aerodin%C3%A2mica

Gabriel César O- Profissional
-
PONTOS : 1897
REPUTAÇÃO : 214
Idade : 17
Áreas de atuação : (ESTUDANDO SEGUNDO GRAU), (FUÇANDO NO UNITY)){
Respeito as regras :
Re: [TUTORIAL] Avião Script
Belo tutorial Matrirxp , conteúdo com fácil descrição para quem tiver dificuldade e com referencia para unity =D
zZAndersonZz- Avançado
-
PONTOS : 1097
REPUTAÇÃO : 134
Idade : 22
Respeito as regras :
Weslley- Moderador
-
PONTOS : 3369
REPUTAÇÃO : 654
Idade : 20
Áreas de atuação : https://weslleyfx.itch.io/
https://play.google.com/store/apps/dev?id=4937415175307699867
https://www
Respeito as regras :
Matrirxp- ProgramadorMaster
-
PONTOS : 1193
REPUTAÇÃO : 66
Idade : 16
Áreas de atuação : Unity: Programação JavaScript e C#.
Programação: Python, C#, Java, HTML5,CSS.
Respeito as regras :
DuViDoSo- Modelador
-
PONTOS : 1660
REPUTAÇÃO : 156
Idade : 19
Áreas de atuação : Programador em C#, Desenvolvedor Indie.
Respeito as regras :
Mic4el- Modelador
-
PONTOS : 1037
REPUTAÇÃO : 96
Idade : 19
Áreas de atuação : Modelagem,texturização e o básico de animações
Respeito as regras :
dstaroski- Instrutor
-
PONTOS : 4073
REPUTAÇÃO : 1051
Idade : 29
Áreas de atuação : Téc. Hardware e Redes, Programação C#, Asp .NET, HTML, CSS, Unity 3D
Respeito as regras :
Re: [TUTORIAL] Avião Script
Qual configuração mais adequada para as variáveis. ...
tom ramber- Avançado
-
PONTOS : 1040
REPUTAÇÃO : 12
Idade : 31
Áreas de atuação : Blender, Unity
Respeito as regras :
Re: [TUTORIAL] Avião Script
@tom ramber escreveu:Qual configuração mais adequada para as variáveis. ...

Matrirxp- ProgramadorMaster
-
PONTOS : 1193
REPUTAÇÃO : 66
Idade : 16
Áreas de atuação : Unity: Programação JavaScript e C#.
Programação: Python, C#, Java, HTML5,CSS.
Respeito as regras :
Re: [TUTORIAL] Avião Script
use valores pequenos no lift
Matrirxp- ProgramadorMaster
-
PONTOS : 1193
REPUTAÇÃO : 66
Idade : 16
Áreas de atuação : Unity: Programação JavaScript e C#.
Programação: Python, C#, Java, HTML5,CSS.
Respeito as regras :
Re: [TUTORIAL] Avião Script
Nossa, reviveu um tópico, valeu, eu só chegue aqui acho que no final de 2017 ou inicio de 2018, não me lembro. Obg. :D
NKKF- ProgramadorMaster
-
PONTOS : 2231
REPUTAÇÃO : 435
Idade : 14
Áreas de atuação : Error 404 Not Found.
Respeito as regras :
Re: [TUTORIAL] Avião Script
Muito bom, parabéns!
ÁguaMineral- Avançado
-
PONTOS : 495
REPUTAÇÃO : 3
Áreas de atuação : Intermediário em Modelagem
Iniciante em C#
Iniciante em Texturização
Estudando Design
Respeito as regras :
Re: [TUTORIAL] Avião Script
cara dimais !!!! :bounce: vou fazer um joguinho de caça para eu brincar kkk
Dom3000- Programador
-
PONTOS : 2432
REPUTAÇÃO : 223
Idade : 23
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Page: https://www.facebook.com/BatlesofWorlds/
Respeito as regras :
Re: [TUTORIAL] Avião Script
kkkkk, vlw galera!!! :D
Matrirxp- ProgramadorMaster
-
PONTOS : 1193
REPUTAÇÃO : 66
Idade : 16
Áreas de atuação : Unity: Programação JavaScript e C#.
Programação: Python, C#, Java, HTML5,CSS.
Respeito as regras :

» [Tutorial] Detonando com os Scripts!!!
» [Tutorial] Glow line [By Rudas ]
» [TUTORIAL] BG E TIPOGRAFIA
» [Vídeo Tutorial] Técnicas Avançadas do uso da Pen Tool
» Tutorial Cave Sign
» [Tutorial] Glow line [By Rudas ]
» [TUTORIAL] BG E TIPOGRAFIA
» [Vídeo Tutorial] Técnicas Avançadas do uso da Pen Tool
» Tutorial Cave Sign
Página 1 de 1
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum