SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
[TUTORIAL] Joystick vistual para mobile
trocar cor de um objeto ao apertar uma tecla
Problema com UI Texts somem entre outros problemas
Gameobject[x] ati vado e Gameobject[!x] desativado
Problema com Advertisement na Unity para monetização de Jogo
[RESOLVIDO] Rotacionar player no eixo Y da camera
Movimentaçao por SQM / UNITY 2D
Unity Hub 2.3.0 erro
Particle Emitter unity 5
[TUTORIAL] Campo de visão dos inimigos (Enemy FOV) com Raycast ou OverlapSphere
Animação de acordo com a velocidade e posição do Joystick
Como adaptar a roda do Mouse para o movimento de pinça no Smartphone
cair plataforma
EU QUERO ANDAR COM AS TECLAS JIKL
Podem me ajudar a resolver esse erro na câmera do Unity?
[DÚVIDA] Como clonar um component
Qual a função do normalize e Normalize()? E quando usar?
como faço pra deixar o movimendo da camera suave?
The King
Erro no script de Trigger
Como acessar arquivos do armazenamento?
Inventario vertical
duvida player quicando ao descer desnivel
como fazer os animais fugir no AI
Problema com Platform Effector 2D e AddForce
[RESOLVIDO] Bug no Botão de Pular
problemas com celulares android grande
Script para Inimigo DESAPARECER e TELEPORTAR para um Airpoint
Duvida sobre Array de componentes.
Baixos Brasil - Jogo de Carro Brasileiro!
Problemas no sistema rotação de um kinematic rigidbody usando MoveRotation
audio.clip unity 5
Erro com Substring
movimentação e sistema de mira bugado
Prova de Aptidão Profissional
[TUTORIAL]Efeito de balançar camera enquanto anda
Dicas de como implementar um sistema de colocação de texturas
[TUTORIAL] IA inimigo combate rodear
[TUTORIAL] Unity 2019 - Lanterna e pilhas, com UI
Como fazer sombra falsa igual do GTA 3
como fazer para arma se movimentar junto com o player
[TUTORIAL] Observer Pattern em C# - Tudo o que você precisa saber
wallrun em 1° pessoa e com rigidbody
Como verificar se o objeto esta em movimento?
CULTZONEGAMES Projeto em Andamento
Inimigo andando de forma aleatória (SEM SER TELEPORTANDO) com sensor de collider por tag
[TUTORIAL] Unity 3D - Atualizar projeto para Universal Render Pipeline (URP)
EQUIPE - Programador
Error falando que o axis vertical não está definido
Vida
Problema 'Unity Package Manager Error'
Olá, eu gostaria de saber algumas informações a respeito do unity
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
Qual o próximo passo após o Wampserver? (banco de dados Unity)
Bug no MonoDevelop.
Como posso iniciar um contador para desativar um objeto
Erro no Realistic Car Controller
Procuro Modeladores e level Designer
[FORMAÇÃO DE EQUIPE] PERSONAGENS E ITENS PIXEL ART
Esse script precisa melhorar?
[DUVIDA] MINIMAPA
ERRO NO SCRIPT swimming!!!
Novo Projeto - Home Scared
Produzir o segundo áudio depois de um terminar o primeiro áudio usando um timer?
Salvar arquivos binário
[TUTORIAL] Script de Spawn Aleatório
Como chamar uma ação após sequência de botões?(Cheat/Manha estilo GTA)
[TUTORIAL] Como fazer um BASTÃO FLUORESCENTE com tempo e luminosidade randômica
implementar um botão para avaliação do aplicativo na playstore
Erro ao compilar apk Unity3d, me ajudem
[TUTORIAL] Sistema de tiro com RAYCAST (várias armas, mira laser, munição, dano, etc, etc)
[DUVIDA] Lights URP - É Bug?
Qual versão do JDK, NDK E SDK o Unity Hub recomenda para Unity 2019.2.12f1 (64-bit)?
Erros ao tentar build para android!
gráficos ficaram bugados no Android
Players estão criando salas diferentes com photon 2
[TUTORIAL] Mover objetos 2D e conectar em lugares específicos
Como fazer o inimigo seguir de 15 em 15 segundos
[TUTORIAL] Script de arma completo! [FREE]
[RESOLVIDO] Como colocar som na arma quando eu disparo?
Player Fica Tremendo
[TUTORIAL] Como utilizar a função " Instantiate "
(Rigidbody) altura do pulo de acordo com a força que apertamos o botão
[RESOLVIDO] Movimentação personagem 3 pessoa unity 3D Mobile
[RESOLVIDO] Estes scripts estao corretos? Podia fazer melhor?
[RESOLVIDO] Bug no Spotlight
[RESOLVIDO] Limitar rotação no eixo x
[EQUIPE] VAGAS ABERTAS
[TUTORIAL] Mira Simples
Com faz um lobby de salas no unity photon 2 ?
[RESOLVIDO] nao consigo abrir projetos na unity
[RESOLVIDO] Cena reiniciar quando o player morrer.
Keys para quem comprou o jogo poder ativa-lo
[RESOLVIDO] Analogico Virtual (Mobile input)
[RESOLVIDO] Camera Seguir Player
[duvida]conectar na nuven do xbox live
Erro de perder controle da câmera ao conectar um jogador a cena
Menu De Pause De Um FPS
[DUVIDA] Como tornar meu jogo online?
Ontem à(s) 8:22 pm
Ontem à(s) 8:15 pm
Ontem à(s) 7:55 pm
Ontem à(s) 6:03 am
Ontem à(s) 4:03 am
Ter Mar 31, 2020 9:23 pm
Ter Mar 31, 2020 9:03 pm
Ter Mar 31, 2020 8:20 pm
Ter Mar 31, 2020 8:10 pm
Ter Mar 31, 2020 6:11 pm
Ter Mar 31, 2020 5:46 pm
Ter Mar 31, 2020 2:28 pm
Ter Mar 31, 2020 8:36 am
Ter Mar 31, 2020 4:45 am
Seg Mar 30, 2020 9:53 pm
Seg Mar 30, 2020 7:36 pm
Seg Mar 30, 2020 6:08 pm
Seg Mar 30, 2020 5:12 pm
Seg Mar 30, 2020 3:45 pm
Seg Mar 30, 2020 3:11 pm
Seg Mar 30, 2020 3:02 pm
Seg Mar 30, 2020 1:35 pm
Dom Mar 29, 2020 9:36 pm
Dom Mar 29, 2020 9:26 pm
Dom Mar 29, 2020 8:08 pm
Dom Mar 29, 2020 6:54 pm
Dom Mar 29, 2020 6:45 pm
Dom Mar 29, 2020 5:00 pm
Dom Mar 29, 2020 4:21 pm
Dom Mar 29, 2020 3:54 pm
Dom Mar 29, 2020 12:23 pm
Dom Mar 29, 2020 12:07 pm
Dom Mar 29, 2020 10:28 am
Dom Mar 29, 2020 7:17 am
Sab Mar 28, 2020 8:04 pm
Sab Mar 28, 2020 2:03 pm
Sab Mar 28, 2020 1:45 pm
Sab Mar 28, 2020 12:25 pm
Sab Mar 28, 2020 12:14 pm
Sab Mar 28, 2020 10:33 am
Sab Mar 28, 2020 1:11 am
Sex Mar 27, 2020 8:00 pm
Sex Mar 27, 2020 3:40 pm
Sex Mar 27, 2020 1:09 pm
Sex Mar 27, 2020 1:10 am
Qui Mar 26, 2020 11:22 pm
Qui Mar 26, 2020 11:05 pm
Qui Mar 26, 2020 7:23 pm
Qui Mar 26, 2020 2:08 pm
Qui Mar 26, 2020 1:45 pm
Qui Mar 26, 2020 11:24 am
Qui Mar 26, 2020 11:11 am
Qui Mar 26, 2020 12:27 am
Qui Mar 26, 2020 12:15 am
Qua Mar 25, 2020 11:14 pm
Qua Mar 25, 2020 9:04 pm
Qua Mar 25, 2020 6:03 pm
Qua Mar 25, 2020 3:57 pm
Qua Mar 25, 2020 3:31 pm
Qua Mar 25, 2020 12:21 pm
Qua Mar 25, 2020 11:20 am
Qua Mar 25, 2020 7:58 am
Ter Mar 24, 2020 5:22 pm
Ter Mar 24, 2020 11:33 am
Ter Mar 24, 2020 3:35 am
Seg Mar 23, 2020 11:17 pm
Seg Mar 23, 2020 7:56 pm
Seg Mar 23, 2020 5:37 pm
Seg Mar 23, 2020 5:01 pm
Seg Mar 23, 2020 4:49 pm
Seg Mar 23, 2020 4:23 pm
Seg Mar 23, 2020 3:59 pm
Seg Mar 23, 2020 12:18 am
Seg Mar 23, 2020 12:12 am
Dom Mar 22, 2020 11:54 pm
Sab Mar 21, 2020 10:26 pm
Sab Mar 21, 2020 8:12 pm
Sab Mar 21, 2020 10:45 am
Sab Mar 21, 2020 12:17 am
Sex Mar 20, 2020 10:43 am
Sex Mar 20, 2020 7:11 am
Qui Mar 19, 2020 10:28 pm
Qui Mar 19, 2020 8:30 pm
Qui Mar 19, 2020 10:29 am
Qui Mar 19, 2020 10:18 am
Qui Mar 19, 2020 7:45 am
Qui Mar 19, 2020 12:21 am
Qua Mar 18, 2020 9:50 pm
Qua Mar 18, 2020 7:49 pm
Qua Mar 18, 2020 5:53 pm
Qua Mar 18, 2020 5:30 pm
Qua Mar 18, 2020 9:46 am
Ter Mar 17, 2020 10:15 pm
Ter Mar 17, 2020 8:18 pm
Ter Mar 17, 2020 8:01 pm
Ter Mar 17, 2020 6:48 pm
Ter Mar 17, 2020 3:05 am
Seg Mar 16, 2020 10:22 pm
Seg Mar 16, 2020 10:21 pm
verme1311
Homem do acre
poyser
juansup
LostInTheCenter01
Yuri Heinz
IssacDB
kirkjc
Wdigamer
Nekas
alefe c oliveira
teos626
giowde
iours
MarceloYBP
Arthur07422
Arthur07422
JulioWinchester
Callyde Jr
Wdigamer
JohnVitor
Arthur07422
Édipo
hendrick22
alefe c oliveira
alefe c oliveira
alefe c oliveira
MayLeone
Arthur07422
vini024
gabrimo
Wdigamer
zuziv
jackamir15
jsiilva2k
Wdigamer
gabrimo
hendrick22
Wdigamer
vicecity
B1NH0O
MayLeone
vini024
Nalfam
cultzone
gersoneson
MarcosSchultz
Wahder
Fagner
alefe c oliveira
alefe c oliveira
alefe c oliveira
MarcosSchultz
Nalfam
Arthur0742
thiagograssi
Samuelostgamer
Valakinhas
alefe c oliveira
Daniel Dória
JohnRambo
joaolibolone998
Wahder
Samuelostgamer
evandromagico
joaoguil3
WesFarias
Flag
Leandroigor
Leandroigor
yan187
SteveRogers
Daniel Dória
Daniel Dória
Daniel Dória
Diguinho
Joenilton Saturnino
Gabriel M
ALBANO
ShutUpIAmSnow
alefe c oliveira
joaoguil3
ronigleydson
andersonoliver
ShutUpIAmSnow
Edu4rdogx
alefe c oliveira
guimaraf
pgamaf
Diguinho
alangamepla7
Santiago101246
lauderson
alefe c oliveira
alefe c oliveira
diegopds
Samuelostgamer
MarcosSchultz
MarcosSchultz

Como freiar uma nave 2d

Ir em baixo

DÚVIDA Como freiar uma nave 2d

Mensagem por dknoob537 em Sab Dez 14, 2019 9:05 am

Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ShipMovement : MonoBehaviour
{
    // Start is called before the first frame update
    public Rigidbody2D rigidBody;
    public float speed = 5f;
    private float rotate = 0f;
    private float front = 0f;
    Vector2 m_EulerAngleVelocity;
    public float revSpeed = 50.0f;
    public float maxSpeed;
    public float nowSpeed;
    void Start()
    {
        rigidBody = GetComponent<Rigidbody2D>();
        m_EulerAngleVelocity = new Vector3(0, 100, 0);
    }

    // Update is called once per frame
    void Update()
    {
        nowSpeed = rigidBody.velocity.magnitude;
        rotate = Input.GetAxis("Horizontal");
        front = Input.GetAxis("Vertical");
        if (rotate > 0f)
        {
            rigidBody.MoveRotation(rigidBody.rotation + -1 * revSpeed * Time.fixedDeltaTime);
        }
        else if (rotate < 0f)
        {
            rigidBody.MoveRotation(rigidBody.rotation + 1 * revSpeed * Time.fixedDeltaTime);
        }

        if (front > 0f && nowSpeed < maxSpeed)
        {
            rigidBody.AddRelativeForce(Vector2.up * speed * Time.deltaTime);
        }
        else if (front < 0f)
        {
            if (nowSpeed < 1)
            {
                rigidBody.AddRelativeForce(Vector2.down * speed * Time.deltaTime);
            }
        }
     



    }
}
bom basicamente eu quero que a nave freie, tipo ela ta em tal velocidade e quando eu apertar para traz ele ir diminuindo a velocidade gradativamente só que eu estou tendo problemas em imaginar como isso funcionaria pois a velocidade da nave é relativa pra onde eu rotacionei ela.
dknoob537
dknoob537
Membro
Membro

