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:
limite de posicionamento
Efeito Glowing
ESTOU COM UM PROBLEMA DE ANIMAÇÃO!!!
Enemy grid movement
[RESOLVIDO] AJUDA COM SCRIPT
TANK DEFENDER II
[TUTORIAL] Sistema simples de Cutscenes
[Asset] Repositório + Assets
Sisteminha para coleta de itens
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Objeto que pula
Bool ficar verdadeira no multiplayer em script de inimigo? (Unet)
Recrutamento para desenvolvimento de um Projeto
Câmera Orbital Modificada
ESTOU COM UM PROBLEMA EM UM SCRIPT
fazer unity5 imprimir
[TUTORIAL] Cena inicial de CARREGAMENTO, creditos, logo, etc [UNITY 5]
Pack de áudio/ efeitos sonoros gratuitos.
AJUDA COM SCRIPT DE DISPARO
Um código e um agradecimento ao todo mundo.
Dúvida de shotter 2D...
Estou com um problema no script de animação
Rodar música fora do App
Salvar Cores com Json
GENTE EU ESTOU COM UM PROBLEMA NO UNITY
Erro Ao Tentar vincular SCRIPT C# com Objeto (Script need's to derive from MonoBehaviour)
criar um app que atende a vários produtos.
onde publicar os trabalhos prontos.
tela preta do unity apos abrir no celular..
tela branca ao iniciar videoplayer
2 JOGOS EM ANDAMENTO:
[Encerrado] - Key gratuita para "Ingame Logs Viewer" para quem avalia-lo!
Como faz para o jogo saber se e windows, android,tablet , mac e ios?
[RESOLVIDO] Detecta o fim da animação e conjura um novo evento.
como limitar o zoom mínimo e máximo no lean touch
[Resolvido] Unity - Executar Pagina Web Dentro De Um Programa
Rádio para programadores
StreamWriter... ajuda rapida no salvamento
[RESOLVIDO] Detectar distância de objetos
Software para testar AR no PC
Fazer cada Scene em uma orientação
[TUTORIAL] Compilar para Android
Asset de paint com lag
Utilizar movimento de plataforma na UI
COMO MOVER UM OBJETO OU PERSONAGEM
[TUTORIAL] CONFIGURANDO O UNITY PARA COMPILAR PARA ANDROID
Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D
texto com rolamento pela seta
[RESOLVIDO] Rotacionar Personagem De Acordo Com a Direção Do Analógico
Dúvida Com Conta Matematica
[RESOLVIDO] Colocar uma condição para remover uma variavel do inspector?
APK trava com Admob
Conectar ao wifi
Celular dentro do game
[TUTORIAL] Como fazer um TELEPORTE
[RESOLVICO] Colisor que ao atravessar ele eu mudo minha cena no Unity2D ?
[TUTORIAL] Mover, arremessar e girar objetos com o mouse
Objeto sempre ocupando toda a camera
Transições de Animações de Sprites
[RESOLVIDO] Sprites mudando posição
Renderização no blender
[RESOLVIDO] AJUDA ERRO COM INIMIGO
Unity - Erro ao Salvar
Duvida resolucao
Mecânica de destruição de parte de um sprite
[RESOLVIDO] Reconhecimento de Joystick e Teclado
convert byte[] em texture2D
[TUTORIAL] Mover objetos 2D e conectar em lugares específicos
Captura de imagem
Como fazer variáveis se ocultarem no Editor?
[TUTORIAL] Unity 5 - Sistema Completo de PORTAS E CHAVES
paredes
OnTriggerExit2D detectando collider desativado
[TUTORIAL] Wheel Collider - como configurar corretamente.
posição de cubos..
[RESOLVIDO] Movimentar personagem por grade com clique do mouse. (Isométrico)
[RESOLVIDO] Data e hora atual no android
Game Engine
Dúvida Sobre o lucky patcher
[TUTORIAL] Converter uma variável String em Vetores
Tem como reproduzir vídeo em android?
Preferência em Games
[TUTORIAL] Singleton, A melhor forma de acessar a classe!
[RESOLVIDO] Acessar Scripts de Objetos Que Estão Como "DontDestroyOnLoad()" ?
[TUTORIAL] Arma tipo a do call of duty
[TUTORIAL] Double Jumping para games em 2D
[TUTORIAL] Unity 2019 - Lanterna e pilhas, com UI
GameJam valendo 15 mil reais em bitcoin!!
Combinar prefabs?!?
[TUTORIAL] Como usar FREE EASY CRIATURA CONTROLE IA
[TUTORIAL] MOVIMENTO NA ARMA PARA FICAR MAIS REAL!
Multiplayer será tirado da Unity?
Como dar o mesmo valor a varias variaveis ?
Procurando modelador de personagens!
Conta playstore
[TUTORIAL] Sistema de "Entrar" em locais
[TUTORIAL] Sistema de Lanterna com Pilhas
Como mudar cor do botao UI
[RESOLVIDO] Set Materials
Hoje à(s) 20:41
Hoje à(s) 19:44
Hoje à(s) 18:06
Hoje à(s) 17:19
Hoje à(s) 15:53
Hoje à(s) 2:52
Hoje à(s) 2:22
Hoje à(s) 1:02
Hoje à(s) 0:20
Ontem à(s) 20:25
Ontem à(s) 17:15
Ontem à(s) 16:47
Ontem à(s) 4:39
Dom 24 Mar 2019 - 22:22
Dom 24 Mar 2019 - 22:02
Dom 24 Mar 2019 - 21:17
Dom 24 Mar 2019 - 19:08
Dom 24 Mar 2019 - 6:17
Dom 24 Mar 2019 - 1:30
Dom 24 Mar 2019 - 0:18
Sab 23 Mar 2019 - 23:39
Sab 23 Mar 2019 - 19:51
Sab 23 Mar 2019 - 18:56
Sab 23 Mar 2019 - 16:03
Sab 23 Mar 2019 - 13:10
Sab 23 Mar 2019 - 12:43
Sab 23 Mar 2019 - 3:02
Sab 23 Mar 2019 - 2:51
Sab 23 Mar 2019 - 2:36
Sab 23 Mar 2019 - 2:16
Sex 22 Mar 2019 - 23:18
Sex 22 Mar 2019 - 23:07
Sex 22 Mar 2019 - 21:58
Sex 22 Mar 2019 - 17:49
Sex 22 Mar 2019 - 15:09
Sex 22 Mar 2019 - 2:13
Sex 22 Mar 2019 - 2:02
Sex 22 Mar 2019 - 0:22
Qui 21 Mar 2019 - 20:01
Qui 21 Mar 2019 - 14:52
Qui 21 Mar 2019 - 13:18
Qui 21 Mar 2019 - 0:29
Qui 21 Mar 2019 - 0:19
Qua 20 Mar 2019 - 23:39
Qua 20 Mar 2019 - 23:33
Qua 20 Mar 2019 - 1:03
Ter 19 Mar 2019 - 16:50
Ter 19 Mar 2019 - 10:03
Ter 19 Mar 2019 - 9:23
Ter 19 Mar 2019 - 9:02
Seg 18 Mar 2019 - 21:48
Seg 18 Mar 2019 - 18:39
Seg 18 Mar 2019 - 18:28
Seg 18 Mar 2019 - 16:00
Seg 18 Mar 2019 - 7:31
Dom 17 Mar 2019 - 18:43
Sab 16 Mar 2019 - 20:11
Sab 16 Mar 2019 - 19:37
Sab 16 Mar 2019 - 18:48
Sex 15 Mar 2019 - 21:40
Sex 15 Mar 2019 - 18:09
Sex 15 Mar 2019 - 12:32
Sex 15 Mar 2019 - 12:27
Sex 15 Mar 2019 - 0:55
Sex 15 Mar 2019 - 0:50
Sex 15 Mar 2019 - 0:45
Sex 15 Mar 2019 - 0:44
Sex 15 Mar 2019 - 0:42
Sex 15 Mar 2019 - 0:38
Sex 15 Mar 2019 - 0:00
Qui 14 Mar 2019 - 23:54
Qui 14 Mar 2019 - 23:33
Qui 14 Mar 2019 - 23:29
Qui 14 Mar 2019 - 20:06
Qui 14 Mar 2019 - 18:39
Qua 13 Mar 2019 - 20:30
Ter 12 Mar 2019 - 17:54
Ter 12 Mar 2019 - 1:21
Seg 11 Mar 2019 - 16:25
Seg 11 Mar 2019 - 14:51
Seg 11 Mar 2019 - 3:35
Seg 11 Mar 2019 - 0:49
Dom 10 Mar 2019 - 23:20
Dom 10 Mar 2019 - 20:47
Dom 10 Mar 2019 - 20:21
Dom 10 Mar 2019 - 17:12
Sab 9 Mar 2019 - 22:50
Sab 9 Mar 2019 - 15:18
Sex 8 Mar 2019 - 21:55
Sex 8 Mar 2019 - 17:40
Qui 7 Mar 2019 - 15:19
Qui 7 Mar 2019 - 15:12
Qui 7 Mar 2019 - 14:59
Qui 7 Mar 2019 - 14:12
Qui 7 Mar 2019 - 4:29
Qui 7 Mar 2019 - 1:32
Qua 6 Mar 2019 - 20:37
Qua 6 Mar 2019 - 16:21
Ter 5 Mar 2019 - 17:53
Span
NKKF
gutovic29
Unidade3d5
Diego Felix
wagnercaragua
AnderGames
dimmuo
Magnatah
Tegh
luiz12345
luiz12345
ShadowWG
MrToddyYT
Nalfam
Encracker
JOOOONHYYY
Zack2
Diego Felix
dstaroski
Weslley
gutovic29
NKKF
Duarte
Simplizãum S
CaerHunter
marciosilva
marciosilva
marciosilva
marciosilva
dstaroski
dstaroski
Chilinger
fabricadegame
eduardonog30
Magnatah
Magnatah
Encracker
numb123
Magnatah
joffersoju
fabricadegame
MarcosSchultz
MarcosSchultz
MarcosSchultz
fabricadegame
Akuma97
Magnatah
Magnatah
Magnatah
luiz12345
rejão
Zack2
Zack2
MarcosSchultz
luiz12345
henriquegames501
lesgoy
MiguelLuiz
Lteo
diegopds
Diego Felix
Magnatah
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Isabela
Isabela
Annko
juniorhotes
Weslley
Daniel Dória
juniorhotes
lesgoy
lucaslbatista
Flávio
Magnatah
diegopds
MayLeone
glauco
dimmuo
AnderGames
Unidade3d5
arthurunity
artplayer
diegopds
zeca urubu
Daniel Dória
AnderGames
MarcosSchultz
Alanigma
ffabim

