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:
Tirar foto e exportar pro jogo
Maximizar view da cam
Tem como fazer o inimigo andar até dar de cara com o player?
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) 9:02 pm
Hoje à(s) 7:19 pm
Hoje à(s) 6:42 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
MayLeone
Joana
ryanmorj16
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

Alguém sabe reproduzir esse efeito do video na Unity?

2 participantes

Ir para baixo

DÚVIDA Alguém sabe reproduzir esse efeito do video na Unity?

Mensagem por AmazingDeliciano Dom Out 31, 2021 1:05 am

Eu tentei de todas as formas reproduzir o efeito dos "Weeping Angels" na Unity, até mesmo utilizando o script desse tutorial, mas por algum motivo o inimigo não sai do lugar quando está fora do campo de visão, alguém saberia como fazer funcionar? Se souber poderia me explicar o que está impedindo de funcionar o script, porque não da nem um erro sequer na hora de executá-lo. Vou deixar o video do tutorial e o script abaixo. P.S.: a versão do meu Unity é a 2019.4.26f1.



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


 public class AngelTeleport : MonoBehaviour
 {
      public GameObject playerRef;
 // Start is called before the first frame update
 void Start()
 {
     playerRef = GameObject.FindGameObjectWithTag("Player");
 }
  void OnBecameInvisible()
 {
     if (playerRef != null)
     {
         transform.position = playerRef.transform.position - playerRef.transform.forward;
         Vector3 lookPos = playerRef.transform.position - transform.position;
         lookPos.y = 0;
         transform.rotation = Quaternion.LookRotation(lookPos);
     }    
 }
 }

AmazingDeliciano
Membro
Membro

PONTOS : 690
REPUTAÇÃO : 3
Respeito as regras : Alguém sabe reproduzir esse efeito do video na Unity? WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: Alguém sabe reproduzir esse efeito do video na Unity?

Mensagem por Fagner Dom Out 31, 2021 12:32 pm

O efeito é bem mais completo que o vídeo que você postou...



Primeiro, elas não se movem se algo está bloqueando seu campo de visão, então se tiver uma parede entre vocês ou uma coluna, ela não pode se mover.

A "pose" muda sempre que ela se move.

O movimento é gradual, não é como no exemplo, que de uma vez só já se move pra frente do player.

Sobre o script, usar a OnBecameInvisible só garante que o objeto saiu do frustrum da câmera, (visão mínima, visão max, e ângulo max), mas se ela tiver atrás de alguma parede e invisível pra você, pra unity o objeto ainda está marcado como "visible".

Pra deixar como na série, você teria que fazer uma sequência de checagens:
distância => pra elas não se moverem se você tiver andando bem longe de onde elas estão.
ângulo => Ângulo em relação a frente da câmera, serve pra checar se você está de costas pro anjo.
visibilidade/bloqueio => pra não se moverem caso tenha uma parede ou algo bloqueando a visão mesmo que você esteja de costas.

Sempre que puder se mover, o ideal seria usar algum valor de distância conforme o tempo não visível, pra não ir pro colo do player de uma vez, dependendo da complexidade da sala onde vocês estiverem talvez seja preciso usar Navmesh.

No teste abaixo, as checagens de distância e ângulo são bem simples, a única coisa que vale a pena citar é a checagem de visibilidade, uma forma rápida e aproximada de checar isso é disparando um raycast em direção a partes específicas do corpo, como as mãos, pernas, pontas das asas e cabeça, se todos os raios baterem em algo, ela está completamente oculta por algum objeto. a checagem não é perfeita, mas é leve e dá um resultado aceitável.
note que apenas o anjo que está com uma parede na frente não se move mesmo que eu esteja olhando pra outro lado.
o ângulo foi deixado bem baixo de propósito, pro movimento aparecer na câmera, mas é só subir pra 60 que você não vê o anjo se mover.





Sobre as poses, você cria várias no Blender, inicia seu Animator num state vazio e só muda o state de forma aleatória cada vez que o anjo passar por todas as checagens e se mover.

O script ficou assim:

Código:
using UnityEngine;

public class WeepingAngel : MonoBehaviour
{
    public string[] nomePoses;
    public Animator anim;
    public Transform[] pontosChecagem;

    private void Start()
    {
        AlterarPose();
        FindObjectOfType<AngelsManager>().AdicionarAnjo(this);
    }

    public void PodeMover(Transform player)
    {
        Vector3 pos = player.position - transform.position;
        pos.y = transform.position.y;

        if (pos.magnitude > 1.5f)
        {
            Vector3 deslocamento = (player.position - transform.position).normalized;
            deslocamento.y = transform.position.y;
            transform.rotation = Quaternion.LookRotation(deslocamento, Vector3.up);
            transform.position += deslocamento;
            AlterarPose();
        }
    }

    private void AlterarPose()
    {
        anim.Play(nomePoses[Random.Range(0, nomePoses.Length)]);
    }
}
Código:
using System.Collections.Generic;
using UnityEngine;

public class AngelsManager : MonoBehaviour
{
    public Transform player;
    public float distanciaMinima = 30;
    public float anguloMin = 45;

    private List<WeepingAngel> anjos = new List<WeepingAngel>();

    public void AdicionarAnjo(WeepingAngel anjo)
    {
        anjos.Add(anjo);
    }

    private void Start()
    {
        InvokeRepeating(nameof(UpdateAnjos), 0.5f, 0.5f);
    }

    private void UpdateAnjos()
    {
        for (int i = 0; i < anjos.Count; i++)
        {
            if (ChecarDistanciaMinima(anjos[i]))
            {
                if (ChecarAnguloMinimo(anjos[i]))
                {
                    if (ChecarVisibilidade(anjos[i]))
                    {
                        anjos[i].PodeMover(player);
                    }
                }
            }
        }
    }

    private bool ChecarDistanciaMinima(WeepingAngel anjo)
    {
        return (Vector3.Distance(player.position, anjo.transform.position) < distanciaMinima);
    }

    private bool ChecarAnguloMinimo(WeepingAngel anjo)
    {
        return (Vector3.Angle(player.forward, (anjo.transform.position - player.position).normalized) > anguloMin);
    }

    private bool ChecarVisibilidade(WeepingAngel anjo)
    {
        Transform[] t = anjo.pontosChecagem;
        int cont = 0;

        for (int i = 0; i < t.Length; i++)
        {
            Vector3 dir = t[i].position - player.position;
            Ray ray = new Ray() { origin = player.position, direction = (t[i].position - player.position).normalized};

            if(Physics.Raycast(ray, dir.magnitude))
            {
                cont++;
            }
        }
        return cont != t.Length;
    }
}

O Angels manager é quem faz as checagens, o anjo em si só se coloca na lista do manager e se move.
NomePoses é um array de string, nele você coloca o nome de cada state com uma pose, não o nome da animação em si, aqui tem uma foto de como ficou meu Animator:

Alguém sabe reproduzir esse efeito do video na Unity? UFdoohX

e aqui a configuração do Inspector do anjo, note que usei os ossos como os pontos de checagem de visibilidade:

Alguém sabe reproduzir esse efeito do video na Unity? PzdHdM5
Fagner
Fagner
Moderador

Masculino PONTOS : 3353
REPUTAÇÃO : 660
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras : Alguém sabe reproduzir esse efeito do video na Unity? Aad8pUi

Ir para o topo Ir para baixo

DÚVIDA Re: Alguém sabe reproduzir esse efeito do video na Unity?

Mensagem por AmazingDeliciano Dom Out 31, 2021 2:39 pm

Uau, isso sim é uma explicação completa, vou tentar aqui pra ver se vai funcionar normalmente. Muito obrigado, Fagner!

AmazingDeliciano
Membro
Membro

PONTOS : 690
REPUTAÇÃO : 3
Respeito as regras : Alguém sabe reproduzir esse efeito do video na Unity? WvDYdlf

Ir para o topo Ir para baixo

Ir para o topo


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