Masculino PONTOS : 866
REPUTAÇÃO : 7
Idade : 18
Respeito as regras : Como freiar uma nave 2d WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como freiar uma nave 2d

Mensagem por dknoob537 em Sab Dez 14, 2019 9:34 am

@dknoob537 escreveu:
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ShipMovement : MonoBehaviour
{
    // Start is called before the first frame update
    public Rigidbody2D rigidBody;
    public float speed = 5f;
    private float rotate = 0f;
    private float front = 0f;

    public float revSpeed = 50.0f;
    public float maxSpeed;
    public float nowSpeed;
    public float nowSpeedy;
    public Joint2D rb3;
    void Start()
    {
        rigidBody = GetComponent<Rigidbody2D>();
        rb3 = GetComponent<Joint2D>();
     
    }

    // Update is called once per frame
    void Update()
    {
        nowSpeed = rigidBody.velocity.magnitude;
        nowSpeedy = transform.InverseTransformDirection(rigidBody.velocity).y;
        rotate = Input.GetAxis("Horizontal");
        front = Input.GetAxis("Vertical");
        if (rotate > 0f)
        {
        rigidBody.MoveRotation(rigidBody.rotation + -1 * revSpeed * Time.fixedDeltaTime);
       
        }
        else if (rotate < 0f)
        {
            rigidBody.MoveRotation(rigidBody.rotation + 1 * revSpeed * Time.fixedDeltaTime);
        }

        if (front > 0f && nowSpeedy < maxSpeed)
        {
            rigidBody.AddRelativeForce(Vector2.up * speed * Time.deltaTime);
        }
        else if (front < 0f )
        {
            if (nowSpeedy > 0)
            {
                rigidBody.AddRelativeForce(Vector2.down * speed * Time.deltaTime);
            }
        }
     



    }
}
agr funciona mas nem tanto, ele fica quase parado
dknoob537
dknoob537
Membro
Membro