[TUTORIAL] Sistema simples para VOLTAR NO TEMPO, Unity 3D

Ir em baixo

TUTORIAL [TUTORIAL] Sistema simples para VOLTAR NO TEMPO, Unity 3D

Mensagem por MarcosSchultz em Sex 6 Jul 2018 - 23:48

Fala galera, elaborei este tutorial simples mostrando como fazer um sistema para voltar no tempo na Unity 3D.

Vídeo tutorial:



Código utilizado (versão corrigida):
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ReverseTime : MonoBehaviour {

 public KeyCode teclaReverseTime = KeyCode.Y;
 public float frequencia_Hz = 30;
 public int maxFrames = 100;
 [Space(15)]
 public bool fixedUpdate_50Hz = false;
 //
 float freq;
 float cronometro;
 bool reverseTime = false;

 List<Vector3> posicoes = new List<Vector3>();
 List<Quaternion> rotacoes = new List<Quaternion>();
 List<Vector3> rbVelocity = new List<Vector3>();
 List<Vector3> rbAngularVelocity = new List<Vector3>();
 Rigidbody componentRig;

 void Start () {
 freq = 1 / frequencia_Hz;
 componentRig = GetComponent<Rigidbody> ();
 }

 void Update () {
 if (Input.GetKeyDown (teclaReverseTime)) {
 if (posicoes.Count > 1 && rotacoes.Count > 1) {
 reverseTime = true;
 if (componentRig) {
 componentRig.useGravity = false;
 }
 }
 }
 if (Input.GetKeyUp (teclaReverseTime)) {
 reverseTime = false;
 if (componentRig) {
 componentRig.useGravity = true;
 //explicar
 componentRig.velocity = rbVelocity[rbVelocity.Count - 1];
 componentRig.angularVelocity = rbAngularVelocity[rbAngularVelocity.Count - 1];
 }
 }
 if (!fixedUpdate_50Hz) {
 cronometro += Time.deltaTime;
 if (cronometro >= freq) {
 cronometro = 0;
 ChecarReverseTime ();
 }
 }
 if (reverseTime) {
 transform.position = Vector3.Lerp (transform.position, posicoes [posicoes.Count - 1], Time.deltaTime * 5.0f);
 transform.rotation = Quaternion.Lerp (transform.rotation, rotacoes [rotacoes.Count - 1], Time.deltaTime * 5.0f);
 }
 }

 void FixedUpdate(){
 if (fixedUpdate_50Hz) {
 ChecarReverseTime ();
 }
 if (componentRig) {
 if (reverseTime) {
 componentRig.velocity = Vector3.zero;
 componentRig.angularVelocity = Vector3.zero;
 }
 }
 }

 void ChecarReverseTime(){
 if (!reverseTime) {
 posicoes.Add (transform.position);
 rotacoes.Add (transform.rotation);
 //
 if (componentRig) {
 rbVelocity.Add (componentRig.velocity);
 rbAngularVelocity.Add (componentRig.angularVelocity);
 }
 //
 if (posicoes.Count > maxFrames) {
 posicoes.Remove (posicoes [0]);
 rotacoes.Remove (rotacoes [0]);
 if (componentRig) {
 rbVelocity.Remove (rbVelocity [0]);
 rbAngularVelocity.Remove (rbAngularVelocity [0]);
 }
 }
 } else {
 if (posicoes.Count > 1) {
 posicoes.Remove (posicoes [posicoes.Count - 1]);
 rotacoes.Remove (rotacoes [rotacoes.Count - 1]);
 if (componentRig) {
 rbVelocity.Remove (rbVelocity [rbVelocity.Count - 1]);
 rbAngularVelocity.Remove (rbAngularVelocity [rbAngularVelocity.Count - 1]);
 }
 }
 }
 }
}


