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:
Luz
Teleporte do player com outro objeto!
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Diferença em usar áudios .mp3, .wav, .ogg e outros?
Horizonte
[TUTORIAL] Como fazer um Sol Realista na Unity 5 ( Sun Shafts )
Meu mais Novo Jogo Evade Z-51
Transição de cenas Bug com Scripts
Como faço um pulo de colisão?
Meu personagem parou de andar , sem que eu alterasse ele
Problema com terreno!
Jogo Quiz perguntas aleatórias
Pintura na tela
Anti Pirataria
Manter a última posic de objetos após sair e voltar de cena
Alguem me ajuda em um script!
Camera
Erros ao tentar build para android!
Media entre pontos e tempo!
Vídeo player não mostra nada
(Duvida)Sistema de estrelas
Filhos dos filhos
Construção de um save das configurações e ir pro jogo com as config certas
Duvida na hora da POSTAGEM na PLAY STORE
Auto posicionar objeto
Como dar um clique em um determinado botão através de Script
Como faço as personagens causarem dano (e vice-versa)?
Dúvida no uso de loop no Unity
Duvida em Python
Como usar LOD Group para usar no Mass Place Trees
Como Criar um Sistema de Coop? (Photon)
Fighter camera 3D tekken style, boxing style
Erro no Script- "The script needs to derived from MonoBehavior"
[TUTORIAL] Fixed Joint e Spring Joint - Unity 5
Música Grátis
Not a Dream - Formação de Equipe
Como deixar o código mais dinâmico
Duvida Shader para celular
Ideia para algum jogo
Aplicativo não instalado
Tela cheia em android
duvida de raytracing
[Em Desenvolvimento] Battles of Worlds
[Formação de Equipe] Battles of Worlds
Box Collider 2D Pausando o Jogo.
Como fazer um sistema para conectar objetos?
Jogos Pagos e proteção
[DÚVIDA] sair som do objeto ao pressionar uma tecla
Seleção de personagens sem usar ele como prefab
Duvida Postagem na Play Store
Fazer o player rodar a animação até o final
Ofuscar
Preciso de Ajuda Estou a desenvolver um projeto!
[TUTORIAL] Joystick vistual para mobile
desativa objecto
IDE editor C#
Porque o meu BoxCollider2D não desativa?
Sistema De Skin Na Unity
erro ao abrir projeto na unity 2019.2.0
Jogador Flicando no chão
Mostrar eventos no Inspector
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Algumas Maneiras de Ganhar Dinheiro Com o Blender e Modelagem 3D
[TUTORIAL] Salvar SCORE e substituir caso faça mais pontos.
aplicativo travando
e ai galera to tendo poblema com wheel collider
Shader Editor travando a cada alteração nas propriedades
Tela inteira no Android
Scale Factor de Modelos Faz Diferença Na Performacer do Jogo?
Picos de Queda de FPS!
ERRO NA UNITY, AJUDEM POR FAVOR
Como fazer uma tecla ser pressionado x vezes.
Vamos criar uma comunidade no Discord!
[Projeto em Andamento] Favela Combat - Multiplayer online (Android & iOS)
Como ativar e desativar o Box Collider utilizando o RayCast.
[RESOLVIDO] Player 2D girando ao descer de plataforma
Road Life - Jogo Mundo Aberto RPG
Como parar o spawn aleatório?
[RESOLVIDO] Pêndulo 2D
[RESOLVIDO] Como faço para clicar em um objeto e visualizar, girar...
Crio Ícones Personalizados Para Jogos
Metadados recusados AppleConnect [Screenshots]
Ajuda na criação de um jogo de Xadrez 3D
> Posso achar Bugs facilmente <
Meu Jogo inspirado em resident evil 2 remake
Unity + Photon 2
[RESOLVIDO] tira uma duvida
[TUTORIAL] Campo de visão dos inimigos (Enemy FOV) com Raycast ou OverlapSphere
Contagem de tempo em classes abstratas
Erro ao compilar em webGL
[RESOLVIDO] Animação na Movimentação (Parado, Andar e Correr)
[RESOLVIDO] Parâmetro "Out" não existe (Duvida com Script)
Duvida de movimentação de câmera 2D (Sem personagem)
[RESOLVIDO] Colocando meu jogo para 64 bits
(Animator) Animação bugada no animator!
[TUTORIAL] CONFIGURANDO O UNITY PARA COMPILAR PARA ANDROID
[RESOLVIDO] Porque o Vector2.Distance não está funcionando?
[TRETA BR] GAME QUASE FINALIZADO !
Algumas perguntas sobre cenas e transições
Ontem à(s) 11:54 pm
Ontem à(s) 6:48 pm
Ontem à(s) 6:32 pm
Ontem à(s) 1:37 pm
Ontem à(s) 8:06 am
Ontem à(s) 2:33 am
Sex Set 20, 2019 7:20 pm
Sex Set 20, 2019 6:54 pm
Sex Set 20, 2019 3:17 pm
Qui Set 19, 2019 10:54 pm
Qui Set 19, 2019 8:54 pm
Qui Set 19, 2019 2:59 pm
Qui Set 19, 2019 10:42 am
Qui Set 19, 2019 7:42 am
Qua Set 18, 2019 3:07 pm
Ter Set 17, 2019 8:22 pm
Ter Set 17, 2019 8:06 pm
Ter Set 17, 2019 4:10 pm
Ter Set 17, 2019 3:01 am
Ter Set 17, 2019 1:30 am
Seg Set 16, 2019 11:03 pm
Seg Set 16, 2019 8:21 pm
Seg Set 16, 2019 5:37 pm
Seg Set 16, 2019 4:07 pm
Seg Set 16, 2019 4:11 am
Seg Set 16, 2019 2:36 am
Seg Set 16, 2019 12:22 am
Dom Set 15, 2019 11:21 pm
Dom Set 15, 2019 8:29 pm
Dom Set 15, 2019 4:41 pm
Dom Set 15, 2019 3:52 pm
Dom Set 15, 2019 12:42 pm
Dom Set 15, 2019 12:41 pm
Dom Set 15, 2019 11:20 am
Dom Set 15, 2019 1:58 am
Dom Set 15, 2019 12:08 am
Sab Set 14, 2019 8:45 pm
Sab Set 14, 2019 7:55 pm
Sab Set 14, 2019 7:07 pm
Sab Set 14, 2019 7:06 pm
Sab Set 14, 2019 7:05 pm
Sab Set 14, 2019 6:58 pm
Sab Set 14, 2019 5:00 pm
Sab Set 14, 2019 4:57 pm
Sab Set 14, 2019 1:49 pm
Sab Set 14, 2019 12:37 am
Sex Set 13, 2019 10:58 pm
Sex Set 13, 2019 10:42 pm
Sex Set 13, 2019 8:58 pm
Sex Set 13, 2019 8:33 pm
Sex Set 13, 2019 8:28 pm
Sex Set 13, 2019 8:19 pm
Sex Set 13, 2019 8:17 pm
Sex Set 13, 2019 8:08 pm
Sex Set 13, 2019 8:06 pm
Sex Set 13, 2019 8:04 pm
Sex Set 13, 2019 2:40 pm
Sex Set 13, 2019 5:02 am
Sex Set 13, 2019 4:59 am
Sex Set 13, 2019 4:50 am
Sex Set 13, 2019 4:41 am
Sex Set 13, 2019 4:26 am
Sex Set 13, 2019 4:19 am
Sex Set 13, 2019 4:17 am
Sex Set 13, 2019 3:53 am
Sex Set 13, 2019 3:44 am
Sex Set 13, 2019 3:35 am
Sex Set 13, 2019 3:34 am
Sex Set 13, 2019 3:06 am
Sex Set 13, 2019 2:44 am
Sex Set 13, 2019 2:40 am
Sex Set 13, 2019 2:31 am
Qui Set 12, 2019 9:46 pm
Qui Set 12, 2019 9:46 pm
Qui Set 12, 2019 4:43 pm
Qui Set 12, 2019 3:22 pm
Qui Set 12, 2019 2:50 pm
Qua Set 11, 2019 10:05 pm
Qua Set 11, 2019 9:14 pm
Qua Set 11, 2019 1:16 pm
Qua Set 11, 2019 11:58 am
Qua Set 11, 2019 9:03 am
Qua Set 11, 2019 1:45 am
Ter Set 10, 2019 10:52 pm
Ter Set 10, 2019 6:28 pm
Ter Set 10, 2019 10:12 am
Ter Set 10, 2019 12:38 am
Seg Set 09, 2019 10:04 pm
Seg Set 09, 2019 6:08 pm
Seg Set 09, 2019 2:57 pm
Sab Set 07, 2019 7:23 pm
Sab Set 07, 2019 1:14 pm
Sab Set 07, 2019 12:12 pm
Sex Set 06, 2019 9:06 pm
Sex Set 06, 2019 11:44 am
Qui Set 05, 2019 11:30 pm
Qui Set 05, 2019 10:57 pm
Qui Set 05, 2019 6:26 pm
Qua Set 04, 2019 11:38 pm
richerd
NyanHeavyBR
JohnRambo
Fagner
Fagner
MarcosSchultz
EmperorGO
Encracker
MayLeone
mydaegon
lunaticsgames
MayLeone
Zack2
diegopds
MayLeone
gutovic29
Fagner
Daniel Dória
danielPedra90
ffabim
poyser
NKKF
lucaspoiob
gtcmcsgo
MayLeone
lesgoy
Swordsdragon
joffersoju
victorgx22
tr4ssh
deikson
Josh123
Samuelostgamer
welberpv2022
JohnRambo
LardosJogos
Hamassfall
SteveRogers
LúcioHenrique098
lesgoy
lesgoy
SteveRogers
Dom3000
Dom3000
Newba
henriquegames501
guimaraf
gcs13
garnios
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
NKKF
MayLeone
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
JohnRambo
dkrazor
recagonlei
CyberPh4ntom
NKKF
TecnoGames
Hamassfall
c4stor
Magnatah
numb123
JohnRambo
LardosJogos
RafaelSquid1
billybmx
katymarques
hao3726
MayLeone
Socates
LardosJogos
Newba
SteveRogers
garnios
JohnVitor
garnios
Hamassfall
ruanzikaad
Magnatah

[TUTORIAL] Sistema simples de Cutscenes

Ir em baixo

TUTORIAL [TUTORIAL] Sistema simples de Cutscenes

Mensagem por AnderGames em Seg Mar 25, 2019 11:22 pm

Olá a todos td bem?
Estava trabalhando para um projeto aqui, e necessitava de um sistema para cutscenes com uma única animação em conjunto
então criei esse sistema para auxiliar na hora de chamar as cutscenes (Sem necessidade do Cinemachine)
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Cutscene : MonoBehaviour
{
    public Animator MainAnimator;


    [System.Serializable]
    public class _Cutscenes
    {
        public string CutsceneName;
        public float EndTime;
        public float LerpToPosition;

        [System.Serializable]
        public class _AnotherObjects
        {
            public Transform Object;
            public bool ReParent = true;
            public bool RePosition = true;
            public bool ReRotation = true;
            [Space]
            public Transform StartPosition;
            public Transform EndPosition;
        }
        [SerializeField]
        public _AnotherObjects[] AnotherObjects;
    }
    [SerializeField]
    public _Cutscenes[] Cutscenes;
    float TimePassed;

    void Awake()
    {
        if (!MainAnimator)
        {
            MainAnimator = GetComponent<Animator>();
        }
    }

    public void StartCutscene(string CutsceneName)
    {
        for (int c = 0; c < Cutscenes.Length; c++)
        {
            for (int o = 0; o < Cutscenes[c].AnotherObjects.Length; o++)
            {
                if (Cutscenes[c].CutsceneName == CutsceneName)
                {
                    //Start Animations on animator
                    MainAnimator.SetBool(Cutscenes[c].CutsceneName, true);
                    if (Cutscenes[c].AnotherObjects[o].Object.GetComponent<Animator>()) // Verify objects with Animator
                    {
                        Cutscenes[c].AnotherObjects[o].Object.GetComponent<Animator>().SetBool(Cutscenes[c].CutsceneName, true);
                    }

                    //Set Location and Rotation of all objects called
                    if (Cutscenes[c].AnotherObjects[o].RePosition)
                    {
                        Cutscenes[c].AnotherObjects[o].Object.transform.position =
                            Vector3.Lerp(Cutscenes[c].AnotherObjects[o].Object.transform.position,
                            Cutscenes[c].AnotherObjects[o].StartPosition.position, Cutscenes[c].LerpToPosition * Time.deltaTime);
                    }

                    if (Cutscenes[c].AnotherObjects[o].ReRotation)
                    {
                        Cutscenes[c].AnotherObjects[o].Object.transform.rotation =
                            Quaternion.Lerp(Cutscenes[c].AnotherObjects[o].Object.transform.rotation,
                            Cutscenes[c].AnotherObjects[o].StartPosition.rotation, Cutscenes[c].LerpToPosition * Time.deltaTime);
                    }

                    if (Cutscenes[c].AnotherObjects[o].ReParent)
                    {
                        Cutscenes[c].AnotherObjects[o].Object.transform.parent = Cutscenes[c].AnotherObjects[o].StartPosition;
                    }
                }

                //Set the time pass to end Cutscene
                TimePassed += Time.deltaTime;
                if (TimePassed >= Cutscenes[c].EndTime)
                {
                    SkipCutscenes(CutsceneName, false);
                }
            }
        }
    }

    public void SkipCutscenes(string CutsceneName, bool SkipAnimations)
    {
        for (int c = 0; c < Cutscenes.Length; c++)
        {
            for (int o = 0; o < Cutscenes[c].AnotherObjects.Length; o++)
            {
                if (Cutscenes[c].CutsceneName == CutsceneName)
                {
                    //Verify and Skip all animations
                    if (SkipAnimations) // This pass are here case the player Wanna Skip the Cutscene
                    {
                        MainAnimator.speed = 100;
                    }
                    MainAnimator.SetBool(Cutscenes[c].CutsceneName, false);
                    if (SkipAnimations) // This pass are here case the player Wanna Skip the Cutscene to reset animations
                    {
                        MainAnimator.speed = 0;
                    }
                    if (Cutscenes[c].AnotherObjects[o].Object.GetComponent<Animator>())
                    {
                        if (SkipAnimations) // This pass are here case the player Wanna Skip the Cutscene
                        {
                            Cutscenes[c].AnotherObjects[o].Object.GetComponent<Animator>().speed = 100;
                        }
                        Cutscenes[c].AnotherObjects[o].Object.GetComponent<Animator>().SetBool(Cutscenes[c].CutsceneName, false);
                        if (SkipAnimations) // This pass are here case the player Wanna Skip the Cutscene to reset animations
                        {
                            MainAnimator.speed = 1;
                        }
                    }

                    //Verify and set Final Location And Rotation
                    if (Cutscenes[c].AnotherObjects[o].RePosition && Cutscenes[c].AnotherObjects[o].EndPosition)
                    {
                        Cutscenes[c].AnotherObjects[o].Object.transform.position =
                            Cutscenes[c].AnotherObjects[o].EndPosition.position;
                    }

                    if (Cutscenes[c].AnotherObjects[o].ReRotation && Cutscenes[c].AnotherObjects[o].EndPosition)
                    {
                        Cutscenes[c].AnotherObjects[o].Object.transform.rotation =
                            Cutscenes[c].AnotherObjects[o].EndPosition.rotation;
                    }

                    if (Cutscenes[c].AnotherObjects[o].ReParent)
                    {
                        Cutscenes[c].AnotherObjects[o].Object.transform.parent = null;
                    }
                }
            }
        }
    }
}


*O script está em inglês por causa do pessoal que está trabalhando no projeto junto comigo
Basicamente o sistema reposiciona todos os objetos solicitados pelo script em uma determinada localização, e ele chama a animação do nome da Cutscene nos objetos que estiverem um Animator vinculado a eles

Para chamar a cutscene, basta fazer algum script chamar a void "StartCutscene()"

é um sistema Utilitário/Complementar, pode ser utilizado com um outro sistema que disponibilizei aqui
AnderGames
AnderGames
Programador

Masculino PONTOS : 1434
REPUTAÇÃO : 31
Idade : 18
Áreas de atuação : Animação, Design de Interface, Programação, Modelagem
Respeito as regras : [TUTORIAL] Sistema simples de Cutscenes WvDYdlf

Ver perfil do usuário https://www.youtube.com/channel/UCQQ5MDVHnFEMkul-be_HBtA

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

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