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:
Jogo Mobile - Ultimate Flight Simulator - Real World SDK
Unity - FPS e CPU ???
Usar microfone na Unity
Jogo ficando escuro quando faço a Build pela cena menu
Dúvida sobre movimentação do personagem
[RESOLVIDO] ACESSAR SCRIPT DE OUTRO GAMEOBJECT
Para eu ter shader em meu projeto eu tenho que usar o hdrp ou o 3d padrao?
Rotate Camera Mobile
Sou modelador 3d (!!! Arquitetonico!!!) Disponivel !!!!!!
Preciso de alguém que saiba programação e Raycast
Servidor/cliente usando sockets
Assets carregados com addressables causando erro na versão "buildada"
Jogo multiplayer com salas - não vai para o lobby
Texto - Não escreve no 'play'. Clica mais não digita.
Error Unity Vulkan - Out of memory! (allocating memory for image)
Câmera Não esta renderizando na segunda janela.
Movimento da Câmera No Android
[RESOLVIDO] - Unity não está mais funcionando o "Build and Run"
Precisa de modelador com ou sem experiência
Duvida com "mesclagem" de animação
[TUTORIAL] Como fazer uma gota de água na Unity
Missoes Aparecerem aleatoriamente do nada
Dúvida pafra IOS
botoes não esta funcionando corretamente nem a fisica?
Duvida com NavMeshAgent
COMO AUMENTAR E DIMINUÍ A SENSIBILIDADE DO TOQUE POR CÓDICO (MOBILE)
A Licença da Unity só funciona se eu tiver Internet
Problema com OnTriggerEnter
Transparência ao colidir
bool para evitar de salvar frames repetido
Unity - Transições no AnimatorController rodando errado
problemas com "wall Jump" , atribuir força ao eixo X
Meu Jogo ja Esta Pronto! EXPERIMENTEM!!
JOSTICK NAO SE MOVE
botoes para mobile
ERRO NO SCRIPT FOME E SEDE ETC
CORTAR ARVORES E DROPAR
Configurar sistema
Unity - Sugestões da Loja
Standard Assets para UNITY 5 em ".unitypackage"
Problema com o Shader
[TUTORIAL] Sistema Simples de Falas
Velocímetro Bugado
Como faço para alinhar uma textura na posição absoluta do mundo no shader
Sobre o Tutorial de Cortar Arvores
Erro Mov Player
[TUTORIAL] VELOCIMETRO DE PONTEIRO
[TUTORIAL] Ligar/Desligar luz por Interruptor
Sistema de lampadas
Conversor de movimento do Unity para o MMD [Ajuda]
Script de configurações não esta funcionando corretamente
CAMERA BUGANDO NA TRANSIÇÃO DE CENA
Volante girando errado [AJUDA]
Novo Asset Sistema de Portas e Chaves
ERRO NAS RODAS DO CARRO
[TUTORIAL] Sistema de câmera em primeira pessoa SIMPLES
AJUDA PARA UM SISTEMA DE CHECKPOINT
Jogo offline com Loja?
Unity -TextMeshProUGUI- 1 das coisas q estão deixando a scene lenta p abrir
Detectar quando o animation curve chega no final
Problema com compilação para Android na Unity 2019.4.35
Aplicativo para IOS
Árvores feitas na Unity
RECRUTAMENTO WAR CORE FPS
[RESOLVIDO] Unity - Scrollbar não funciona
[TUTORIAL] AI que cria scripts para você, inclusive scripts para Unity !!!!
[RESOLVIDO] Animando Image na Unity não funciona
Hospedar um jogo multiplay na itch.io
Script para detetectar o movimento do player
Alguém ajuda com um erro por favor? PSDImporter.cs
[RESOLVIDO] - Unity - Rotação da Câmera - Mathf.Clamp não funciona
Alterar textura .unity3d
Comportamento do movimento do inimigo. Sair do caminho e Fugir
Procuro uma equipe
Ajuda Com Sala de Jogo Multiplayer
COMO FAZER A PORTA ABRIR SÓ EMPURRANDO ELA COM O PLAYER?
Visual Studio - Vend os Scripts na Aba "Modo de Exibição de Classe" soltos
app fica fechendo após mobile notification
[RESOLVIDO] Controlar dois player dentro de um jogo multiplay usando mirror
Unity - O Jogo fecha quando vai abrir a Scene
[TUTORIAL] Mudando material
Procuro programador Unity para jogo 2D
AJUDA REALISTIC CAR CONTROLLER
Chama para isqueiro
[RESOLVIDO] Ajuda para destruir objeto
Unity - Sistema de Giro da Tela - Ajuda pfv!
Unity - Touch na Tela do Celular
Dawn Of Hell - Horror Game BR (2022-2023)
Unity - Jogo online ou offline?
ANIMAÇÃO INIMIGO ESTÁ INDO PRA TUDO QUANTO É LADO
[RESOLVIDO] Erro de Script no Android
Bundle Assets, Resources, e Addressables
Jogo online (qual a melhor opção?)
Dúvida sobre como criar o inimigo IA!
Unity dando pause no jogo a cada 4 segundos
bom dia amigos eu sou meio lego nos scripts será que alguem pode me ajudar
JOGO "CHALLENGE" FINALIZADO E DISPONÍVEL PARA BAIXAR.
error CS0246
[TUTORIAL]Como Chamar Um Método Usando Uma String como Parametro
Ontem à(s) 2:41 pm
Ter maio 30, 2023 7:28 pm
Ter maio 30, 2023 6:04 am
Seg maio 29, 2023 7:53 pm
Sáb maio 27, 2023 3:11 pm
Sex maio 26, 2023 4:59 pm
Sex maio 26, 2023 11:27 am
Qui maio 25, 2023 10:33 am
Sáb maio 20, 2023 12:25 pm
Ter maio 16, 2023 5:43 pm
Ter maio 16, 2023 5:42 pm
Ter maio 09, 2023 7:42 pm
Seg maio 08, 2023 7:13 am
Seg maio 08, 2023 6:38 am
Seg maio 08, 2023 1:49 am
Sáb maio 06, 2023 11:44 pm
Sáb maio 06, 2023 6:42 pm
Sáb maio 06, 2023 1:35 am
Qua maio 03, 2023 12:32 pm
Seg maio 01, 2023 8:51 pm
Seg maio 01, 2023 12:29 pm
Dom Abr 30, 2023 8:49 pm
Dom Abr 30, 2023 5:06 pm
Sáb Abr 29, 2023 4:05 pm
Qui Abr 27, 2023 4:39 pm
Qui Abr 27, 2023 12:40 am
Ter Abr 25, 2023 5:33 pm
Ter Abr 25, 2023 10:23 am
Dom Abr 23, 2023 12:11 am
Sáb Abr 22, 2023 4:27 am
Sex Abr 21, 2023 11:38 pm
Sex Abr 21, 2023 10:21 pm
Qui Abr 20, 2023 4:57 pm
Qui Abr 20, 2023 12:28 pm
Qua Abr 19, 2023 3:03 pm
Qua Abr 19, 2023 1:52 pm
Qua Abr 19, 2023 11:59 am
Qua Abr 19, 2023 11:54 am
Sáb Abr 15, 2023 8:13 pm
Sex Abr 14, 2023 7:43 am
Qui Abr 13, 2023 4:36 pm
Qui Abr 13, 2023 4:36 pm
Qua Abr 12, 2023 6:05 pm
Ter Abr 11, 2023 6:22 pm
Seg Abr 10, 2023 7:33 pm
Seg Abr 10, 2023 3:25 pm
Dom Abr 09, 2023 8:53 pm
Dom Abr 09, 2023 7:26 pm
Dom Abr 09, 2023 5:59 pm
Dom Abr 09, 2023 12:06 am
Sex Abr 07, 2023 7:24 pm
Qui Abr 06, 2023 6:45 am
Qua Abr 05, 2023 9:24 am
Ter Abr 04, 2023 4:55 pm
Ter Abr 04, 2023 1:00 pm
Dom Abr 02, 2023 11:52 pm
Sex Mar 31, 2023 12:50 pm
Sex Mar 31, 2023 11:03 am
Sex Mar 31, 2023 10:05 am
Qua Mar 29, 2023 7:48 pm
Ter Mar 28, 2023 10:50 pm
Ter Mar 28, 2023 9:19 am
Seg Mar 27, 2023 10:16 am
Dom Mar 26, 2023 7:39 pm
Qui Mar 23, 2023 4:52 pm
Ter Mar 21, 2023 11:20 pm
Ter Mar 21, 2023 8:52 pm
Sáb Mar 18, 2023 8:41 pm
Sex Mar 17, 2023 3:12 pm
Sex Mar 17, 2023 1:24 pm
Seg Mar 13, 2023 10:45 pm
Seg Mar 13, 2023 9:48 pm
Seg Mar 13, 2023 8:24 pm
Seg Mar 13, 2023 7:17 pm
Dom Mar 12, 2023 10:27 pm
Dom Mar 12, 2023 7:22 pm
Sex Mar 10, 2023 8:26 pm
Sex Mar 10, 2023 8:00 pm
Qui Mar 09, 2023 9:05 am
Ter Mar 07, 2023 2:27 pm
Sex Mar 03, 2023 6:47 pm
Sex Mar 03, 2023 12:01 am
Qui Mar 02, 2023 4:00 pm
Qui Mar 02, 2023 1:35 pm
Qua Mar 01, 2023 5:47 pm
Qua Mar 01, 2023 2:11 am
Seg Fev 27, 2023 11:08 pm
Seg Fev 27, 2023 7:19 pm
Dom Fev 26, 2023 11:49 pm
Dom Fev 26, 2023 8:29 pm
Dom Fev 26, 2023 7:47 pm
Dom Fev 26, 2023 7:46 pm
Dom Fev 26, 2023 6:08 pm
Sáb Fev 25, 2023 8:16 pm
Seg Fev 13, 2023 7:02 pm
Seg Fev 13, 2023 2:44 am
Dom Fev 12, 2023 9:57 pm
Dom Fev 12, 2023 2:19 pm
Sáb Fev 11, 2023 1:01 pm



































































