Última edição por MarcosSchultz em Sab 7 Jul 2018 - 4:02, editado 1 vez(es)
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 61542
REPUTAÇÃO : 2176
Idade : 22
Á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

TUTORIAL Re: [TUTORIAL] Sistema simples para VOLTAR NO TEMPO, Unity 3D

Mensagem por Tegh em Sab 7 Jul 2018 - 0:34

É trsite não entender a 100% da compilação do código(ainda estou estudando a Unity e suas aplicações C#) mas pelo que me parece é bem complexo o código, você o acha viável para utilização do mesmo em projetos 2D? Sinceramente me facina já ver você fazendo o Unity voltar o tempo, muito bom mesmo cara Curti isso.
Tegh
Tegh
Programador

Masculino PONTOS : 423
REPUTAÇÃO : 48
Idade : 17
Áreas de atuação : Conhecimento intermediário em C# (uso em software), pixel artista e ainda um pouco leigo na Unity.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Sistema simples para VOLTAR NO TEMPO, Unity 3D

Mensagem por rafaelllsd em Sab 7 Jul 2018 - 2:09

Muito bom, agora é só modificar, modificar até entender, para algum dia reproduzir  Perfeito
rafaelllsd
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 3035
REPUTAÇÃO : 442
Idade : 18
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, HTML5.

Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Sistema simples para VOLTAR NO TEMPO, Unity 3D

Mensagem por MarcosSchultz em Sab 7 Jul 2018 - 4:02

Código atualizado e corrigido

Vídeo upado :D
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 61542
REPUTAÇÃO : 2176
Idade : 22
Á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

Voltar ao Topo

- Tópicos similares

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