[RESOLVIDO] Como Impulsionar Um Objeto Para Frente( X ) Sem Ele Parar (script para bala)
2 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Como Impulsionar Um Objeto Para Frente( X ) Sem Ele Parar (script para bala)
Estou Aprendendo A Programar e hoje decidi fazer um script que quando eu apertasse O Botão Do Mouse, o objeto(Bala) seria jogado para frente
Como Não Sabia O que Fazer Para ele ser impulsionado, eu criei um que quando eu apertasse o botão x do transform, o objeto iria para frente.Mas como já poderia ser previsto eu teria que ficar segurando para a bala ir pra frente. Como Faço Para isso Não Acontecer?O Que eu Poderia Ter Usado no Lugar do transform.translate(ou position) para o objeto ir sem parar(impulsionado no x(frente))?
Como Não Sabia O que Fazer Para ele ser impulsionado, eu criei um que quando eu apertasse o botão x do transform, o objeto iria para frente.Mas como já poderia ser previsto eu teria que ficar segurando para a bala ir pra frente. Como Faço Para isso Não Acontecer?O Que eu Poderia Ter Usado no Lugar do transform.translate(ou position) para o objeto ir sem parar(impulsionado no x(frente))?
xbeware- Iniciante
- PONTOS : 1809
REPUTAÇÃO : 0
Idade : 24
Áreas de atuação : Unity E Iniciante C#
Respeito as regras :
Re: [RESOLVIDO] Como Impulsionar Um Objeto Para Frente( X ) Sem Ele Parar (script para bala)
Por favor, quando postar uma dúvida relacionada à código, poste o script relacionado que você já fez mas que não deu certo. Tente também especificar detalhes do ambiente, como se o jogo é 2d ou 3d.
Você adiciona o componente Rigidbody (Ou Rigidbody2D, caso o ambiente seja em 2D) e seta a velocidade dele como Vector3.forward (Ou Vector2.right, caso o ambiente seja em 2D) através do código:
Assim a velocidade da bala fica constante (claro, se ela não bater em nada).
Referências:
/* Para 3D */
Rigidbody - https://docs.unity3d.com/ScriptReference/Rigidbody.html
Use gravity - https://docs.unity3d.com/ScriptReference/Rigidbody-useGravity.html
Velocity - https://docs.unity3d.com/ScriptReference/Rigidbody-velocity.html
/* Para 2D */
Rigidbody2D - https://docs.unity3d.com/ScriptReference/Rigidbody2D.html
Gravity Scale - https://docs.unity3d.com/ScriptReference/Rigidbody2D-gravityScale.html
Velocity - https://docs.unity3d.com/ScriptReference/Rigidbody2D-velocity.html
Não utilize Transform.Translate para movimentação pois ela ignora a física do jogo.
Tente utilizar Rigidbody.
Você adiciona o componente Rigidbody (Ou Rigidbody2D, caso o ambiente seja em 2D) e seta a velocidade dele como Vector3.forward (Ou Vector2.right, caso o ambiente seja em 2D) através do código:
- PARA 3D:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Teste : MonoBehaviour {
Rigidbody rb { get { return GetComponent<Rigidbody> (); } set { rb = value; } }
void Start () {
/* Não queremos que a bala seja atraída pela gravidade */
rb.useGravity = false;
rb.velocity = Vector3.forward;
}
}
- PARA 2D:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Teste : MonoBehaviour {
Rigidbody2D rb { get { return GetComponent<Rigidbody2D> (); } set { rb = value; } }
void Start () {
/* Não queremos que a bala seja atraída pela gravidade */
rb.gravityScale = 0;
rb.velocity = Vector2.right;
}
}
Assim a velocidade da bala fica constante (claro, se ela não bater em nada).
Referências:
/* Para 3D */
Rigidbody - https://docs.unity3d.com/ScriptReference/Rigidbody.html
Use gravity - https://docs.unity3d.com/ScriptReference/Rigidbody-useGravity.html
Velocity - https://docs.unity3d.com/ScriptReference/Rigidbody-velocity.html
/* Para 2D */
Rigidbody2D - https://docs.unity3d.com/ScriptReference/Rigidbody2D.html
Gravity Scale - https://docs.unity3d.com/ScriptReference/Rigidbody2D-gravityScale.html
Velocity - https://docs.unity3d.com/ScriptReference/Rigidbody2D-velocity.html
NKKF- ProgramadorMaster
- PONTOS : 4817
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: [RESOLVIDO] Como Impulsionar Um Objeto Para Frente( X ) Sem Ele Parar (script para bala)
NKKF escreveu:Por favor, quando postar uma dúvida relacionada à código, poste o script relacionado que você já fez mas que não deu certo. Tente também especificar detalhes do ambiente, como se o jogo é 2d ou 3d.Não utilize Transform.Translate para movimentação pois ela ignora a física do jogo.Tente utilizar Rigidbody.
Você adiciona o componente Rigidbody (Ou Rigidbody2D, caso o ambiente seja em 2D) e seta a velocidade dele como Vector3.forward (Ou Vector2.right, caso o ambiente seja em 2D) através do código:
- PARA 3D:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Teste : MonoBehaviour {
Rigidbody rb { get { return GetComponent<Rigidbody> (); } set { rb = value; } }
void Start () {
/* Não queremos que a bala seja atraída pela gravidade */
rb.useGravity = false;
rb.velocity = Vector3.forward;
}
}
- PARA 2D:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Teste : MonoBehaviour {
Rigidbody2D rb { get { return GetComponent<Rigidbody2D> (); } set { rb = value; } }
void Start () {
/* Não queremos que a bala seja atraída pela gravidade */
rb.gravityScale = 0;
rb.velocity = Vector2.right;
}
}
Assim a velocidade da bala fica constante (claro, se ela não bater em nada).
Referências:
/* Para 3D */
Rigidbody - https://docs.unity3d.com/ScriptReference/Rigidbody.html
Use gravity - https://docs.unity3d.com/ScriptReference/Rigidbody-useGravity.html
Velocity - https://docs.unity3d.com/ScriptReference/Rigidbody-velocity.html
/* Para 2D */
Rigidbody2D - https://docs.unity3d.com/ScriptReference/Rigidbody2D.html
Gravity Scale - https://docs.unity3d.com/ScriptReference/Rigidbody2D-gravityScale.html
Velocity - https://docs.unity3d.com/ScriptReference/Rigidbody2D-velocity.html
Consegui Perfeitamente! Mt Obg, Proxima Duvida Eu Deixo o Script
xbeware- Iniciante
- PONTOS : 1809
REPUTAÇÃO : 0
Idade : 24
Áreas de atuação : Unity E Iniciante C#
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Como Adicionar Is Trigger = True para Um Objeto e False Para Outros
» [RESOLVIDO] como que faz para fazer o objeto sumir ao encostar
» [RESOLVIDO] Como voltar um objeto para sua rotação inicial?
» [RESOLVIDO] script para ativar e desativar um objeto,animação,etc...
» [RESOLVIDO] Como faço para clicar em um objeto e visualizar, girar...
» [RESOLVIDO] como que faz para fazer o objeto sumir ao encostar
» [RESOLVIDO] Como voltar um objeto para sua rotação inicial?
» [RESOLVIDO] script para ativar e desativar um objeto,animação,etc...
» [RESOLVIDO] Como faço para clicar em um objeto e visualizar, girar...
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos