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:
Update APK - Arquivo de expansão [New Google Console]
GLOW com Volume e bloom - Universal Pipeline Render
Como aceder ao conteudo de uma lista noutro script unity
[TUTORIAL] Métodos importantes da Unity
Sistema de câmera - SnakeCam
Como guardar os itens das slots numa lista para ser carregado num botão? Un
[Duvida] Adicionar objetos em uma lista pela Tag
help
Manipulação de arquivos txt no unity para android
Contar variaveis
como parar o tempo
Ajuda com codigo (Visual Studio 17)
[TUTORIAL] Unity 2019 - Lanterna e pilhas, com UI
gerar uma nova variavel??
[Glow] Post Process
[TUTORIAL] AI Points SIMPLES
Sistema de Roleta
Beat 'Em UP com movimentação em todas as direções.
como fazer o braço do personagem seguir a camera
LineRenderer
IEnumerator não funciona
Distancia com o CineMachine
Como eu faço para ativar essa animação
Como faço pra executar a ação apenas 1 vez ?
Online Shooting Android
Equipe de iniciantes em unity
[RESOLVIDO] Restaurar GameObject
Como acessar as funções de pós processamento por script?
Alguém sabe mexer com Shader Graph?
[DUVIDA]Level editor
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
Preciso de ajuda com o baked de um SpotLight
Iluminação (estou com um problema)
Fear in The Modern House - CH2 [Steam]
BomberChan jogo feito em 4 dias
Imagem Gira Junto com a Câmera
Collider invadindo outro!! Player atravessando parede.
Como acessar uma variável de outro script sem saber o objeto?
O Android App Bundle não foi assinado, por favor como resolvo isso ?
Rotacionar em eixo Y, alguém ajuda ?
MEU JOGO NA PLAY STORE!
GetComponent referncia não encontrada
Particula de fogo grátis para download
Problemas com dropdown
Sistema de dano
Onde posso colocar minhas criações no fórum?
Sistema de morte na Unity usando o Photon
JSON Unity
Implementação do arquivo mysql.data.dll na Unity
Criação de um player com atributos para um game online
Com Fazer um Radio na Unity
Executar Animação enquanto pressionar shift
Erros ao enviar apk no Play Console
error CS0619: 'HostData' is obsolete: 'The legacy networking system has bee
[RESOLVIDO] Áudio termina e imagem aparece
Cargo na empresa
Qual é a melhor extensão do vs code para unity?
[RESOLVIDO] Áudio Termina e depois o Objeto da Cena Habilita
Projeto de Parkour
[RESOLVIDO] Entrar no If pelo nome da Scene
Reduzir partículas gradualmente
[TUTORIAL] Criar Analógico Virtual UI Para Mobile.
Imagem não Fica Aonde no local certo
Trocar Personagem/Skin
FlyBird - Um simples clone do Flappy Bird
Inimigo 2d
BLUE BIRD STUDIOS!! EQUIPE DE DESENVOLVIMENTOS DE GAMES
[MOBILE] Block Target
Sistema completo de FPS, (by u/KFriske)
Pode anunciar o fórum em outros sites/fóruns?
Como mover algum objeto apenas ao colidir com outro?
É normal não aparecer o Package Manager?
Rapper Simulator (demo) mobile
como fazer um public gameObject ser preenchido pelo objeto com tag X.
Dúvida sobre classes
Animação em um If
Duvida sobre criar respawn.
[TUTORIAL] Sistema de Inventário com scroll
[Duvida] Relacionada a rotação de um objeto.
Ethan prefab
como fazer sistema de partículas apagar outro sistema de partículas
[____ADERIR A UMA CATEGORIA NO FÓRUM____]
Bug no pulo do personagem
[ERRO] Did you spawn new GameObjects from OnDestroy?
[TUTORIAL] SISTEMA SIMPLES DE CADASTRO DE CLIENTES - C#, VISUAL STUDIO
Minha camera esta girando de maneira brusca
[TUTORIAL] Tirar Print da Tela do Jogo
Sistema de munição para um sistema de particulas
[RESOLVIDO] De me uma luz
Adicionar função ao um botão atraves de um script
gostaria de sabe como posso utiliza o particle
Como resolver o problema de eixo da arma ao executar uma animação?
sistema de carro e viagens na unity
Procuro equipe para criar um Minecraft para treinar!
Proposta de Parceria em Belo Horizonte
[Formação de equipe] Formação de equipe para o ramo de criação de jogos.
muda estado de objeto filho sem interferie nos outros
ERRO: O nome de tipo ou namespace "UI" não existe no namespace "UnityEngine"
Sprite corrompido quando atribuo o material texture transparente
Hoje à(s) 11:30 am
Ontem à(s) 7:47 pm
Ontem à(s) 3:18 pm
Ontem à(s) 1:29 pm
Ter Dez 01, 2020 9:12 pm
Ter Dez 01, 2020 4:22 pm
Ter Dez 01, 2020 10:43 am
Seg Nov 30, 2020 2:01 pm
Seg Nov 30, 2020 1:51 pm
Dom Nov 29, 2020 8:10 pm
Dom Nov 29, 2020 6:24 pm
Dom Nov 29, 2020 6:03 pm
Dom Nov 29, 2020 12:39 pm
Sab Nov 28, 2020 6:45 pm
Sex Nov 27, 2020 2:18 pm
Sex Nov 27, 2020 10:57 am
Sex Nov 27, 2020 7:27 am
Sex Nov 27, 2020 2:02 am
Qui Nov 26, 2020 10:56 am
Qua Nov 25, 2020 11:43 pm
Qua Nov 25, 2020 8:22 pm
Qua Nov 25, 2020 6:27 pm
Qua Nov 25, 2020 4:54 pm
Qua Nov 25, 2020 4:34 pm
Qua Nov 25, 2020 2:48 am
Ter Nov 24, 2020 11:33 pm
Ter Nov 24, 2020 8:12 pm
Ter Nov 24, 2020 7:22 pm
Ter Nov 24, 2020 10:44 am
Ter Nov 24, 2020 9:47 am
Ter Nov 24, 2020 1:05 am
Ter Nov 24, 2020 12:53 am
Seg Nov 23, 2020 7:54 pm
Seg Nov 23, 2020 6:25 pm
Seg Nov 23, 2020 3:33 pm
Seg Nov 23, 2020 3:32 pm
Seg Nov 23, 2020 1:42 pm
Seg Nov 23, 2020 6:40 am
Dom Nov 22, 2020 10:59 pm
Dom Nov 22, 2020 6:25 pm
Dom Nov 22, 2020 6:24 pm
Sab Nov 21, 2020 9:43 pm
Sab Nov 21, 2020 4:21 pm
Sab Nov 21, 2020 2:30 pm
Sab Nov 21, 2020 12:52 pm
Sab Nov 21, 2020 10:28 am
Sab Nov 21, 2020 9:44 am
Sex Nov 20, 2020 5:51 pm
Sex Nov 20, 2020 5:14 pm
Sex Nov 20, 2020 5:09 pm
Sex Nov 20, 2020 3:52 pm
Sex Nov 20, 2020 3:33 pm
Sex Nov 20, 2020 12:29 am
Qui Nov 19, 2020 7:16 pm
Qui Nov 19, 2020 1:20 pm
Qui Nov 19, 2020 8:32 am
Qui Nov 19, 2020 12:21 am
Qua Nov 18, 2020 10:18 pm
Qua Nov 18, 2020 9:42 pm
Qua Nov 18, 2020 3:54 pm
Qua Nov 18, 2020 12:50 am
Qua Nov 18, 2020 12:47 am
Ter Nov 17, 2020 9:23 pm
Ter Nov 17, 2020 7:01 pm
Ter Nov 17, 2020 7:01 pm
Ter Nov 17, 2020 5:15 pm
Ter Nov 17, 2020 5:14 pm
Ter Nov 17, 2020 8:28 am
Ter Nov 17, 2020 12:09 am
Ter Nov 17, 2020 12:05 am
Ter Nov 17, 2020 12:01 am
Ter Nov 17, 2020 12:00 am
Seg Nov 16, 2020 10:30 pm
Seg Nov 16, 2020 9:25 pm
Seg Nov 16, 2020 7:40 pm
Seg Nov 16, 2020 7:28 pm
Seg Nov 16, 2020 2:46 pm
Seg Nov 16, 2020 1:37 pm
Seg Nov 16, 2020 12:38 pm
Seg Nov 16, 2020 11:31 am
Dom Nov 15, 2020 7:15 pm
Dom Nov 15, 2020 12:19 pm
Sab Nov 14, 2020 10:09 pm
Sab Nov 14, 2020 8:36 pm
Sab Nov 14, 2020 7:51 pm
Sab Nov 14, 2020 6:47 pm
Sab Nov 14, 2020 6:36 pm
Sab Nov 14, 2020 6:34 pm
Sab Nov 14, 2020 6:33 pm
Sab Nov 14, 2020 6:31 pm
Sab Nov 14, 2020 6:26 pm
Sab Nov 14, 2020 6:23 pm
Sab Nov 14, 2020 4:48 pm
Sab Nov 14, 2020 1:50 pm
Sab Nov 14, 2020 1:43 pm
Sab Nov 14, 2020 1:37 pm
Sab Nov 14, 2020 1:21 pm
Sab Nov 14, 2020 11:14 am
Sex Nov 13, 2020 10:15 pm
carcanhadesapo12
MatheusEleodoro
Xremix30
diegopds
Cristhofer Marques
Xremix31
Magnatah
Pokedlg
HugoTeixeira20
Harcher
Fagner
ProBrStalker
LeonTrindade01
darknecron
MatheusEleodoro
giowde
Razu
gabrielssantos
Pokedlg
marino96
Micco
Luizdanhp
NotoriousDev
NotoriousDev
Daniel Dória
VitexX17
Agoraaae3432
Magnatah
Pokedlg
diegopds
Brunobarradas
JulioWinchester
Pokedlg
BlesseD
samoliver1813
Pokedlg
70correr
Portela
Portela
GattiMene
JackDarm
MatheusEleodoro
Pokedlg
GattiMene
lobodomato
glauco
Atho
NKKF
joão hoffman
joão hoffman
JulioWinchester
Pokedlg
Daniel Dória
ProBrStalker
AdrianoEstúdio
thales.ulisses
Pokedlg
AdrianoEstúdio
mericu
Ricardito
Pokedlg
dunha
Pokedlg
artplayer
Micco
cafezinho71
cafezinho71
cafezinho71
cafezinho71
cafezinho71
cafezinho71
cafezinho71
Callyde Jr
Portela
MayLeone
Nalfam
loucoporjogo
MayLeone
MarcosSchultz
Fagner
Pokedlg
Hastur
Micco
Micco
tomiomatsushita
Magnatah
Micco
Magnatah
victormvw5
Magnatah
Magnatah
Magnatah
SauloeArthur
Minimuster
Minimuster
Minimuster
Pokedlg
loucoporjogo
brizaloka

Como usar uma coroutine para esperar um objeto se movimentar?

Ir em baixo

DÚVIDA Como usar uma coroutine para esperar um objeto se movimentar?

Mensagem por enrisco em Seg Nov 02, 2020 2:06 pm

Olá pessoal, tenho uma dúvida/problema com IEnumerator no Unity. Eu tenho um script de movimento de objetos usando Vector3.MoveTowards(), usando uma variável booleana pra validar se ele chegou na posição final. Estou tentando criar uma coroutine que espere o objeto chegar na sua posição final, porém ele retorna no próximo frame.

Meu código:
Código:
public Vector3 stopPoint;

...

bool ValidatePosition()
{
     if(transform.position == stopPoint)
            return true;
     else
            return false;
}

IEnumerator WaitForStopPoint()
{
     while(!ValidatePosition())
     {
            yield return null;
     }
}
 

Alguém sabe como me ajudar?
enrisco
enrisco
Iniciante
Iniciante

PONTOS : 212
REPUTAÇÃO : 0
Respeito as regras : Como usar uma coroutine para esperar um objeto se movimentar? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como usar uma coroutine para esperar um objeto se movimentar?

Mensagem por Weslley em Seg Nov 02, 2020 3:51 pm

tente usar o IEnumerator para mover e esperar o retorno de parada

Código:
IEnumerator MoveFromTo(Transform objectToMove, Vector3 a, Vector3 b, float speed)
{
    float step = (speed / (a - b).magnitude) * Time.fixedDeltaTime;
    float t = 0;
    while (t <= 1.0f)
    {
        t += step; // Goes from 0 to 1, incrementing by step each time
        objectToMove.position = Vector3.Lerp(a, b, t); // Move objectToMove closer to b
        yield return new WaitForFixedUpdate();        // Leave the routine and return here in the next frame
    }
    objectToMove.position = b;
    //STOP HERE
}
Weslley
Weslley
Moderador

Masculino PONTOS : 4214
REPUTAÇÃO : 716
Idade : 22
Áreas de atuação : https://play.google.com/store/apps/dev?id=4937415175307699867
https://exitside.com.br/
Respeito as regras : Como usar uma coroutine para esperar um objeto se movimentar? Aad8pUi

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como usar uma coroutine para esperar um objeto se movimentar?

Mensagem por enrisco em Seg Nov 02, 2020 5:27 pm

@Weslley escreveu:tente usar o IEnumerator para mover e esperar o retorno de parada

Código:
IEnumerator MoveFromTo(Transform objectToMove, Vector3 a, Vector3 b, float speed)
{
    float step = (speed / (a - b).magnitude) * Time.fixedDeltaTime;
    float t = 0;
    while (t <= 1.0f)
    {
        t += step; // Goes from 0 to 1, incrementing by step each time
        objectToMove.position = Vector3.Lerp(a, b, t); // Move objectToMove closer to b
        yield return new WaitForFixedUpdate();         // Leave the routine and return here in the next frame
    }
    objectToMove.position = b;
    //STOP HERE
}
 
Obrigado pela resposta rápida! Primeiro fiz do seu modo e depois adaptei, porém os dois tiveram o mesmo resultado: retornaram 1 segundo depois.  

essa foi a forma que adaptei, estou usando Vector3.MoveTowards() por causa do tipo de movimentação do objeto.

Código:
    public IEnumerator MoveAndWait()
    {
        while (!ValidateStopPoint())
        {
            ...
            transform.position = Vector3.MoveTowards(transform.position, stopPoint, velocity * Time.deltaTime);

            yield return null;
        }
    }
enrisco
enrisco
Iniciante
Iniciante

PONTOS : 212
REPUTAÇÃO : 0
Respeito as regras : Como usar uma coroutine para esperar um objeto se movimentar? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como usar uma coroutine para esperar um objeto se movimentar?

Mensagem por Weslley em Seg Nov 02, 2020 6:15 pm

Poste seu Código
Weslley
Weslley
Moderador

Masculino PONTOS : 4214
REPUTAÇÃO : 716
Idade : 22
Áreas de atuação : https://play.google.com/store/apps/dev?id=4937415175307699867
https://exitside.com.br/
Respeito as regras : Como usar uma coroutine para esperar um objeto se movimentar? Aad8pUi

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como usar uma coroutine para esperar um objeto se movimentar?

Mensagem por enrisco em Seg Nov 02, 2020 6:54 pm

@Weslley escreveu:Poste seu Código
Creio ter entendido errado o funcionamento das coroutines. Aparentemente o tempo de espera é apenas para o objeto que está anexado com o script, estava executando a partir de outro objeto, nessa lógica, quem estava esperando era o próprio objeto a ser movimentado, não o script que estava manipulando, criando um IEnumerator referenciando o script do objeto, usando yield return new WaitUntil() pra validar a booleana ValidatePosition() já funcionou muito bem. Muito obrigado pela ajuda!

IEnumerator criado no script que estava manipulando:
Código:
IEnumerator WaitForObjectToStop(GameObject obj)
    {
        var move = obj.GetComponent<MoveObject>();
        while (!move.ValidatePosition())
        {
            yield return null;
        }
        yield return new WaitUntil(() => move.ValidatePosition());
        Debug.Log(move.ValidatePosition());
    }
enrisco
enrisco
Iniciante
Iniciante

PONTOS : 212
REPUTAÇÃO : 0
Respeito as regras : Como usar uma coroutine para esperar um objeto se movimentar? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como usar uma coroutine para esperar um objeto se movimentar?

Mensagem por enrisco em Seg Nov 02, 2020 7:00 pm

@enrisco escreveu:
@Weslley escreveu:Poste seu Código
Creio ter entendido errado o funcionamento das coroutines. Aparentemente o tempo de espera é apenas para o objeto que está anexado com o script, estava executando a partir de outro objeto, nessa lógica, quem estava esperando era o próprio objeto a ser movimentado, não o script que estava manipulando, criando um IEnumerator referenciando o script do objeto, usando yield return new WaitUntil() pra validar a booleana ValidatePosition() já funcionou muito bem. Muito obrigado pela ajuda!

IEnumerator criado no script que estava manipulando:
Código:
IEnumerator WaitForObjectToStop(GameObject obj)
    {
        var move = obj.GetComponent<MoveObject>();
        while (!move.ValidatePosition())
        {
            yield return null;
        }
        yield return new WaitUntil(() => move.ValidatePosition());
        Debug.Log(move.ValidatePosition());
    }

Corrigindo o código acima, não precisa do while:

Código:
IEnumerator WaitForObjectToStop(GameObject obj)
    {
        var move = obj.GetComponent<MoveObject>();
        yield return new WaitUntil(() => move.ValidatePosition());
        Debug.Log(move.ValidatePosition());
    }
enrisco
enrisco
Iniciante
Iniciante

PONTOS : 212
REPUTAÇÃO : 0
Respeito as regras : Como usar uma coroutine para esperar um objeto se movimentar? WvDYdlf

Voltar ao Topo Ir em baixo

Voltar ao Topo


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