Masculino PONTOS : 866
REPUTAÇÃO : 7
Idade : 18
Respeito as regras : Como freiar uma nave 2d WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como freiar uma nave 2d

Mensagem por dknoob537 em Sab Dez 14, 2019 9:48 am

@dknoob537 escreveu:
@dknoob537 escreveu:
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ShipMovement : MonoBehaviour
{
    // Start is called before the first frame update
    public Rigidbody2D rigidBody;
    public float speed = 5f;
    private float rotate = 0f;
    private float front = 0f;

    public float revSpeed = 50.0f;
    public float maxSpeed;
    public float nowSpeed;
    public float nowSpeedy;
    public float nowSpeedx;
    public Joint2D rb3;
    void Start()
    {
        rigidBody = GetComponent<Rigidbody2D>();
        rb3 = GetComponent<Joint2D>();
     
    }

    // Update is called once per frame
    void Update()
    {
        nowSpeed = rigidBody.velocity.magnitude;
        nowSpeedy = transform.InverseTransformDirection(rigidBody.velocity).y;
        nowSpeedx = transform.InverseTransformDirection(rigidBody.velocity).x;
        rotate = Input.GetAxis("Horizontal");
        front = Input.GetAxis("Vertical");
        if (rotate > 0f)
        {
        rigidBody.MoveRotation(rigidBody.rotation + -1 * revSpeed * Time.fixedDeltaTime);
       
        }
        else if (rotate < 0f)
        {
            rigidBody.MoveRotation(rigidBody.rotation + 1 * revSpeed * Time.fixedDeltaTime);
        }

        if (front > 0f && nowSpeedy < maxSpeed)
        {
            rigidBody.AddRelativeForce(Vector2.up * speed * Time.deltaTime);
        }
        else if (front < 0f )
        {
            if (nowSpeedy > 0)
            {
                rigidBody.AddRelativeForce(Vector2.down * speed * Time.deltaTime);
            }
            if (nowSpeedx > 0)
            {
                rigidBody.AddRelativeForce(Vector2.left * speed * Time.deltaTime);
            }
            if (nowSpeedx < 0)
            {
                rigidBody.AddRelativeForce(Vector2.right * speed * Time.deltaTime);
            }

        }
     



    }
agr é mt perto de parado mas n para 
dknoob537
dknoob537
Membro
Membro

Masculino PONTOS : 866
REPUTAÇÃO : 7
Idade : 18
Respeito as regras : Como freiar uma nave 2d WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como freiar uma nave 2d

Mensagem por mecjo em Sab Dez 14, 2019 9:47 pm

Rapaz, isso tudo é só para mover a nave ?
mecjo
mecjo
Membro
Membro

PONTOS : 948
REPUTAÇÃO : 10
Respeito as regras : Como freiar uma nave 2d WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como freiar uma nave 2d

Mensagem por Tegh em Dom Dez 15, 2019 8:16 am

Há bastante velocidade aí! No caso, não haveria uma forma de criar uma dependência com uma única variável de velocidade, assim, controlar a mesma afetaria todas as velocidades, ou seja, se colocar esta em 0, todo o sistema vai parar.

Tegh
Avançado
Avançado

Masculino PONTOS : 960
REPUTAÇÃO : 97
Idade : 18
Respeito as regras : Como freiar uma nave 2d WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como freiar uma nave 2d

Mensagem por dknoob537 em Dom Dez 15, 2019 1:30 pm

@mecjo escreveu:Rapaz, isso tudo é só para mover a nave ?
sim, é que eu sou leigo mas tem algumas coisas q da pra ajeitar
dknoob537
dknoob537
Membro
Membro

Masculino PONTOS : 866
REPUTAÇÃO : 7
Idade : 18
Respeito as regras : Como freiar uma nave 2d WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como freiar uma nave 2d

Mensagem por dknoob537 em Dom Dez 15, 2019 1:32 pm

@Tegh escreveu:Há bastante velocidade aí! No caso, não haveria uma forma de criar uma dependência com uma única variável de velocidade, assim, controlar a mesma afetaria todas as velocidades, ou seja, se colocar esta em 0, todo o sistema vai parar.

como eu faria isso?
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ShipMovement : MonoBehaviour
{
    // Start is called before the first frame update
    public Rigidbody2D rigidBody;
    public float speed = 5f;
    private float rotate = 0f;
    private float front = 0f;

    public float revSpeed = 50.0f;
    public float maxSpeed;
    public float nowSpeed;
    public float nowSpeedy;
    public float nowSpeedx;
    //public Joint2D rb3;
    void Start()
    {
        rigidBody = GetComponent<Rigidbody2D>();
      //  rb3 = GetComponent<Joint2D>();
     
    }

    // Update is called once per frame
    void Update()
    {
        // movimento
        nowSpeed = rigidBody.velocity.magnitude;
        nowSpeedy = transform.InverseTransformDirection(rigidBody.velocity).y;
        nowSpeedx = transform.InverseTransformDirection(rigidBody.velocity).x;
        rotate = Input.GetAxis("Horizontal");
        front = Input.GetAxis("Vertical");
        if (rotate > 0f)
        {
        rigidBody.MoveRotation(rigidBody.rotation + -1 * revSpeed * Time.fixedDeltaTime);
       
        }
        else if (rotate < 0f)
        {
            rigidBody.MoveRotation(rigidBody.rotation + 1 * revSpeed * Time.fixedDeltaTime);
        }

        if (front > 0f)
        {
            if (nowSpeedy < maxSpeed)
            rigidBody.AddRelativeForce(Vector2.up * speed * Time.deltaTime);
            if (nowSpeedx > 0)
            {
                rigidBody.AddRelativeForce(Vector2.left * speed * Time.deltaTime);
            }
            if (nowSpeedx < 0)
            {
                rigidBody.AddRelativeForce(Vector2.right * speed * Time.deltaTime);
            }

        }
        else if (front < 0f )
        {
            if (nowSpeedy > 0)
            {
                rigidBody.AddRelativeForce(Vector2.down * speed * Time.deltaTime);
            }
            if (nowSpeedx > 0)
            {
                rigidBody.AddRelativeForce(Vector2.left * speed * Time.deltaTime);
            }
            if (nowSpeedx < 0)
            {
                rigidBody.AddRelativeForce(Vector2.right * speed * Time.deltaTime);
            }

        }
       



    }
}
dknoob537
dknoob537
Membro
Membro

Masculino PONTOS : 866
REPUTAÇÃO : 7
Idade : 18
Respeito as regras : Como freiar uma nave 2d WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como freiar uma nave 2d

Mensagem por dknoob537 em Dom Dez 15, 2019 1:58 pm

@Tegh escreveu:Há bastante velocidade aí! No caso, não haveria uma forma de criar uma dependência com uma única variável de velocidade, assim, controlar a mesma afetaria todas as velocidades, ou seja, se colocar esta em 0, todo o sistema vai parar.
eu atribui um variavel a magnitude da velocidade da nave porem quando falo q ele é zero n funciona pois o dado é apenas de leitura e nao modifica a velocidade do rigibody
dknoob537
dknoob537
Membro
Membro

Masculino PONTOS : 866
REPUTAÇÃO : 7
Idade : 18
Respeito as regras : Como freiar uma nave 2d WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como freiar uma nave 2d

Mensagem por Tegh em Dom Dez 15, 2019 6:54 pm

dknoob537:

@dknoob537 escreveu:
@Tegh escreveu:Há bastante velocidade aí! No caso, não haveria uma forma de criar uma dependência com uma única variável de velocidade, assim, controlar a mesma afetaria todas as velocidades, ou seja, se colocar esta em 0, todo o sistema vai parar.

como eu faria isso?
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ShipMovement : MonoBehaviour
{
    // Start is called before the first frame update
    public Rigidbody2D rigidBody;
    public float speed = 5f;
    private float rotate = 0f;
    private float front = 0f;

    public float revSpeed = 50.0f;
    public float maxSpeed;
    public float nowSpeed;
    public float nowSpeedy;
    public float nowSpeedx;
    //public Joint2D rb3;
    void Start()
    {
        rigidBody = GetComponent<Rigidbody2D>();
      //  rb3 = GetComponent<Joint2D>();
      
    }

    // Update is called once per frame
    void Update()
    {
        // movimento
        nowSpeed = rigidBody.velocity.magnitude;
        nowSpeedy = transform.InverseTransformDirection(rigidBody.velocity).y;
        nowSpeedx = transform.InverseTransformDirection(rigidBody.velocity).x;
        rotate = Input.GetAxis("Horizontal");
        front = Input.GetAxis("Vertical");
        if (rotate > 0f)
        {
         rigidBody.MoveRotation(rigidBody.rotation + -1 * revSpeed * Time.fixedDeltaTime);
        
        }
        else if (rotate < 0f)
        {
            rigidBody.MoveRotation(rigidBody.rotation + 1 * revSpeed * Time.fixedDeltaTime);
        }

        if (front > 0f)
        {
            if (nowSpeedy < maxSpeed)
            rigidBody.AddRelativeForce(Vector2.up * speed * Time.deltaTime);
            if (nowSpeedx > 0)
            {
                rigidBody.AddRelativeForce(Vector2.left * speed * Time.deltaTime);
            }
            if (nowSpeedx < 0)
            {
                rigidBody.AddRelativeForce(Vector2.right * speed * Time.deltaTime);
            }

        }
        else if (front < 0f )
        {
            if (nowSpeedy > 0)
            {
                rigidBody.AddRelativeForce(Vector2.down * speed * Time.deltaTime);
            }
            if (nowSpeedx > 0)
            {
                rigidBody.AddRelativeForce(Vector2.left * speed * Time.deltaTime);
            }
            if (nowSpeedx < 0)
            {
                rigidBody.AddRelativeForce(Vector2.right * speed * Time.deltaTime);
            }

        }
        



    }
}
Eu gostaria de tentar criar algo, porém esta com semanas que estou sem a Unity (Desktop formatado e residência sem internet). Queria ver o funcionamento da física deste componente!

Tegh
Avançado
Avançado

Masculino PONTOS : 960
REPUTAÇÃO : 97
Idade : 18
Respeito as regras : Como freiar uma nave 2d WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como freiar uma nave 2d

Mensagem por mecjo em Seg Dez 16, 2019 3:13 am

Código:
float x = Input.GetAxis("Horizontal") * Time.deltaTime * Speed;
float y = Input.GetAxis("Vertical") * Time.deltaTime * Speed;
        transform.Translate(x, y, 0);


Testa isso aqui
mecjo
mecjo
Membro
Membro

PONTOS : 948
REPUTAÇÃO : 10
Respeito as regras : Como freiar uma nave 2d WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como freiar uma nave 2d

Mensagem por mecjo em Seg Dez 16, 2019 3:13 am

Lembre-se de criar uma float Speed
mecjo
mecjo
Membro
Membro

PONTOS : 948
REPUTAÇÃO : 10
Respeito as regras : Como freiar uma nave 2d WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como freiar uma nave 2d

Mensagem por mecjo em Seg Dez 16, 2019 3:17 am

Lembrando que esse script é um script de movimento completo já, sem usar Rigidbody. 

A partir disso a nave já anda sem ter que freia.
mecjo
mecjo
Membro
Membro

PONTOS : 948
REPUTAÇÃO : 10
Respeito as regras : Como freiar uma nave 2d WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como freiar uma nave 2d

Mensagem por Tegh em Seg Dez 16, 2019 5:51 pm

mecjo:

@mecjo escreveu:
Código:
float x = Input.GetAxis("Horizontal") * Time.deltaTime * Speed;
float y = Input.GetAxis("Vertical") * Time.deltaTime * Speed;
        transform.Translate(x, y, 0);


Testa isso aqui
O Translate, se não engano-me, ignora a física pelo o fato dele posicionar o objeto. Pode ser um problema caso trabalhe com objetos que implicam alguma força na nave.

Tegh
Avançado
Avançado

Masculino PONTOS : 960
REPUTAÇÃO : 97
Idade : 18
Respeito as regras : Como freiar uma nave 2d WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como freiar uma nave 2d

Mensagem por mecjo em Ter Dez 17, 2019 4:44 am

@Tegh escreveu:
mecjo:

@mecjo escreveu:
Código:
float x = Input.GetAxis("Horizontal") * Time.deltaTime * Speed;
float y = Input.GetAxis("Vertical") * Time.deltaTime * Speed;
        transform.Translate(x, y, 0);


Testa isso aqui
O Translate, se não engano-me, ignora a física pelo o fato dele posicionar o objeto. Pode ser um problema caso trabalhe com objetos que implicam alguma força na nave.


Exato, porem ele ta trabalhando 2d, acho que fisica não é um foco 100% útil.
mecjo
mecjo
Membro
Membro

PONTOS : 948
REPUTAÇÃO : 10
Respeito as regras : Como freiar uma nave 2d WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como freiar uma nave 2d

Mensagem por NKKF em Ter Dez 17, 2019 9:56 pm

Olá amiguinhos, boa noite Smile

Não consegui fazer direto na Unity então passei só pelo Visual Studio Code, então pode ter alguns errinhos de semântica, principalmente porque eu mexi em outras coisinhas, qualquer coisa cê traz aqui para a gente dar uma verificada, taok?
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ShipMovement : MonoBehaviour {
    private Rigidbody2D rigidBody { get { return GetComponent<Rigidbody2D> (); } set { rigidBody = value; } }
    public float speed = 5f;
    public float revSpeed = 50.0f, maxSpeed = 4f; // <- Alterar o max speed

    void FixedUpdate () { // Apenas cálculo de física, não adicione condições de inputs aqui!
        float nowSpeed = rigidBody.velocity.magnitude;
        float rotate = Input.GetAxis ("Horizontal");
        float front = Input.GetAxis ("Vertical");

        if (rotate != 0)
            rigidBody.MoveRotation (rigidBody.rotation + (rotate > 0f ? -1 : 1) * revSpeed);

        if (front != 0) {
            if (front > 0f && nowSpeed < maxSpeed) // Ainda não chegou à velocidade máxima e o usuário está tentando acelerar
                rigidBody.AddRelativeForce (Vector2.up * speed * Time.deltaTime);

            /* Não entendi porque você colocou o nowSpeed < 1, poderia explicar? */
            else if (nowSpeed < 1) // Usuário quer freiar
                rigidBody.velocity = Vector2.Lerp ((Vector2) rigidBody.velocity, Vector2.zero, 0.01f);
        }
    }
}
A mágica acontece principalmente na parte do Lerp
que meio que "suaviza" a transição de um vetor para outro, no caso, "Vector2.zero", ou seja, frear.

Pode não dar certo de primeira, mas tenho certeza que dá para entender a ideia que eu passei..

Depois cê explica a parte do último IF? Onde tem "nowSpeed < 1"? Não entendi, por que você colocou isso aí? O correto não seria: "front < 0"?


Referências Utilizadas (Para estudo):


Vector2 Lerp: https://docs.unity3d.com/ScriptReference/Vector2.Lerp.html
Velocity no Rigidbody: https://docs.unity3d.com/ScriptReference/Rigidbody2D-velocity.html
NKKF
NKKF
ProgramadorMaster

Masculino PONTOS : 2877
REPUTAÇÃO : 500
Idade : 15
Áreas de atuação : Resolver problemas
Respeito as regras : Como freiar uma nave 2d Aad8pUi

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum