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:
Maximizar view da cam
Tem como fazer o inimigo andar até dar de cara com o player?
Tirar foto e exportar pro jogo
Trocar de cena ao matar inimigo
Mudar qualidade das texturas por código?
[Projeto] Jogo Ambientado no Brasil para Android
Como criar um botãoUI que liga e desliga uma lista de objetos?
Unity - Imagem no formato de um triângulo?
Gráficos estilo Genshin
level system problema
Como calcular distância entre dois pontos
Posicao do objeto diferente do setado no codigo
Sistema de pulo 3D
Procuro programador Unity para jogo 2D
Pessoal saiu a versão de testes do meu novo jogo, o Sanatório Macabro
Cinemachine - trocar de camera usando uma tecla e mouse 'lockScreen'
Sistema completo de nivel com XP + PayTime
Limitar arrays e fazer sortear um valor apenas uma vez
Como faço para variável voltar para o valor inicial
Duvida com getAxis
Fazer um detetive para sair apenas 1 vez o resultado do sorteio
Jogos NTFs
Salvar variável temporária com PlayerPrefs!?
Alguém sabe fazer uma AI para o inimigo seguir o Player em um jogo Top Down
Bug com modelo ficando invisível
Erro em sistema de dialogo...
Terreno Procedural
sistema de estamina,vida,fome e sede
Posição do object diferente do código quando está em tempo real!?
FORMACAO DE EQUIPE
sistema de câmera + movimentação do player
Erro no Photon Pun 2 (InvalidCastException: Specified cast is not valid)
Procuro modelador 3D para futuro Game
A procura de um MODELADOR pra desenvolver jogo pra estudo.
Script do marcos (Como colocar um limite de Spawn)
Multiplayer
Photon 2 outros Players
QR Code + Unity + KinderOvo (Opinião)
Colisão 2d
Câmera Primeira pessoa / Movimentação
Polígonos do modelo são destorcidos ao importar na unity, como resolver?
Ativar luz e objeto sumir
duvida sobre servidor
Como converter um projeto da Unity para o PlayCanvas?
Sistema de inventario
Alguem me ajuda, minha animaçao depois de um tempo congela
COMO TROCAR FORMA DE ATAQUE DO (CLICK DO MOUSE para BOTÃO UI MOBILE)
problemas com rotacao da camera!!
Dúvida com Procedural mesh e Bezier Curves
Sols Like Projeto iniciando!
[TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )
crowdfunding para jogos
Colisão realista?
Sobreposição de mapa de luz, gerar mapa de luz?
Script único para todos os veículos no jogo?
Como procurar um lugar vazio para spawnar monstro
Como eu posso fazer uma cutscene ilustrada com imagens?
Erro com rotacao de objeto
Veiculos Para o Unity!
Objetos de outras cenas
Como alterar a Speed da anim por código?
Verificar espaco se ocupado ou nao e limitar as instancias!!
pegar fiho de objeto instanciado!!!
alterar cor via script
[DÚVIDA] Câmera estilo FNAF
instanciar com rotacao!!
Problema com canvas/panel e objetos
ANIMAL fugir
Seguir ponto por trigger
Novo input system
Procuro programador para Sistema de Pets na Unity
[TUTORIAL] Sistema de tiro com RAYCAST (várias armas, mira laser, munição, dano, etc, etc)
Dúvidas em geral - Como faço para colocar os gráficos estilo jogos antigos?
Movimentação PointerDown e PointerUp em peças spawn com botões UI
points linerenderer
Problemas em dividir controles em multiplayer
Jogador salvar controle
[TUTORIAL] State Machine mas simples do universo kkkk
Procuro programador para JOGO DE TERROR
Fazer pontuação aparecer momentaneamente e sumir dando erro
Alguém sabe reproduzir esse efeito do video na Unity?
Multiplayer com Unity + NOde
Clique duplo em um botão?
Como criar um objeto só quando colider com outro?
[TUTORIAL] Agachar, correr e sistema de estamina ( C# )
Objetos de outras cenas
O jogo bugou e os sliders e o joystick não estão funcionando, apenas botões
Component Cloth unity
Como reproduzir efeito "respirar" ao parar a camera
[TUTORIAL] Reconhecimento de dinheiro
Informações que ficam salvas para chamar em outras cenas (Idioma, Nick)
Limitar movimento da camera com imput android!!
Como fazer texto do Script entrar no UI
SOU MODELADOR DE MODELOS LOW POLY MEDIUM PRECISANDO E SO CHAMAR
jogo de corrida
[SCRIPT] Ler Texto em .TXT Por Chave
ajuda com sincronização jogo de botão
IA para multiplos inimigos
Como fazer um modo multiplayer em um jogo que está off-line?
Hoje à(s) 7:19 pm
Hoje à(s) 6:42 pm
Hoje à(s) 4:19 pm
Ontem à(s) 9:02 pm
Ontem à(s) 10:17 am
Ontem à(s) 8:21 am
Qui Dez 02, 2021 8:38 pm
Qui Dez 02, 2021 4:39 pm
Qui Dez 02, 2021 12:00 pm
Ter Nov 30, 2021 3:52 pm
Ter Nov 30, 2021 12:14 pm
Seg Nov 29, 2021 5:18 pm
Seg Nov 29, 2021 5:17 pm
Seg Nov 29, 2021 1:17 pm
Dom Nov 28, 2021 11:52 am
Dom Nov 28, 2021 1:30 am
Sab Nov 27, 2021 4:57 am
Sex Nov 26, 2021 5:53 pm
Sex Nov 26, 2021 12:16 pm
Qui Nov 25, 2021 6:15 pm
Qui Nov 25, 2021 3:31 pm
Qua Nov 24, 2021 2:01 am
Ter Nov 23, 2021 5:11 pm
Ter Nov 23, 2021 3:48 pm
Ter Nov 23, 2021 1:12 pm
Ter Nov 23, 2021 12:38 pm
Seg Nov 22, 2021 3:20 pm
Seg Nov 22, 2021 2:29 am
Dom Nov 21, 2021 12:52 pm
Dom Nov 21, 2021 11:02 am
Dom Nov 21, 2021 3:36 am
Sab Nov 20, 2021 10:35 pm
Sex Nov 19, 2021 11:54 pm
Sex Nov 19, 2021 11:51 pm
Sex Nov 19, 2021 11:08 pm
Sex Nov 19, 2021 7:08 pm
Sex Nov 19, 2021 5:23 pm
Sex Nov 19, 2021 12:57 pm
Qui Nov 18, 2021 7:12 pm
Qui Nov 18, 2021 10:37 am
Qui Nov 18, 2021 10:17 am
Seg Nov 15, 2021 11:18 pm
Seg Nov 15, 2021 11:15 pm
Seg Nov 15, 2021 10:13 am
Seg Nov 15, 2021 9:48 am
Qui Nov 11, 2021 8:49 pm
Qui Nov 11, 2021 1:31 pm
Qui Nov 11, 2021 7:31 am
Qua Nov 10, 2021 8:19 pm
Ter Nov 09, 2021 7:05 pm
Ter Nov 09, 2021 5:05 pm
Ter Nov 09, 2021 4:11 pm
Ter Nov 09, 2021 1:07 pm
Seg Nov 08, 2021 7:36 pm
Dom Nov 07, 2021 8:44 pm
Sab Nov 06, 2021 10:51 pm
Sex Nov 05, 2021 10:04 pm
Sex Nov 05, 2021 7:50 pm
Sex Nov 05, 2021 3:48 pm
Sex Nov 05, 2021 10:24 am
Sex Nov 05, 2021 2:13 am
Qui Nov 04, 2021 6:48 pm
Qui Nov 04, 2021 6:09 pm
Qui Nov 04, 2021 5:39 pm
Qui Nov 04, 2021 5:00 pm
Qui Nov 04, 2021 3:55 pm
Qui Nov 04, 2021 2:45 pm
Qui Nov 04, 2021 4:56 am
Qua Nov 03, 2021 4:04 pm
Qua Nov 03, 2021 3:54 pm
Qua Nov 03, 2021 11:48 am
Qua Nov 03, 2021 8:18 am
Ter Nov 02, 2021 6:02 pm
Ter Nov 02, 2021 5:42 pm
Ter Nov 02, 2021 10:55 am
Ter Nov 02, 2021 10:44 am
Seg Nov 01, 2021 9:40 pm
Seg Nov 01, 2021 7:32 pm
Seg Nov 01, 2021 1:01 pm
Seg Nov 01, 2021 11:21 am
Dom Out 31, 2021 2:39 pm
Sab Out 30, 2021 3:05 pm
Sab Out 30, 2021 2:43 pm
Sab Out 30, 2021 2:40 pm
Sab Out 30, 2021 11:23 am
Qui Out 28, 2021 12:04 pm
Qua Out 27, 2021 7:49 pm
Qua Out 27, 2021 7:47 pm
Qua Out 27, 2021 3:11 pm
Qua Out 27, 2021 2:51 pm
Ter Out 26, 2021 6:01 pm
Ter Out 26, 2021 5:49 pm
Seg Out 25, 2021 8:53 pm
Seg Out 25, 2021 8:17 pm
Seg Out 25, 2021 7:33 pm
Seg Out 25, 2021 1:57 am
Dom Out 24, 2021 8:10 pm
Dom Out 24, 2021 5:36 pm
Dom Out 24, 2021 12:48 pm
Joana
ryanmorj16
giowde
MayLeone
stratengine
Crash Psycho
verme1311
MayLeone
Gabriel M
Valakinhas
Xavier
JãoArts
JãoArts
joaozinpedrin
Patrick
jeronimo Collares
M4x
EricknhYT
Charlesoff
capim22
EricknhYT
artplayer
M4x
M4x
Charlesoff
NoctisDregon
SgtMatuto
Pkneves
M4x
classicandsimple
Pkneves
EricknhYT
SeTk
SeTk
verme1311
Gamergame
claudiano2020
heyviic
joaozinpedrin
Gamergame
Crash Psycho
Zack2
Zack2
Atho
igorobm
Fzinx
igorobm
capim22
AgrrgA
hellside
Zack2
Zack2
igorobm
NoctisDregon
ProBrStalker
igorobm
brunort1
Zack2
Herovine Hl
Zack2
igorobm
capim22
Zack2
Zack2
Zack2
Zack2
joaozinpedrin
MadCow
eduardonog30
Zack2
Etoeu
junio132sj
Pedro432Joao
HugoTavares
Charlesoff
Charlesoff
Zack2
hendrick22
Cristhofer Marques
eduardonog30
AmazingDeliciano
Vorzoolvan
M4x
FelipeSouza11
Herovine Hl
joaozinpedrin
JulioWinchester
capim22
Zack2
Zack2
TIKO
capim22
EricknhYT
claudiano2020
TIKO
FelipeSouza11
claudiano2020
Zack2
Dom3000

Como fazer o clique não acertar o inimigo atrás de um objeto (hit collider)

3 participantes

Ir para baixo

DÚVIDA Como fazer o clique não acertar o inimigo atrás de um objeto (hit collider)

Mensagem por darkrj Sex Mar 05, 2021 4:12 pm

Estou criando um jogo onde os inimigos saem de uma árvore, mas ao clicar já na árvore eu consigo matar eles antecipadamente e eu não quero isso. O jogo é 2D estilo aqueles jogos antigos onde o inimigo sai em alguma parte da tela e você atira nele simplesmente clicando.
Como fazer o clique não acertar o inimigo atrás de um objeto (hit collider) <a href=Como fazer o clique não acertar o inimigo atrás de um objeto (hit collider) Imagem-jogo

Esta é a parte do código que eu utilizo para atirar no inimigo:
Código:
if (hit.collider.gameObject.CompareTag("Enemy"))
                {
                    hit.collider.GetComponent<Enemies>().DeathState();  //dar dano no inimigo
                    Score.instance.scoreCounter++;
                }

Eu tentei também por uma tag na árvore, mas não adiantou nada. Alguém poderia me ajudar?
darkrj
darkrj
Avançado
Avançado

PONTOS : 1241
REPUTAÇÃO : 15
Respeito as regras : Como fazer o clique não acertar o inimigo atrás de um objeto (hit collider) WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: Como fazer o clique não acertar o inimigo atrás de um objeto (hit collider)

Mensagem por Pokedlg Sex Mar 05, 2021 6:50 pm

Acredito que voce tenha 3 jeitos de resolver este problema, sendo esses, colocando um box collider e ativando o IsTrigger nas arvores e criando um novo script que modifica uma bool pelo script do player, o segundo jeito pode ser criar um temporizador quando o inimigo é instanciado que ao finalizar ativa altera uma bool ou parecido com sua primeira solução, colocando uma tag a arvore e uma instrução if para o raycast.

Exemplos:

1° Jeito

Utilizando o Box Colider:

Adicione um Box Collider as árvores e ative os IsTrigger (lembrando que o IsTrigger só funciona se o colisor ou ele mesmo possuir um rigidbody)

No seu script principal, que possui o código de dar dano ao inimigo, adicione uma nova bool:

Código:
public static bool canDamageEnemy;

E atribua ela ao seu código de raycast:

Código:
if(canDamageEnemy == true)
{
if (hit.collider.gameObject.CompareTag("Enemy"))
                {
                    hit.collider.GetComponent<Enemies>().DeathState();  //dar dano no inimigo
                    Score.instance.scoreCounter++;
                }
}

Depois crie um novo script com qualquer nome (dei o nome de árvore) e coloque a void OnTriggerEnter() e OnTriggerExit():
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Arvore : MonoBehaviour
{
    void OnTriggerEnter(Collider other)
    {
        if(other.tag == "Enemy")
        {
            yourScript.canDamageEnemy = false;
        }
    }

    void OnTriggerExit(Collider other)
    {
        if(other.tag == "Enemy")
        {
            yourScript.canDamageEnemy = true;
        }
    }
}



2° Jeito

Criando um Temporizador:

Bom, eu nao sei como voce instancia o inimigo, mas voce pode fazer que ao instanciar o inimigo chame o temporizador através de uma rotina utilizando uma bool, porém nao estatica que nao pode atacar o inimigo. Eu nao sei como voce fez para instaciar o inimigo então nao precisa copiar como utlizei no exemplo abaixo, apenas veja o temporizador. Exemplo:

Criando o Temporizador:

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

public class YourScript: MonoBehaviour
{
    public float time;
    private float countdown;
    public GameObject enemy;
    private bool canDamageEnemy;
    private bool canInstantiateEnemy = true;
    
    void Start()
    {
        countdown = time;
    }

    void Update()
    {
        InstantiateEnemy();
        RaycastHit2D hit;
        if (canDamageEnemy == true)
        {
            if (hit.collider.gameObject.CompareTag("Enemy"))
            {
                hit.collider.GetComponent<Enemies>().DeathState();  //dar dano no inimigo
                Score.instance.scoreCounter++;
            }
        }
    }
    
    void InstantiateEnemy()
    {
        time -= Time.deltaTime;
        if(time > 0)
        {
            canDamageEnemy = false;
        }
        else if(time <= 0)
        {
            canDamageEnemy = true;
        }


        if(canInstantiateEnemy == true)
        {
            Instantiate(enemy);
            time = countdown;
            canInstantiateEnemy = false;
            StartCoroutine(WaitToInstatiateEnemy());
        }
    }

    IEnumerator WaitToInstatiateEnemy()
    {
        yield return new WaitForSeconds(30);
        canInstantiateEnemy = true;
    }
}

Depois disso no inspector voce pode colocar no time o valor em segundos de quanto demora para o inimigo sair da árvore.

3° Jeito

Adicionando a tag "Arvore" as arvores:

Depois de adicionar a tag as árvores, voce pode colocar uma instrução if na colisão com o raycast através de uma bool, olhe o exemplo:
Código:
private bool canDamageEnemy;

    if (hit.collider.gameObject.CompareTag("Arvore"))
    {
        canDamageEnemy = false;
    }
    else
    {
        canDamageEnemy = true;
    }

    if(canDamageEnemy == true)
    {
        if (hit.collider.gameObject.CompareTag("Enemy"))
            {
                hit.collider.GetComponent<Enemies>().DeathState();  //dar dano no inimigo
                Score.instance.scoreCounter++;
            }
        }


Última edição por Pokedlg em Sex Mar 05, 2021 8:36 pm, editado 1 vez(es)
Pokedlg
Pokedlg
ProgramadorMaster

Masculino PONTOS : 1178
REPUTAÇÃO : 170
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras : Como fazer o clique não acertar o inimigo atrás de um objeto (hit collider) Aad8pUi

Ir para o topo Ir para baixo

DÚVIDA Re: Como fazer o clique não acertar o inimigo atrás de um objeto (hit collider)

Mensagem por SauloeArthur Sex Mar 05, 2021 8:35 pm

@Pokedlg  mas eu acho que do 1 jeito não funcionaria pois apareceu o seguinte erro no console: Assets\Prefabs\teste2.cs(19,20): error CS0122: 'teste1.canDamageEnemy' is inaccessible due to its protection level
creio que para resolver basta apenas deixar a variável estática como publica
SauloeArthur
SauloeArthur
ProgramadorMaster

Masculino PONTOS : 1509
REPUTAÇÃO : 85
Idade : 15
Áreas de atuação : C#, Unity, Html, Css, Javascript, Php, Sql, MariaDB;
Respeito as regras : Como fazer o clique não acertar o inimigo atrás de um objeto (hit collider) Aad8pUi

https://www.saulomgames.com/

Ir para o topo Ir para baixo

DÚVIDA Re: Como fazer o clique não acertar o inimigo atrás de um objeto (hit collider)

Mensagem por Pokedlg Sex Mar 05, 2021 8:37 pm

Muito bem lembrado, obrigado por avisar! Editei. Smile Curti isso vlw
Pokedlg
Pokedlg
ProgramadorMaster

Masculino PONTOS : 1178
REPUTAÇÃO : 170
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras : Como fazer o clique não acertar o inimigo atrás de um objeto (hit collider) Aad8pUi

Ir para o topo Ir para baixo

DÚVIDA Re: Como fazer o clique não acertar o inimigo atrás de um objeto (hit collider)

Mensagem por darkrj Ter Mar 09, 2021 1:22 pm

Eu utilizei o método 1 e 3 e acabou não dando certo. O método 2 não utilizarei pois não é por timer, mas de qualquer forma agradeço pela ajuda. Continuarei tentando aqui outras formas.

PS: O método 3 foi o método que eu tentei antes de fazer o post, o engraçado é que pra mim esse era o que era mais pra funcionar... anyways...
darkrj
darkrj
Avançado
Avançado

PONTOS : 1241
REPUTAÇÃO : 15
Respeito as regras : Como fazer o clique não acertar o inimigo atrás de um objeto (hit collider) WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: Como fazer o clique não acertar o inimigo atrás de um objeto (hit collider)

Mensagem por darkrj Ter Mar 09, 2021 2:35 pm

Atualização: Resolvi meu problema, basicamente eu tava pegando e colocando o colisor do tilemap, nisso eu tinha colocado também o composite collider, isso fazia com que apenas envolta da árvore estivesse com colisor, o fantasma como se escondia no meio dela, não era afetado pelo código. Utilizei o exemplo 3 mesmo e funcionou. Obrigado pela ajuda!
darkrj
darkrj
Avançado
Avançado

PONTOS : 1241
REPUTAÇÃO : 15
Respeito as regras : Como fazer o clique não acertar o inimigo atrás de um objeto (hit collider) WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: Como fazer o clique não acertar o inimigo atrás de um objeto (hit collider)

Mensagem por Pokedlg Ter Mar 09, 2021 3:35 pm

Denada  Smile Curti isso
Pokedlg
Pokedlg
ProgramadorMaster

Masculino PONTOS : 1178
REPUTAÇÃO : 170
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras : Como fazer o clique não acertar o inimigo atrás de um objeto (hit collider) Aad8pUi

Ir para o topo Ir para baixo

Ir para o topo


 
Permissões neste fórum
Você não pode responder aos tópicos