Problemas com a colisão do unity

4 participantes

Ir para baixo

DÚVIDA Problemas com a colisão do unity

Mensagem por Nii Seg Jul 05, 2021 10:54 pm

Olá pessoal!!!
Sou novo aqui e estou com um problema.

Eu estou criando um jogo 2d na unity e estou com um problema com a colisão. No meu jogo tem um helicóptero e ele possui rigidbody2D e boxcollider2D, mas por algm motivo ele atravessa as paredes(q tbm possuem boxcollider2D). Invés do helicóptero parar quando encosta na parede, ele entra dentro da parede e depois ele é "cuspido" por ela.

Vi em vários lugares dizendo que é para ir no rigidbody2D e colocar o collision detection em continuous e o interpolate como extrapolete, mas eu fiz isso e não foi.
Nii
Nii
Iniciante
Iniciante

Masculino PONTOS : 726
REPUTAÇÃO : 3
Respeito as regras : Problemas com a colisão do unity WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: Problemas com a colisão do unity

Mensagem por MarcosSchultz Ter Jul 06, 2021 5:03 am

Como você está fazendo para mover o seu helicóptero?? Por acaso está usando transform.position ou algo desse tipo?
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 64431
REPUTAÇÃO : 2643
Idade : 26
Áreas de atuação : Administrador do fórum
Respeito as regras : Problemas com a colisão do unity Aad8pUi

https://www.schultzgames.com

Ir para o topo Ir para baixo

DÚVIDA Re: Problemas com a colisão do unity

Mensagem por Nii Ter Jul 06, 2021 8:12 am

MarcosSchultz escreveu:Como você está fazendo para mover o seu helicóptero?? Por acaso está usando transform.position ou algo desse tipo?
Sim, eu estou usando o transform.position.

Aqui está o código:
Código:
////Rotacionar a hélice
            h.transform.Rotate(0,0,50);

            //Rotacionar o helicóptero
            int RotSpd = 200;//Velocidade do rotacionamento
            Vector3 mousePos = Input.mousePosition - Camera.main.WorldToScreenPoint(transform.position);//Pegar posição do mouse
            Quaternion targetRotation = Quaternion.LookRotation(transform.position - mousePos, Vector3.forward);//Cria o âgulo
            transform.rotation = Quaternion.RotateTowards(transform.rotation, targetRotation, Time.deltaTime * RotSpd);//Rotaciona o obj a partir do ângulo criado
            transform.rotation = Quaternion.Euler(0, 0, transform.rotation.eulerAngles.z);//Arrumar os ângulos

            //Movimentação do helicóptero
            float MovX = Input.GetAxis("Horizontal");
            float MovY = Input.GetAxis("Vertical");

            transform.position += new Vector3(MovX, MovY, 0) * speed * Time.deltaTime;

            //Atirar
            if (Input.GetMouseButton(0))
            {
                foreach (GameObject objet in gun)
                {
                    objet.GetComponent<Gun>().Fire();
                }
            }
Nii
Nii
Iniciante
Iniciante

Masculino PONTOS : 726
REPUTAÇÃO : 3
Respeito as regras : Problemas com a colisão do unity WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: Problemas com a colisão do unity

Mensagem por Fagner Ter Jul 06, 2021 11:10 am

Se você quer movimentar usando o transform, você precisa fazer sua própria forma de checar colisão.
Mexer o transform e depender da física da Unity não dá certo pois além de cada coisa ser executada em tempo diferente
leia aqui https://docs.unity3d.com/Manual/ExecutionOrder.html . O transform ignora completamente a física.
Se quer usar a física pra colisão, você deve mover o objeto acessando o rigidbody e usando o AddForce();
Se quer continuar usando a movimentação com transform, use raycasts na direção que está se movendo e se detectar um hit, não deixe se mover.
Fagner
Fagner
Moderador

Masculino PONTOS : 3905
REPUTAÇÃO : 665
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras : Problemas com a colisão do unity Aad8pUi

Ir para o topo Ir para baixo

DÚVIDA Re: Problemas com a colisão do unity

Mensagem por Nii Ter Jul 06, 2021 12:33 pm

Fagner escreveu:Se você quer movimentar usando o transform, você precisa fazer sua própria forma de checar colisão.
Mexer o transform e depender da física da Unity não dá certo pois além de cada coisa ser executada em tempo diferente
leia aqui https://docs.unity3d.com/Manual/ExecutionOrder.html . O transform ignora completamente a física.
Se quer usar a física pra colisão, você deve mover o objeto acessando o rigidbody e usando o AddForce();
Se quer continuar usando a movimentação com transform, use raycasts na direção que está se movendo e se detectar um hit, não deixe se mover.
Muuuuito obrigado!!! Fiquei quebrando a cabeça para corrigir esse problema e finalmente consegui. Eu não usei o addforce, mas , por causa da sua resposta de usar o ridibody para movimentar, eu decidi procurar se tem outra forma de movimentar pelo rigidbody e achei o MovePosition.

Para resolver o problema no lugar do
Código:
transform.position += new Vector3(MovX, MovY, 0) * speed * Time.deltaTime;

Eu coloquei
Código:
rb2d.MovePosition(transform.position + transform.right * speed * verticalMov * Time.deltaTime);

E agora estou
Nii
Nii
Iniciante
Iniciante

Masculino PONTOS : 726
REPUTAÇÃO : 3
Respeito as regras : Problemas com a colisão do unity WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: Problemas com a colisão do unity

Mensagem por Shiimo Ter Jul 06, 2021 2:22 pm

Como eu poderia modificar o meu código a seguir para que o mesmo problema de atravessar os colliders possa ser resolvido?

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

public class player : MonoBehaviour {

private bool isMoving;
private Vector3 origPos, targetPos;
private float timeToMove = 0.2f;

  void Start () {
     
  }

  void Update ()
  {
      if (Input.GetKey(KeyCode.W) && !isMoving)
   StartCoroutine(MovePlayer(Vector3.up));

  if (Input.GetKey(KeyCode.A) && !isMoving)
   StartCoroutine(MovePlayer(Vector3.left));

  if (Input.GetKey(KeyCode.S) && !isMoving)
   StartCoroutine(MovePlayer(Vector3.down));

  if (Input.GetKey(KeyCode.D) && !isMoving)
   StartCoroutine(MovePlayer(Vector3.right));

  }
  private IEnumerator MovePlayer(Vector3 direction)
  {
isMoving = true;

float elapsedTime = 0;

origPos = transform.position;
targetPos = origPos + direction;

while(elapsedTime < timeToMove)
{
   transform.position = Vector3.Lerp(origPos,targetPos, (elapsedTime / timeToMove));
   elapsedTime += Time.deltaTime;
   yield return null;
}
transform.position = targetPos;

isMoving = false;
}

}

Shiimo
Iniciante
Iniciante

PONTOS : 712
REPUTAÇÃO : 2
Respeito as regras : Problemas com a colisão do unity WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: Problemas com a colisão do unity

Mensagem por Nii Ter Jul 06, 2021 5:31 pm

Shiimo escreveu:Como eu poderia modificar o meu código a seguir para que o mesmo problema de atravessar os colliders possa ser resolvido?

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

public class player : MonoBehaviour {

private bool isMoving;
private Vector3 origPos, targetPos;
private float timeToMove = 0.2f;

   void Start () {
      
   }

   void Update ()
   {
      if (Input.GetKey(KeyCode.W) && !isMoving)
 StartCoroutine(MovePlayer(Vector3.up));

   if (Input.GetKey(KeyCode.A) && !isMoving)
 StartCoroutine(MovePlayer(Vector3.left));

   if (Input.GetKey(KeyCode.S) && !isMoving)
 StartCoroutine(MovePlayer(Vector3.down));

   if (Input.GetKey(KeyCode.D) && !isMoving)
 StartCoroutine(MovePlayer(Vector3.right));

   }
   private IEnumerator MovePlayer(Vector3 direction)
   {
isMoving = true;

float elapsedTime = 0;

origPos = transform.position;
targetPos = origPos + direction;

while(elapsedTime < timeToMove)
{
 transform.position = Vector3.Lerp(origPos,targetPos, (elapsedTime / timeToMove));
 elapsedTime += Time.deltaTime;
 yield return null;
}
transform.position = targetPos;

isMoving = false;
}

}
No lugar do:

Código:
if (Input.GetKey(KeyCode.W) && !isMoving)
 StartCoroutine(MovePlayer(Vector3.up));

   if (Input.GetKey(KeyCode.A) && !isMoving)
 StartCoroutine(MovePlayer(Vector3.left));

   if (Input.GetKey(KeyCode.S) && !isMoving)
 StartCoroutine(MovePlayer(Vector3.down));

   if (Input.GetKey(KeyCode.D) && !isMoving)
 StartCoroutine(MovePlayer(Vector3.right));

   }


coloque esse:
Código:
float MovX = Input.GetAxis("Horizontal");
float MovY = Input.GetAxis("Vertical");
transform.position += new Vector3(MovX, MovY, 0) * speed * Time.deltaTime;
Nii
Nii
Iniciante
Iniciante

Masculino PONTOS : 726
REPUTAÇÃO : 3
Respeito as regras : Problemas com a colisão do unity WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: Problemas com a colisão do unity

Mensagem por Nii Ter Jul 06, 2021 5:32 pm

Código:
float MovX = Input.GetAxis("Horizontal");
float MovY = Input.GetAxis("Vertical");
transform.position += new Vector3(MovX, MovY, 0) * speed * Time.deltaTime;
Nii
Nii
Iniciante
Iniciante

Masculino PONTOS : 726
REPUTAÇÃO : 3
Respeito as regras : Problemas com a colisão do unity WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: Problemas com a colisão do unity

Mensagem por Fagner Ter Jul 06, 2021 7:51 pm

Nii escreveu:Muuuuito obrigado!!! Fiquei quebrando a cabeça para corrigir esse problema e finalmente consegui. Eu não usei o addforce, mas , por causa da sua resposta de usar o ridibody para movimentar, eu decidi procurar se tem outra forma de movimentar pelo rigidbody e achei o MovePosition.

Para resolver o problema no lugar do
Código:
transform.position += new Vector3(MovX, MovY, 0) * speed * Time.deltaTime;

Eu coloquei
Código:
rb2d.MovePosition(transform.position + transform.right * speed * verticalMov * Time.deltaTime);

E agora estou
Que bom que deu tudo certo, só uma dica, quando quiser colar um código, utilize o atalho Ctrl+Shift+V, assim você cola o texto sem formatação e não fica essas tags de tamanho e outras coisas que dão erro se jogar direto na Unity, funciona no chrome pelo menos.
Fagner
Fagner
Moderador

Masculino PONTOS : 3905
REPUTAÇÃO : 665
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras : Problemas com a colisão do unity Aad8pUi

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos