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 Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
[RESOLVIDO]Checar Objeto mais proximo da colisão
Desenvolvendo um possível novo tema para o fórum - Opiniões
Formação de equipe
[ERRO UNITY] Unity 2017
Wheel Collider
[Duvida]3dwarehouse posso usar seus modelos e vender meu jogo ?
Novo tema fórum - Votação
Unity editor lento, mas game final não
Como usar o Getfloat no audio mixer?
[DUVIDA] Textura dentro do objeto com editor gráfico da unity
Blender p/ Unity - Objetos c/ 90º
[AJUDA]Como ativar/desativar todos os GameObjects de uma array
Asset MS Vehicle System
Dúvida NavMesh com UI
[TUTORIAL] UNITY 5 - Efeito submerso (underwater effect), distorção da água e gotas na tela
Novo jogo em desenvolvimento para android
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Ajuda com script para enviar valores a uma list<> e depois seta-los de uma vez
Textura - Envelopamento de Cubos e outras Formas
colisão na particle
Quero fazer um jogo de terror estilo slender multiplayer
(Ajuda) PlayerPrefs
Salvar estado de bool com PlayerPrefsX.
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[Projeto] Line Battle
[TUTORIAL] Como criar um HUD MULTIPLAYER personalizavel
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Bug Animation
avaliem esse trabalho no scupt mode
[TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
Wheel joint 2d e problema com limite de velocidade
[RESOLVIDO]Text não recebe texto do inpult Field
Como criar uma conexão externa usando IP do host
[RESOLVIDO] Componente Button em um sprite.
Seleção de botão
GRAFICOS UNITY
Adaptação a Área de Desenvolvimento de Jogos
PRECISO DE UM ANIMADOR
[RESOLVIDO] Qual o Aspect Ratio do celular.
pack de animações
Como faço para o personagem entrar e sair do carro?
[DÚVIDA]Como sincronizar os kills e mortes com Unet
[RESOLVIDO]Licença 3d Warehouse
como criar um slime? como fazer para uma mesh ficar mole e colidir com o chao(tipo slime)?
[DÚVIDA]É possível instalar o Unity no Ubuntu e ser ativado sem internet?
[DÚVIDA]Materiais da Unity para objetos do Blender
[AJUDA]Quero Ajuda poque esse script so da erro!
[DÚVIDA]Tempo de espera fora do app
[RESOLVIDO]Script com um pequeno defeito
[RESOLVIDO]Erro com monodevelop
[RESOLVIDO]Como fazer o audio se sobrepor?
aVork - Física realista para veículos
Dúvida com void OnTriggerEnter
[DÚVIDA]Atributos Network UNET
[RESOLVIDO] erro no unity 2017 ao colocar scripts
[DÚVIDA]Problema com Multiplayer UNET
NOVO ANDROID STUDIO COM PROBLEMA NO SDK
Suzuki Srad 750
[RESOLVIDO]Tem Como eu Fazer uma Float com 2 Numeros após a virgula ?
[RESOLVIDO] Cálculo simples dando errado
Build Para IOS
[DEVLOG] Projeto - Pocket Girl Blade - Atualização
Movimentação no Espaço como Jet Pack
Como selecionar um único filho de um Gameobject?
Numero de itens iguais em uma lista
[RESOLVIDO]Alguém tem alguma dica sobre NavMeshAgent
Problemas com o Unity
[RESOLVIDO]Receber o nome do próprio objeto em uma string
Weslley GameDev
[DÚVIDA]Ajuda para como fazer esse script voltar a funcionar
[Duvida] Collab Excedeu o Seu Limite : Como posso transferir o projeto entre a equipe?
[DUVIDA] Sistema de diario/Livro de notas
[DÚVIDA](Multiplayer) Comando para non-Player object
é Possivel visualizar uma Variavel Estatica no Inspector ?
Physics2D para Physics?
Erro com lista
Como melhorar o desempenho mobile?
[DÚVIDA]Receber e setar texto em um objeto
[DÙVIDA]Problema ao criar build Android
[DÚVIDA]Como fazer um lerp de um determinado valor de maneira gradativa
[DÚVIDA]MULTIPLAYER Unet: Como sincronizar Variaveis(bool)
Banco de Dados Cotação
[RESOLVIDO] O fórum é só para Unity?
[RESOLVIDO] Button perdendo a instancia
[RESOLVIDO]UNITY NAO REPRODUZ AUDIO, problema do pc ou da unity?
Atualização do meu jogo estilo Resident Evil 4 + link do APK
Reproduzir vídeos do youtube
Necessito de sua ajuda para uma ideia...
(ARQUIVO) Leia aqui como obter sucesso com seu jogo independente?
Duvida com script !
Criar LAN via bluetooth
[RESOLVIDO]Estou Usando FindGameObjectWithTag Porem....
[TUTORIAL] Mover/Empurrar Objetos, Caixote,etc
Script de Movimentação não funciona
[RESOLVIDO] SDK NÃO FUNCIONA NO WINDOWS 10
Novo jogo - Stackx
Simular tecla com um botao ou touch
Botoes da unity no android e destruir um objeto em qualquer lugar da cena com touch
Hoje à(s) 9:57 pm
Hoje à(s) 9:53 pm
Hoje à(s) 9:19 pm
Hoje à(s) 7:14 pm
Hoje à(s) 6:52 pm
Hoje à(s) 6:13 pm
Hoje à(s) 5:49 pm
Hoje à(s) 5:11 pm
Hoje à(s) 5:07 pm
Hoje à(s) 4:59 pm
Hoje à(s) 4:38 pm
Hoje à(s) 4:36 pm
Hoje à(s) 4:30 pm
Hoje à(s) 4:30 pm
Hoje à(s) 4:27 pm
Hoje à(s) 4:04 pm
Hoje à(s) 3:50 pm
Hoje à(s) 3:40 pm
Hoje à(s) 3:32 pm
Hoje à(s) 3:09 pm
Hoje à(s) 3:07 pm
Hoje à(s) 1:58 pm
Hoje à(s) 12:19 pm
Hoje à(s) 11:46 am
Hoje à(s) 11:45 am
Hoje à(s) 10:10 am
Hoje à(s) 9:04 am
Hoje à(s) 8:52 am
Hoje à(s) 7:59 am
Hoje à(s) 7:50 am
Hoje à(s) 12:23 am
Ontem à(s) 10:35 pm
Ontem à(s) 9:22 pm
Ontem à(s) 7:55 pm
Ontem à(s) 7:51 pm
Ontem à(s) 7:31 pm
Ontem à(s) 6:22 pm
Ontem à(s) 2:03 pm
Ontem à(s) 1:13 pm
Ontem à(s) 12:31 pm
Ontem à(s) 9:12 am
Sab Jan 20, 2018 11:57 pm
Sab Jan 20, 2018 10:12 pm
Sab Jan 20, 2018 9:54 pm
Sab Jan 20, 2018 9:36 pm
Sab Jan 20, 2018 9:23 pm
Sab Jan 20, 2018 9:02 pm
Sab Jan 20, 2018 8:46 pm
Sab Jan 20, 2018 8:30 pm
Sab Jan 20, 2018 8:26 pm
Sab Jan 20, 2018 8:23 pm
Sab Jan 20, 2018 8:20 pm
Sab Jan 20, 2018 8:11 pm
Sab Jan 20, 2018 8:05 pm
Sab Jan 20, 2018 4:21 pm
Sab Jan 20, 2018 2:05 am
Sab Jan 20, 2018 1:34 am
Sex Jan 19, 2018 9:06 pm
Sex Jan 19, 2018 3:10 pm
Sex Jan 19, 2018 1:05 pm
Sex Jan 19, 2018 11:52 am
Sex Jan 19, 2018 10:17 am
Sex Jan 19, 2018 10:13 am
Sex Jan 19, 2018 1:11 am
Qui Jan 18, 2018 9:46 pm
Qui Jan 18, 2018 8:10 pm
Qui Jan 18, 2018 8:00 pm
Qui Jan 18, 2018 7:42 pm
Qui Jan 18, 2018 7:13 pm
Qui Jan 18, 2018 7:09 pm
Qui Jan 18, 2018 5:09 pm
Qui Jan 18, 2018 4:53 pm
Qui Jan 18, 2018 4:10 pm
Qui Jan 18, 2018 4:10 pm
Qui Jan 18, 2018 4:05 pm
Qui Jan 18, 2018 4:03 pm
Qui Jan 18, 2018 3:46 pm
Qui Jan 18, 2018 3:04 pm
Qui Jan 18, 2018 1:28 pm
Qui Jan 18, 2018 1:09 pm
Qui Jan 18, 2018 12:36 pm
Qui Jan 18, 2018 12:23 pm
Qui Jan 18, 2018 8:23 am
Qui Jan 18, 2018 8:11 am
Qui Jan 18, 2018 2:17 am
Qui Jan 18, 2018 2:14 am
Qua Jan 17, 2018 8:35 pm
Qua Jan 17, 2018 6:41 pm
Qua Jan 17, 2018 4:25 pm
Qua Jan 17, 2018 4:08 pm
Qua Jan 17, 2018 3:30 pm
Qua Jan 17, 2018 3:03 pm
Qua Jan 17, 2018 1:00 pm
Qua Jan 17, 2018 1:00 pm
Qua Jan 17, 2018 12:22 pm
Qua Jan 17, 2018 11:31 am
Qua Jan 17, 2018 10:40 am
Qua Jan 17, 2018 8:46 am
Ter Jan 16, 2018 11:17 pm
Zack2
DuViDoSo
victorgx22
PatifeCraft
Zack2
Xxxteem0xxX
M4theuz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
BRGC
MarcosSchultz
acasoboss
Phph09
luiz12345
azool
Phph09
Phph09
felipehobs1
Ghosthy
dstaroski
dstaroski
BRGC
Phph09
M4theuz
TioUV
TioUV
mayke1040
Álefe Kauvyhtz
recagonlei
recagonlei
recagonlei
Mosqueiro
Before Dawn
Raphaels
Junim
recagonlei
dstaroski
mafersa
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
MarcosSchultz
Água Sem Hidrogênio
recagonlei
recagonlei
recagonlei
marco.flautista
MRX
recagonlei
recagonlei
natanael.olimpio
dstaroski
MarcosSchultz
felipehobs1
recagonlei
recagonlei
dstaroski
recagonlei
DuViDoSo
MarcosSchultz
MarcosSchultz
Gwiisk
recagonlei
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MRX
YmKx
recagonlei
recagonlei
Phph09
John Rambo
recagonlei
recagonlei
thiagotmi
natanael.olimpio
cody0033
cody0033
jasondavin
Água Sem Hidrogênio
recagonlei
dstaroski
Água Sem Hidrogênio
recagonlei
googolepton
Phph09
fabriciorsz34

Duvida sobre script

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

DÚVIDA Duvida sobre script

Mensagem por arnaldojunior em Qua Ago 16, 2017 8:37 am

Olá estava criando uma cena onde duas esferas, uma azul e uma vermelha, ficariam se chocando e se afastando. Para que elas fossem em direção uma a outra eu usei este código:
Código:



using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.AI;





public class CombateBlue : MonoBehaviour {



    private GameObject sphereRed;

    private NavMeshAgent navMesh;





    // Use this for initialization

    void start () {



        sphereRed = GameObject.FindWithTag("SphereRed");

        navMesh = GetComponent<NavMeshAgent> ();

    

    }

    

    // Update is called once per frame

    void Update () {



        navMesh.destination = sphereRed.transform.position;        

    }

}




Entretanto quando eu inicio a cena ambas as esferas ficam paradas e o console retorna a mensagem:

NullReferenceException: Object reference not set to an instance of an object
CombateBlue.Update () (at Assets/Scripts/CombateBlue.cs:26)

Para que elas se afastem vou usar objetos vazios como spots e um trigger em cada esfera de forma a testar se a colisão foi com a sua rival e em caso positivo elas iriam para um desses spots. Também vou usar um contador para definir qual spot elas irão.

Mas a questão é: Por que estou tendo este retorno no console? Ambas estão com as tags certas.

arnaldojunior
Membro
Membro

PONTOS : 549
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por dstaroski em Qua Ago 16, 2017 9:06 am

Bom dia cara! Faça as seguintes alterações no seu script:
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[RequireComponent(typeof(UnityEngine.AI.NavMeshAgent))]

public class Teste : MonoBehaviour {
   private GameObject SphereRed;
   private UnityEngine.AI.NavMeshAgent navMesh;

   // Use this for initialization
   void Start () {
      SphereRed = GameObject.FindGameObjectWithTag ("SphereRed");
      navMesh = GetComponent<UnityEngine.AI.NavMeshAgent> ();
   }
   
   // Update is called once per frame
   void Update () {
      navMesh.destination = SphereRed.transform.position;
   }
}
e não esqueça de gerar o bake para o navmesh, se não não funciona, vá em Window>Navigation>Bake>Bake ele irá gerar uma mapa em azul, na qual indica por onde o objeto se move.

Abraço!
avatar
dstaroski
Instrutor

Masculino PONTOS : 2581
REPUTAÇÃO : 631
Idade : 28
Áreas de atuação : Téc. Hardware e Redes, Programação C#, Daz3D and Gimp

Respeito as regras :

Ver perfil do usuário https://www.daz3d.com/gallery/users/1575361

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por arnaldojunior em Qua Ago 16, 2017 9:31 am

Obrigado. Só adicionei o UnityEngine.AI.   e  [RequireComponent(typeof(UnityEngine.AI.NavMeshAgent))]

Agora entendi ele não estava conseguindo "instanciar" o navmeshagent.

arnaldojunior
Membro
Membro

PONTOS : 549
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por dstaroski em Qua Ago 16, 2017 9:33 am

arnaldojunior escreveu:Obrigado. Só adicionei o UnityEngine.AI.   e  [RequireComponent(typeof(UnityEngine.AI.NavMeshAgent))]

Agora entendi ele não estava conseguindo "instanciar" o navmeshagent.
blz, funcionou então?
avatar
dstaroski
Instrutor

Masculino PONTOS : 2581
REPUTAÇÃO : 631
Idade : 28
Áreas de atuação : Téc. Hardware e Redes, Programação C#, Daz3D and Gimp

Respeito as regras :

Ver perfil do usuário https://www.daz3d.com/gallery/users/1575361

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por arnaldojunior em Qua Ago 16, 2017 11:19 am

Esta funcionando. Agora estou procurando um script para usar no OnTriggerEnter.
Ainda não sei como direcionar as esferas para os waypoints. A principio estou comparando tags, mas direciona-las... Estava pensando em usar o navmesh. Estou tentando lembrar como crio uma lista de array.

arnaldojunior
Membro
Membro

PONTOS : 549
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por arnaldojunior em Qua Ago 16, 2017 12:04 pm

Desculpem os constantes questionamentos, mas como estou iniciando na área ainda tenho duvidas por demais.
Agora estou com problemas na hora de testar a colisão e minhas esferas irem em direção aos spots.
Código:



using System.Collections;

using System.Collections.Generic;

using UnityEngine;

[RequireComponent(typeof(UnityEngine.AI.NavMeshAgent))]



public class CombateBlue : MonoBehaviour {

    private GameObject SphereRed;

    private UnityEngine.AI.NavMeshAgent navMesh;

    public Transform [] spot;

    private int x;



       // Use this for initialization

     void Start () {

        

        //Localiza o alvo, seleciona-o para a variavel e instancia o navmeshagent

              SphereRed = GameObject.FindGameObjectWithTag ("SphereRed");

              navMesh = GetComponent<UnityEngine.AI.NavMeshAgent> ();

           }

       

       // Update is called once per frame

     void Update () {

        //diz ao navmeshagent para onde ir

        navMesh.destination = SphereRed.transform.position;

        x = 0;

           }

    void OnTriggerEnter (Collider other){

        if (gameObject.CompareTag ("SphereRed") && (x < spot.Length)) {            

            Vector3 alvo = spot[x].transform.position;

            transform.position = Vector3.MoveTowards(transform.position,alvo,50);

            x++;

            if (x >= spot.Length) {

                x = 0;

            }

        } 



    }



}    
Sabem onde estou errando?

arnaldojunior
Membro
Membro

PONTOS : 549
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por dstaroski em Qua Ago 16, 2017 5:31 pm

Boa tarde cara! dá uma olhada na busca do fórum sobre waypoints, achei esse aqui que acho que pode te ajudar, http://www.schultzgames.com/t2957-resolvido-pegar-objetos-filhos-e-adicionar-em-uma-lista-ou-array-para-usalos-como-waypoints?highlight=waypoints

Abraço!
avatar
dstaroski
Instrutor

Masculino PONTOS : 2581
REPUTAÇÃO : 631
Idade : 28
Áreas de atuação : Téc. Hardware e Redes, Programação C#, Daz3D and Gimp

Respeito as regras :

Ver perfil do usuário https://www.daz3d.com/gallery/users/1575361

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por arnaldojunior em Qui Ago 17, 2017 1:47 pm

Eu vi o tópico que me indicou, mas percebi que meu erro era de lógica. Modifiquei meu script, mas agora meu problema é com o "trigger". Através do Debug percebi que o trigger não recebe um valor verdadeiro e não sei o motivo.
Código:



public class CombateBlue : MonoBehaviour {

    private GameObject SphereRed;

    private UnityEngine.AI.NavMeshAgent navMesh;

    public Transform [] spot;

    private int x;

    private bool sphere;



       // Use this for initialization

     void Start () {

        

        //Localiza o alvo, seleciona-o para a variavel e instancia o navmeshagent

              SphereRed = GameObject.FindGameObjectWithTag ("SphereRed");

              navMesh = GetComponent<UnityEngine.AI.NavMeshAgent> ();

        x = 0;

        sphere = false;

           }

    void OnTriggerEnter(Collider outro){

        

        //verifica se colidiu com a outra esfera e define o valor da boleana

        if (outro.gameObject.CompareTag ("SphereRed") && (x < spot.Length)) {



            sphere = true;



        } else {

            sphere = false;

        }    

    }

       

       // Update is called once per frame

     void Update () {

        //Se a Boleana for verdadeira a esfera vai para os spots

        if (sphere == true) {



            Vector3 alvo = spot[x].transform.position;

            transform.position = Vector3.MoveTowards(transform.position,alvo,50);

            x++;

            //Zera o x caso antes que ele ultrapasse o array

            if (x >= spot.Length) {

                x = 0;

            }

            

        } else {

            

            //diz ao navmeshagent para onde ir

            navMesh.destination = SphereRed.transform.position;

        }



    }



}    

Poderiam me dizer o que esta errado?

arnaldojunior
Membro
Membro

PONTOS : 549
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por dstaroski em Qui Ago 17, 2017 2:06 pm

Já tentou usar o tag ao invés de CompareTag?

Abraço!
avatar
dstaroski
Instrutor

Masculino PONTOS : 2581
REPUTAÇÃO : 631
Idade : 28
Áreas de atuação : Téc. Hardware e Redes, Programação C#, Daz3D and Gimp

Respeito as regras :

Ver perfil do usuário https://www.daz3d.com/gallery/users/1575361

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por arnaldojunior em Qui Ago 17, 2017 2:44 pm

Acabei de tentar e retorna a mensagem: Membro não invocável...não pode ser usado como método.

arnaldojunior
Membro
Membro

PONTOS : 549
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por dstaroski em Qui Ago 17, 2017 3:00 pm

Cara, o script que vc colou está sem o cabeçalho com as Bibliotecas da Unity, testei aqui e funcionou perfeitamente, lembrando que tem que por true no Sphere para ele ir pro spot, se não ele vai para o SphereRed, funciona direitinho.

Abraço!
avatar
dstaroski
Instrutor

Masculino PONTOS : 2581
REPUTAÇÃO : 631
Idade : 28
Áreas de atuação : Téc. Hardware e Redes, Programação C#, Daz3D and Gimp

Respeito as regras :

Ver perfil do usuário https://www.daz3d.com/gallery/users/1575361

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por arnaldojunior em Qui Ago 17, 2017 3:11 pm

Código:



using System.Collections;

using System.Collections.Generic;

using UnityEngine;

[RequireComponent(typeof(UnityEngine.AI.NavMeshAgent))]



public class CombateBlue : MonoBehaviour {

    private GameObject SphereRed;

    private UnityEngine.AI.NavMeshAgent navMesh;

    public Transform [] spot;

    private int x;

    private bool sphere;



       // Use this for initialization

     void Start () {

        

        //Localiza o alvo, seleciona-o para a variavel e instancia o navmeshagent

              SphereRed = GameObject.FindGameObjectWithTag ("SphereRed");

              navMesh = GetComponent<UnityEngine.AI.NavMeshAgent> ();

        x = 0;

        sphere = false;

           }

    void OnTriggerEnter(Collider outro){

        

        //verifica se colidiu com a outra esfera e define o valor da boleana

        if (outro.gameObject.CompareTag ("SphereRed") && (x < spot.Length)) {



            sphere = true;



        } else {

            sphere = false;

        }    

    }

       

       // Update is called once per frame

     void Update () {

        //Se a Boleana for verdadeira a esfera vai para os spots

        if (sphere == true) {



            Vector3 alvo = spot[x].transform.position;

            transform.position = Vector3.MoveTowards(transform.position,alvo,50);

            x++;

            //Zera o x caso antes que ele ultrapasse o array

            if (x >= spot.Length) {

                x = 0;

            }

            

        } else {

            

            //diz ao navmeshagent para onde ir

            navMesh.destination = SphereRed.transform.position;

        }



    }



}


Esse é o script completo.
A cena começa com sphere = false e quando testa a colisão que modifica ou não o estado.

Código:
if (outro.gameObject.tag ("SphereRed") && (x < spot.Length)) {...}
Se eu modifico o teste pra tag da aquele erro que te falei.

arnaldojunior
Membro
Membro

PONTOS : 549
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por dstaroski em Qui Ago 17, 2017 3:22 pm

a parte da tag ta errada, pelo menos sempre uso da seguinte forma: outro.gameObject.tag == "SphereRed" e dai o restante. Tentei aqui mas não consegui fazer a colisão funcionar, o script ficou sem erro, to sem tempo agora, se não conseguir resolver, a hora que eu tiver um tempo tento ver aqui.

Abraço!
avatar
dstaroski
Instrutor

Masculino PONTOS : 2581
REPUTAÇÃO : 631
Idade : 28
Áreas de atuação : Téc. Hardware e Redes, Programação C#, Daz3D and Gimp

Respeito as regras :

Ver perfil do usuário https://www.daz3d.com/gallery/users/1575361

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por arnaldojunior em Qui Ago 17, 2017 3:29 pm

Obrigado, a parte da tag estava errado mesmo, mas meu trigger continua não disparando. estou usando sphere collider e minhas esferas estão com as tags corretas. Não sei o que pode ser.

arnaldojunior
Membro
Membro

PONTOS : 549
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por arnaldojunior em Qui Ago 17, 2017 4:06 pm

Fiz um teste com a booleana começando em verdadeiro e a esfera parou no primeiro spot. pelo visto meu problema é que meu trigger não esta funcionando.

arnaldojunior
Membro
Membro

PONTOS : 549
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por arnaldojunior em Qui Ago 17, 2017 4:26 pm

Hahahahaha, descobri meu erro. Precisa ter um rigidBody para usar colisões.

arnaldojunior
Membro
Membro

PONTOS : 549
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por dstaroski em Sex Ago 18, 2017 9:38 am

arnaldojunior escreveu:Hahahahaha, descobri meu erro. Precisa ter um rigidBody para usar colisões.
blz, e funcionou certinho?

Abraço!
avatar
dstaroski
Instrutor

Masculino PONTOS : 2581
REPUTAÇÃO : 631
Idade : 28
Áreas de atuação : Téc. Hardware e Redes, Programação C#, Daz3D and Gimp

Respeito as regras :

Ver perfil do usuário https://www.daz3d.com/gallery/users/1575361

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por arnaldojunior em Sab Ago 19, 2017 10:06 am

Não esta funcionando muito bem. Eu adicionei uma variável de velocidade e deixei:
Código:



     void Update () {

        //Se a Boleana for verdadeira a esfera vai para os spots

        if (sphere == true) {

            Debug.Log ("Passou");

            Vector3 alvo = spot[x].transform.position;

            transform.position = Vector3.MoveTowards(transform.position,alvo,velocSphere*Time.deltaTime);

            //Zera o x caso ele ultrapasse o array

            if (x >= spot.Length) {

                

                x = 0;

            }

            

        } else {

            

            //diz ao navmeshagent para onde ir

            navMesh.destination = SphereRed.transform.position;

        }



Mas a esfera faz o percurso direto para o segundo spot, após isso ela retorna e vai para o quarto e depois ele apenas acompanha a esfera vermelha sem zerar o contador. Sabem me dizer onde estor errando?

arnaldojunior
Membro
Membro

PONTOS : 549
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por dstaroski em Sab Ago 19, 2017 10:31 am

Bom dia! por gentileza, quando postar seus scripts, poste-os inteiros.

Abraço!
avatar
dstaroski
Instrutor

Masculino PONTOS : 2581
REPUTAÇÃO : 631
Idade : 28
Áreas de atuação : Téc. Hardware e Redes, Programação C#, Daz3D and Gimp

Respeito as regras :

Ver perfil do usuário https://www.daz3d.com/gallery/users/1575361

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por Phph09 em Sab Ago 19, 2017 1:41 pm

Tenta 
If( x  - 1 for maior que spot.length)...
avatar
Phph09
ProgramadorMaster

Masculino PONTOS : 917
REPUTAÇÃO : 119
Idade : 12
Áreas de atuação : Programação em C#(C-Sharp)
Unity
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por arnaldojunior em Sab Ago 19, 2017 7:40 pm

Achei que seria melhor postar só uma parte para não poluir, mas se não tiver problema eu posto inteiro.
Código:



using System.Collections;

using System.Collections.Generic;

using UnityEngine;

[RequireComponent(typeof(UnityEngine.AI.NavMeshAgent))]



public class CombateBlue : MonoBehaviour {

    private GameObject SphereRed;

    private UnityEngine.AI.NavMeshAgent navMesh;

    public Transform [] spot;

    private int x;

    private bool sphere;

    public float velocSphere;



       // Use this for initialization

     void Start () {

        

        //Localiza o alvo, seleciona-o para a variavel e instancia o navmeshagent

              SphereRed = GameObject.FindGameObjectWithTag ("SphereRed");

              navMesh = GetComponent<UnityEngine.AI.NavMeshAgent> ();

        x = 0;

        sphere = false;

           }

    void OnTriggerEnter(Collider outro){

        

        //verifica se colidiu com a outra esfera e define o valor da boleana

        if (outro.gameObject.tag == "SphereRed" ) {

            Debug.Log("colidiram");



            sphere = true;

            x++;



        } else {

            Debug.Log ("Não era");

            sphere = false;

        }    

    }

       

       // Update is called once per frame

     void Update () {

        //Se a Boleana for verdadeira a esfera vai para os spots

        if (sphere == true) {

            Debug.Log ("Passou");

            Vector3 alvo = spot[x].transform.position;

            transform.position = Vector3.MoveTowards(transform.position,alvo,velocSphere*Time.deltaTime);

            //Zera o x caso ele ultrapasse o array

            if (x >= spot.Length) {

                

                x = 0;

            }

            

        } else {

            

            //diz ao navmeshagent para onde ir

            navMesh.destination = SphereRed.transform.position;

        }



    }



}

arnaldojunior
Membro
Membro

PONTOS : 549
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por arnaldojunior em Qua Ago 23, 2017 11:14 pm

Olá eu sou o Goku... pera, não errei.
Olá pessoal, eu analisei o código exaustivamente (fiquei quase 15 minutos sem tomar café) e descobri o erro na questão de zerar o contador para não ocorrer estouro, mas ainda não descobri o por quê de o incremento em "x" não seguir um padrão.
Código:



using System.Collections;

using System.Collections.Generic;

using UnityEngine;

[RequireComponent(typeof(UnityEngine.AI.NavMeshAgent))]



public class CombateBlue : MonoBehaviour {

    private GameObject SphereRed;

    private UnityEngine.AI.NavMeshAgent navMesh;

    public Transform [] spot;

    private int x;

    private bool sphere;

    public float velocSphere;



       // Use this for initialization

     void Start () {

        

        //Localiza o alvo, seleciona-o para a variavel e instancia o navmeshagent

        SphereRed = GameObject.FindGameObjectWithTag ("SphereRed");

        navMesh = GetComponent<UnityEngine.AI.NavMeshAgent> ();

        sphere = false;

        x = 0;

           }

    void OnTriggerEnter(Collider outro){

        

        //verifica se colidiu com a outra esfera e define o valor da boleana

        if (outro.gameObject.tag == "SphereRed" ) {

            Debug.Log("colidiram");

            sphere = true;            

            //Zera o x caso ele ultrapasse o array

            if (x >= 5) {

                Debug.Log ("Passou");

                x = 0;

            }



        } else {            

            sphere = false;

            Debug.Log ("Não era");

            x++;

        }    

    }

       

       // Update is called once per frame

     void Update () {

        //Se a Boleana for verdadeira a esfera vai para os spots

        if (sphere == false){

            

            //Diz ao navmeshagent para onde ir

            navMesh.destination = SphereRed.transform.position;            



        } else {            



            Vector3 alvo = spot[x].transform.position;

            transform.position = Vector3.MoveTowards(transform.position,alvo,velocSphere*Time.deltaTime);



        }



    }



}    
Como podem ver eu alterei o local onde fazia o teste na variável, ao invés de faze-lo no update e detonar a memoria eu o fiz no trigger. Assim o sistema tem muito mais tempo para processa-lo.
Resolvido este problema volto a pedir ajuda sobre o fato do incremento despadronizado.

arnaldojunior
Membro
Membro

PONTOS : 549
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por MarcosSchultz em Qui Ago 24, 2017 8:13 pm

Em que sentido o incremento deveria ser padronizado?
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 10065
REPUTAÇÃO : 1750
Idade : 21
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por arnaldojunior em Sex Ago 25, 2017 12:22 am

Meu contador x deveria incrementar uma unidade por vez, assim ele seguiria o padrão que defini para o índice, mas toda vez que o trigger é acionado ele adiciona dois, três, um... sabe não descobri um padrão nessa soma estranha. 

Detalhe: Onde eu defino um destino para as esferas eu alterei a ordem dos comentários mas não alterei a ordem dos comandos.

arnaldojunior
Membro
Membro

PONTOS : 549
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por arnaldojunior em Seg Ago 28, 2017 11:32 am

Fiz estas alterações no script, e apesar de o meu contador ter melhorado, ainda tenho problemas: As esferas se chocam perfeitamente num primeiro momento, mas depois elas ficam girando sem se encostarem, o contador não zera.
Código:



using System.Collections;

using System.Collections.Generic;

using UnityEngine;

[RequireComponent(typeof(UnityEngine.AI.NavMeshAgent))]



public class CombateBlue : MonoBehaviour {

    private GameObject SphereRed;

    private UnityEngine.AI.NavMeshAgent navMesh;

    public Transform [] spot;

    private int x;

    private int spotatual;

    private bool sphere;

    public float velocSphere;



       // Use this for initialization

     void Start () {

        

        //Localiza o alvo, seleciona-o para a variavel e instancia o navmeshagent

        SphereRed = GameObject.FindGameObjectWithTag ("SphereRed");

        navMesh = GetComponent<UnityEngine.AI.NavMeshAgent> ();

        sphere = false;

        x = 0;

        spotatual = 0;

           }



    void OnTriggerEnter(Collider outro){

        

        //verifica se colidiu com a outra esfera e define o valor da boleana

        if (outro.gameObject.tag == "SphereRed" ) {

            Debug.Log("colidiram");

            sphere = true;            

            //Zera o x caso ele ultrapasse o array

            if (x >= 5) {

                Debug.Log ("Passou");

                x = 0;

                spotatual = 0;

            }



        } else {            

            sphere = false;

            Debug.Log ("Não era");

            spotatual++;

        }    

    }

       

       // Update is called once per frame

     void Update () {

        //Se a Boleana for verdadeira a esfera vai para os spots

        if (sphere == false){

            

            //Diz ao navmeshagent para onde ir

            navMesh.destination = SphereRed.transform.position;

            x = spotatual;



        } else {            



            Vector3 alvo = spot[x].transform.position;

            transform.position = Vector3.MoveTowards(transform.position,alvo,velocSphere*Time.deltaTime);



        }



    }



}    

Como podem ver eu só adicionei uma variável de spot atual.

arnaldojunior
Membro
Membro

PONTOS : 549
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por MarcosSchultz em Qui Ago 31, 2017 5:15 pm

Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
[RequireComponent(typeof(NavMeshAgent))]
public class CombateBlue : MonoBehaviour {

   public Transform [] spot;

   GameObject SphereRed;
   NavMeshAgent navMesh;
   int x, spotatual;
   bool sphere;

   void Start () {
      SphereRed = GameObject.FindGameObjectWithTag ("SphereRed");
      navMesh = GetComponent<NavMeshAgent> ();
      sphere = false;
      x = spotatual = 0;
   }
      
   void OnTriggerEnter(Collider outro){
      if (outro.gameObject.tag == "SphereRed") {
         if (sphere == false) {
            Debug.Log ("colidiram");
            sphere = true;           
            if (x >= 5) {
               Debug.Log ("Passou");
               x = 0;
               spotatual = 0;
            }
         }
      } else {           
         sphere = false;
         Debug.Log ("Não era");
         spotatual++;
      } 
   }
   void Update () {
      if (sphere == false){
         navMesh.destination = SphereRed.transform.position;
         x = spotatual;
      } else {           
         Vector3 alvo = spot[x].transform.position;
         navMesh.destination = alvo;
      }
   }
}


Seria interessante você passar uma demo do projeto para que possamos entender como está montada a cena
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 10065
REPUTAÇÃO : 1750
Idade : 21
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por arnaldojunior em Dom Set 03, 2017 10:03 am

Olá como eu disse antes sou um novato em criação de jogos, agradeceria se me explicassem como gerar um demo.
Agradeço pela ajuda que me estão prestando.

arnaldojunior
Membro
Membro

PONTOS : 549
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Duvida sobre script

Mensagem por dstaroski em Dom Set 03, 2017 10:34 am

arnaldojunior escreveu:Olá como eu disse antes sou um novato em criação de jogos, agradeceria se me explicassem como gerar um demo.
Agradeço pela ajuda que me estão prestando.
Bom dia! você quer então fazer uma compilação do game, para tal, vá em Project>Build Settings em Scenes in Build, coloque as cenas que quer na versão do seu jogo, selecione a plataforma, creio ser para PC mesmo, no caso se for windows, deixe Windows em "Target Platform", e em "Architecture" deixe "x86_64". Agora clique em Build e escolha um local para salvar o jogo e siga em frente. Mas sugiro pesquisar mais a respeito para aprender a configurar o "Player Settings", para incluir sua logo marca, detalhes do produto e outras configurações, dá uma pesquisada na net.

Abraço!
avatar
dstaroski
Instrutor

Masculino PONTOS : 2581
REPUTAÇÃO : 631
Idade : 28
Áreas de atuação : Téc. Hardware e Redes, Programação C#, Daz3D and Gimp

Respeito as regras :

Ver perfil do usuário https://www.daz3d.com/gallery/users/1575361

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

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