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:
alguem pode me ajudar com essa adição de item numa lista?
Character Controller Slide
Player atravessa Parede mesmo com os Colliders
Sombras desaparecem qnd o bake das luzes termina
Movimentação 3D
[RESOLVIDO] - Blender - Erro deixa objeto Transparente
[ASSET] Criar TerrainLayer utilizando textura selecionada
Interrogação beta, jogo de puzzle 3D
[RESOLVIDO] Problemas com script (Movimentação em primeira pessoa)
[TUTORIAL] Busca Customizada De Objetos Na Cena
[RESOLVIDO] menu de troca de itens!!
[RESOLVIDO] Ajuda com script de dano por queda
PROCURO ARTISTA PARA PROJETO FPS CQB ( ARTES ESTILO RAINBOW SIX)
Versão Trial do meu jogo [O Sanatório Macabro]
Procuro por mentoria mobile
Corpo da cobra estilo Slither.io
[RESOLVIDO] Animação se repetindo mesmo com loop time desmarcado
mouselock
[RESOLVIDO] Como mostrar um valor em forma de texto na tela?
[RESOLVIDO] Ajuda com material na UI
Neural network treinar condução autónoma do carro
Como posso definir um código OnTriggerEnter2D para 2 Colliders específicos?
Joystick Virtual como adaptar a esse código ??
Quando recarrego o tiro sai junto como resolvo
Sistemas de Monetização
erros no unity(terrain)
sistema de paticulas em itens
Jogo de futebol em 2D
Imagen do botão sumiu
Movimento em 1° pessoa
[RESOLVIDO] Unity - Sugestão sobre a Tela Inicial/Introdutória
Alguém sabe usar spline mash , para fazer curvas num objeto3d?
PRECISO DE SCRIPTS PARA ADD INIMIGO NO MAPA
preciso de um programador que entenda de Photon pago via Pix pela ajuda!!
[RESOLVIDO] alguém sabe como fazer um unico Input fazer duas ações?
Jogo fechando e dando erros no console (MOBILE)
[DÚVIDA] alguém que já publicou na steam pode ajudar?
Duvida sobre transform.position!
DKG - Dynamic Kit Generator
como eu consigo chamar uma void pelo comando Input.GetKey?
como pegar as informações de um objeto que foi selecionado no unity
Fade In/Out em Teleporte
Mudar Direção dos Eixos - 2
Alguem pode me explicar como funciona o save?
Destroying assets is not permitted to avoid data loss.
Me ajude a resolver o Bug do sistema de portas.
Capsule Collider e Rigidbody
Estou com esses erros no asset que eu comprei 'EventReference' 'FMOD'
Servidor Node.JS dentro do UNITY?
Como gravar o nome de um personagem inserido pelo usuário no unity
Como colidir apenas com gameobjects com um tag específica
Como adicionar item em uma lista
Erro ao Construir arquivo Google play store Bundle
[TUTORIAL] Sistema de DIA E NOITE completo, com luzes noturnas e SISTEMA DE NUVENS
dano inimigo em player
Jogo de futebol em 2D
Como fazer uma mira de referencia (que fica no centro da tela)
Unity - Como sinalizar um objeto para o Jogador?
Ataque indo em direção do personagem mudando a velocidade
Unity - Traduzir os conteúdos do Jogo
Como fazer o objeto emitido pela partícula ser direcionado até outro objeto
Ajuda em script de inventario
Mudar as imagens da UI com InputSystem
Alguém sabe um componente estilo "Cloth" só que para projeto 2D
Textura PNG transparente fica preta na build
Quero colocar um som de tiro
Uma ajuda com esse script, por favor
Como saber se um objeto UI (Do Canvas) está em cima de outro?
Posicionar objeto
Como deletar minha conta?
Como identificar qual o objeto de um determinado tag que está colidindo
CASA L MODELO 3D FREE FIRE
[TUTORIAL] CONFIGURANDO O UNITY PARA COMPILAR PARA ANDROID
Sistemas Diferentes - Eletricidade.
AJUDA EM SPANW OBSTACULOS ALEATÓRIOS
Unity - Script mt grande interfere no desempenho pra abrir a Scene?
Encontrar em uma List<> o objeto mais próximo do player
Jogo de cartas
Jogo Clicker
Dois carros nao Spawnarem no mesmo lugar (Estilo GTA SAN)
Botões no menu de opções
GERAR SÓ DOIS NUMEROS ALEATORIAMENTE
[RESOLVIDO] Não consigo ativar/desativar um script através de outro
Estou com duvida se uso for ou se tem como usar em uma void.
[RESOLVIDO] Insâncias sendo sebrepostas
Adicione o SDK dos Serviços relacionados a jogos do Google Play ao seu APK
Objeto Pai descobrir que Filho entrou nele
Sistema de Lip Sync
[RESOLVIDO] Menu com botões, e setas
Muita Dúvida em como fazer o tiro do personagem para de ficar automatico
Preciso de algúem para modificar um script, negociaremos o valor $
erro no script...
Blender - Apagar partes internar de um Personagem criado no Fuse
FPS Com erro linha (72,10)
Trailer CHALLENGE, Jogo Que Criei.
[RESOLVIDO] Unity - Scene com poucas coisas, mas ainda pesada de mais!
touch screem VS button,
Erro nos botãos do Menu
Erro no script
Ontem à(s) 11:48 pm
Ontem à(s) 10:55 pm
Ontem à(s) 10:30 pm
Ontem à(s) 6:09 pm
Ontem à(s) 3:36 pm
Ontem à(s) 3:16 pm
Qui Maio 19, 2022 10:06 pm
Ter Maio 17, 2022 11:07 pm
Ter Maio 17, 2022 10:36 pm
Ter Maio 17, 2022 4:55 pm
Dom Maio 15, 2022 6:25 pm
Sab Maio 14, 2022 4:41 pm
Seg Maio 09, 2022 6:25 pm
Seg Maio 09, 2022 7:28 am
Sab Maio 07, 2022 10:40 am
Sab Maio 07, 2022 12:13 am
Qui Maio 05, 2022 8:48 pm
Qua Maio 04, 2022 10:37 am
Ter Maio 03, 2022 6:23 pm
Seg Maio 02, 2022 8:06 pm
Sab Abr 30, 2022 10:43 pm
Sab Abr 30, 2022 10:35 pm
Sab Abr 30, 2022 8:19 pm
Sab Abr 30, 2022 8:12 pm
Sab Abr 30, 2022 7:54 pm
Sab Abr 30, 2022 7:52 pm
Sab Abr 30, 2022 7:48 pm
Sab Abr 30, 2022 7:44 pm
Sab Abr 30, 2022 7:39 pm
Sab Abr 30, 2022 7:35 pm
Sex Abr 29, 2022 10:03 pm
Qui Abr 28, 2022 8:57 pm
Dom Abr 24, 2022 8:57 pm
Dom Abr 24, 2022 3:11 pm
Dom Abr 24, 2022 1:53 pm
Sab Abr 23, 2022 6:29 pm
Sab Abr 23, 2022 6:27 pm
Sab Abr 23, 2022 6:22 pm
Sex Abr 22, 2022 11:10 pm
Sex Abr 22, 2022 8:28 pm
Qui Abr 21, 2022 8:35 pm
Qui Abr 21, 2022 6:54 pm
Qui Abr 21, 2022 12:04 pm
Qui Abr 21, 2022 10:18 am
Qua Abr 20, 2022 6:31 pm
Qua Abr 20, 2022 11:34 am
Ter Abr 19, 2022 10:15 pm
Ter Abr 19, 2022 9:56 pm
Seg Abr 18, 2022 12:18 pm
Sab Abr 16, 2022 9:26 pm
Sab Abr 16, 2022 12:06 pm
Sex Abr 15, 2022 6:16 pm
Qui Abr 14, 2022 9:29 pm
Qui Abr 14, 2022 11:14 am
Qua Abr 13, 2022 6:09 pm
Qua Abr 13, 2022 11:30 am
Ter Abr 12, 2022 7:26 pm
Sab Abr 09, 2022 2:53 pm
Sex Abr 08, 2022 7:57 pm
Qui Abr 07, 2022 8:11 pm
Qua Abr 06, 2022 8:20 pm
Ter Abr 05, 2022 9:56 pm
Sab Abr 02, 2022 9:09 am
Sex Abr 01, 2022 1:55 pm
Qua Mar 30, 2022 10:06 pm
Qua Mar 30, 2022 8:27 am
Dom Mar 27, 2022 10:22 am
Sex Mar 25, 2022 4:14 pm
Qui Mar 24, 2022 5:59 am
Qua Mar 23, 2022 9:37 pm
Ter Mar 22, 2022 5:39 pm
Seg Mar 21, 2022 3:55 pm
Sex Mar 18, 2022 12:57 am
Qua Mar 16, 2022 9:45 pm
Qua Mar 16, 2022 9:25 pm
Qua Mar 16, 2022 9:20 pm
Ter Mar 15, 2022 10:24 am
Ter Mar 15, 2022 9:11 am
Seg Mar 14, 2022 7:46 pm
Dom Mar 13, 2022 11:26 pm
Sab Mar 12, 2022 4:55 pm
Qui Mar 10, 2022 11:28 pm
Ter Mar 08, 2022 8:05 pm
Ter Mar 08, 2022 6:57 pm
Seg Mar 07, 2022 11:46 pm
Seg Mar 07, 2022 1:35 pm
Sab Mar 05, 2022 3:33 pm
Sab Mar 05, 2022 4:55 am
Sex Mar 04, 2022 5:41 pm
Sex Mar 04, 2022 5:01 pm
Sex Mar 04, 2022 2:42 pm
Qui Mar 03, 2022 7:49 pm
Qui Mar 03, 2022 6:48 pm
Ter Mar 01, 2022 11:52 pm
Dom Fev 27, 2022 7:46 pm
Dom Fev 27, 2022 5:09 pm
Dom Fev 27, 2022 12:25 pm
Dom Fev 27, 2022 1:43 am
Sab Fev 26, 2022 7:07 pm
Pokedlg
Rangel Oblivion
Pedro1saac
JulioWinchester
dutrabr100
dutrabr100
AnderGames
Rangel Oblivion
dstaroski
FelipeSouza11
capim22
Rangel Oblivion
dstaroski
Patrick
dstaroski
SteveRogers
Rangel Oblivion
Magnatah
Rangel Oblivion
Charlesoff
Magnatah
stratengine
Magnatah
Magnatah
Magnatah
Magnatah
Magnatah
Magnatah
Magnatah
Magnatah
BlesseD
stratengine
SteveRogers
claudiano2020
miguelsainz
claudiano2020
claudiano2020
claudiano2020
gabrimo
miguelsainz
SteveRogers
Triskal
Eris
pedro123
FelipeSouza11
estuartyy
SteveRogers
EricknhYT
azool
Lucas Andrade
stratengine
stratengine
adrianobros2
Pkneves
Pkneves
lilvinicin
Eris
WLCS22
Andrewkeny
WLCS22
SteveRogers
zeref
Crash Psycho
verme1311
Rangel Oblivion
PROgamadornoob
Rangel Oblivion
Alex Jun
stratengine
Alex Jun
Angela
verme1311
gael
MarcosSchultz
FelipeSouza11
WLCS22
NKKF
igorlucasbraz
Crash Psycho
EricknhYT
DarknessShark
Alex Jun
WLCS22
Charlesoff
garrito
NKKF
EricknhYT
raioferros
Pokedlg
joaoguil3
Rangel Oblivion
DarknessShark
WLCS22
FelipeSouza11
lauderson
WLCS22
adenilson romao
AGAMENOM
DarknessShark

[TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

+7
Weslley
Cezar2016
Duarte
Dom3000
dipode
DuViDoSo
marcos4503
11 participantes

Ir para baixo

TUTORIAL [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 Qui Jun 15, 2017 1:08 pm

Bom. Marcos estava em mais uma de suas andanças pela internet, ele procurava conhecer mais da classe System.IO do unity.. Ele queria aprender a manipular arquivos na memoria do dispositivo.. Acidentalmente (ele derrubou o elemento X) ele encontrou um link nos fóruns em inglês da Unity, que ensinava como fazer um Save persistente de jogo, o sisteminha salva os dados do jogo no formato DAT, na memoria do dispositivo, com criptografia, para evitar de usuarios mais leigos editarem o arquivo e adicionar umas moedinhas a mais..


Bom! Achei isso fantastico, e hoje to resolvendo trazer pra vocês esse sisteminha.


Prós
- Possui criptografia
- Funciona em Android, PC, IOs etc..
- Salva tudo num arquivo externo, com a estrutura de um arquivo DAT, mais você pode alterar o formato pra dar aquela enganada, para que ninguem manipule o arquivo, assim possibilitando para que o jogador faça backup do seu progresso!
- É 10000000000X mais prático do que o PlayerPrefs
- Pode salvar variaveis String, Bool, Int, Float, Double etc.. (Isso mesmo, Booleanas!!)

Contras
- Não conheço bem esse sistema (Vi várias pessoas falando bem dele no fórum em ingles da Unity, ele parece ser bem útil, pratico e seguro)
- A criptografia talvez possa ser quebrada por usuarios mais avançados. Talvez algum usuario mais avançado possa usar um programa para editar o arquivo do jogo, mais fiz várias pesquisas por isso e não encontrei nada. Fora que esse tal usuario teria que dedicar muito tempo pra descobrir que se trata de um arquivo DAT.
- O jogador pode perder todo seu progresso em caso de corrupção do arquivo, ou até mesmo em caso do jogo ser encerrado durante o salvamento (se seu jogo é mais complexo, você pode criar um sisteminha de backup e restauração pro arquivo de save.)

Nível do tutorial: Intermediário

Bom. Dito isso tudo, vamos pra diversão..

(Eu empacotei tudo em um asset que você pode baixar e usar para estudar. Só possui 1 script, e uma cena com alguns botões pra você manipular e testar o esqueminha, o script esta totalmente comentado.)


Download:
http://www.mediafire.com/file/bmck7dk601wh4gk/exemploSaveGame.unitypackage

Para importar para seu projeto, é só ir na Aba "Assets" > "Import Package" > "Custom Package" e selecionar o local onde esta o arquivo do asset, que voce acabou de baixar.

Observação rápida: Em caso de PC, o arquivo é salvo na pasta "AppData", no Android, o arquivo é salvo na pasta "Data", no mesmo diretorio da "Obb".


Tem uma dúvida? Comente aqui e eu vou tentar te responder!!


PS: Tentei editar o arquivo de algumas formas, alterando os valores das variaveis e tal. Sempre que editei o arquivo o Unity dava erro. Resumindo, sempre que eu tento editar o arquivo, o arquivo é corrompido.


Última edição por marcos4503 em Qui Jun 15, 2017 10:29 pm, editado 1 vez(es)
marcos4503
marcos4503
Instrutor

Masculino PONTOS : 4154
REPUTAÇÃO : 578
Idade : 23
Áreas de atuação :
Programação, Mobile, Web e Design.

Veja meus assets para Unity!
https://windsoft.xyz/mtassets


Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! Aad8pUi

http://windsoft.xyz

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por DuViDoSo Qui Jun 15, 2017 7:51 pm

Maravilhoso, lindo... Cara eu te amo!! e nois vlw. isso me ajudar pacas.
DuViDoSo
DuViDoSo
Modelador

Masculino PONTOS : 2864
REPUTAÇÃO : 169
Idade : 22
Áreas de atuação : Programador em C#, Desenvolvedor Indie.
Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! WvDYdlf

http://www.naotenho.com.br

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 Qui Jun 15, 2017 10:28 pm

Opa!! Achei isso super interessante e útil e resolvi compartilhar com vocês! Sucesso!!
marcos4503
marcos4503
Instrutor

Masculino PONTOS : 4154
REPUTAÇÃO : 578
Idade : 23
Áreas de atuação :
Programação, Mobile, Web e Design.

Veja meus assets para Unity!
https://windsoft.xyz/mtassets


Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! Aad8pUi

http://windsoft.xyz

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por dipode Qui Jun 15, 2017 10:44 pm

sabe que criptografia utiliza?
dipode
dipode
Avançado
Avançado

PONTOS : 2691
REPUTAÇÃO : 39
Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! WvDYdlf

https://github.com/perdugames

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 Qui Jun 15, 2017 10:56 pm

Então, tipo, não sei se é beeem uma criptografia, eu utlizei este termo, porque eu dei uma pesquisada e o Unity monta o arquivo com uma estrutura do tipo DAT, que é um arquivo usado por programas para salvar dados. Mais é aí que ta.. Cada programa (no caso a Unity) salva o DAT da sua propria forma ou seja, com uma estrutura propria, o que faz o arquivo ter uma certa criptografia. Por isso não sei bem qual é a criptografia do Unity, só sei que é DAT. Posso estar errado, mais isso foi o que eu aprendi pesquisando e tals
marcos4503
marcos4503
Instrutor

Masculino PONTOS : 4154
REPUTAÇÃO : 578
Idade : 23
Áreas de atuação :
Programação, Mobile, Web e Design.

Veja meus assets para Unity!
https://windsoft.xyz/mtassets


Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! Aad8pUi

http://windsoft.xyz

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por dipode Qui Jun 15, 2017 11:39 pm

marcos4503 escreveu:Então, tipo, não sei se é beeem uma criptografia, eu utlizei este termo, porque eu dei uma pesquisada e o Unity monta o arquivo com uma estrutura do tipo DAT, que é um arquivo usado por programas para salvar dados. Mais é aí que ta.. Cada programa (no caso a Unity) salva o DAT da sua propria forma ou seja, com uma estrutura propria, o que faz o arquivo ter uma certa criptografia. Por isso não sei bem qual é a criptografia do Unity, só sei que é DAT. Posso estar errado, mais isso foi o que eu aprendi pesquisando e tals
Entendi, e aqui:

Código:
DiretorioDoArquivo = Application.persistentDataPath + "/" + NomeDoArquivo + "." + FormatoDoArquivo;

Porque a linha acima está no update?
dipode
dipode
Avançado
Avançado

PONTOS : 2691
REPUTAÇÃO : 39
Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! WvDYdlf

https://github.com/perdugames

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 Qui Jun 15, 2017 11:42 pm

O ideal é que ela vá no Start, mais no meu projeto eu só coloquei ela no update em caso de um de voces mudar algum detalhe como nome ou formato, o diretorio na UI se atualizar! Só isso mesmo!
marcos4503
marcos4503
Instrutor

Masculino PONTOS : 4154
REPUTAÇÃO : 578
Idade : 23
Áreas de atuação :
Programação, Mobile, Web e Design.

Veja meus assets para Unity!
https://windsoft.xyz/mtassets


Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! Aad8pUi

http://windsoft.xyz

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por dipode Qui Jun 15, 2017 11:56 pm

marcos4503 escreveu:O ideal é que ela vá no Start, mais no meu projeto eu só coloquei ela no update em caso de um de voces mudar algum detalhe como nome ou formato, o diretorio na UI se atualizar! Só isso mesmo!

De boa, vou dar uma estudada nisso aqui.
dipode
dipode
Avançado
Avançado

PONTOS : 2691
REPUTAÇÃO : 39
Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! WvDYdlf

https://github.com/perdugames

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 Sex Jun 16, 2017 12:01 am

Tranquilo! Se tiver mais alguma duvida, é só perguntar, eu acho que não expliquei direito no script.. Sou pessimo para explicar ;-;
marcos4503
marcos4503
Instrutor

Masculino PONTOS : 4154
REPUTAÇÃO : 578
Idade : 23
Áreas de atuação :
Programação, Mobile, Web e Design.

Veja meus assets para Unity!
https://windsoft.xyz/mtassets


Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! Aad8pUi

http://windsoft.xyz

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por dipode Sex Jun 16, 2017 1:05 am

marcos4503 escreveu:Tranquilo! Se tiver mais alguma duvida, é só perguntar, eu acho que não expliquei direito no script.. Sou pessimo para explicar ;-;

Valeu, eu estava utilizando um sistema próprio, já tinha lido sobre isso, e visto esse aqui uns tempo atrás(é o video explicando como faz o script, é a mesma logica do seu, muda nada não, vou deixar aqui para quem quiser ver):

https://unity3d.com/pt/learn/tutorials/topics/scripting/persistence-saving-and-loading-data

mas ainda não estava na hora de criar o sistema de salve geral, ai nem liguei em usar o próprio, só para salvar onde estava sendo necessário, mas daqui uns dias vou ter que criar, vou ver se desse modo vai mais rápido kkkkk
dipode
dipode
Avançado
Avançado

PONTOS : 2691
REPUTAÇÃO : 39
Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! WvDYdlf

https://github.com/perdugames

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 Sex Jun 16, 2017 1:13 am

Belezura!
marcos4503
marcos4503
Instrutor

Masculino PONTOS : 4154
REPUTAÇÃO : 578
Idade : 23
Áreas de atuação :
Programação, Mobile, Web e Design.

Veja meus assets para Unity!
https://windsoft.xyz/mtassets


Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! Aad8pUi

http://windsoft.xyz

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por dipode Sex Jun 16, 2017 1:52 am

marcos4503 escreveu:Belezura!

Mudei aqui para esse jeito, bem mais rápido que o meu criar string com variáveis, salvar em linha no arquivo, depois carregar dando um split nas linhas etc kkkkkkk agora vai rapidim, queria saber o que o método "Serialize" faz.
dipode
dipode
Avançado
Avançado

PONTOS : 2691
REPUTAÇÃO : 39
Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! WvDYdlf

https://github.com/perdugames

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 Sex Jun 16, 2017 9:33 am

Bom, pelo que eu aprendi pesquisando e lendo as documentações e tal, é que basicamente o serialization é um comando que o Unity usa pra meio que compactar dados num arquivo que ele possa editar, salvar e ler mais tarde. E por ai vai.. Aqui ta o link se quiser dar uma aprofundada:

https://docs.unity3d.com/Manual/script-Serialization.html
marcos4503
marcos4503
Instrutor

Masculino PONTOS : 4154
REPUTAÇÃO : 578
Idade : 23
Áreas de atuação :
Programação, Mobile, Web e Design.

Veja meus assets para Unity!
https://windsoft.xyz/mtassets


Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! Aad8pUi

http://windsoft.xyz

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Dom3000 Sex Jun 16, 2017 11:59 am

cara vlw mesmo por compartilhar isso Smile
Dom3000
Dom3000
Programador

Masculino PONTOS : 3659
REPUTAÇÃO : 232
Idade : 26
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Page: https://www.facebook.com/BatlesofWorlds/

Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! WvDYdlf

https://www.instagram.com/battlesofworlds/?hl=pt-br

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 Sex Jun 16, 2017 12:15 pm

De nada man! Sempre que acho algo daora assim eu tento trazer pra galera aqui!!
marcos4503
marcos4503
Instrutor

Masculino PONTOS : 4154
REPUTAÇÃO : 578
Idade : 23
Áreas de atuação :
Programação, Mobile, Web e Design.

Veja meus assets para Unity!
https://windsoft.xyz/mtassets


Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! Aad8pUi

http://windsoft.xyz

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Duarte Ter Fev 27, 2018 6:54 pm

Ola amigo, eu estou utilizando esse método para salvar meu game esta funcionando perfeitamente na Unity no Android ele não esta salvando.
Duarte
Duarte
Programador

Masculino PONTOS : 2438
REPUTAÇÃO : 97
Idade : 22
Áreas de atuação : Programação
Desenvolvedor Android
Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! WvDYdlf

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 Ter Fev 27, 2018 10:47 pm

Voce fez algum tipo de alteração no script?
marcos4503
marcos4503
Instrutor

Masculino PONTOS : 4154
REPUTAÇÃO : 578
Idade : 23
Áreas de atuação :
Programação, Mobile, Web e Design.

Veja meus assets para Unity!
https://windsoft.xyz/mtassets


Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! Aad8pUi

http://windsoft.xyz

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Cezar2016 Ter Fev 27, 2018 11:12 pm

Muito bom o script amigo, mas tenho uma duvida. Podemos criar uma class dentro de outro ? e por que foi feito essa manobra.


Código:
[Serializable] //Nessa parte nós meio que formatamos o nosso arquivo, criando uma classse para isso. Aqui criamos as variaveis que serão adicionadas ao arquivo, e vale notar que você pode repetir nome de variaveis, desde que uma delas esteja fora dessa classe.
    class DadosDoJogo
    {
        public int Int;
        public float Float;
        public string String;
        public bool Bool;
    }

Cezar2016
Avançado
Avançado

Masculino PONTOS : 2189
REPUTAÇÃO : 28
Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! WvDYdlf

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 Qua Fev 28, 2018 6:21 am

Olha, nunca testei amigo, mais acredito que sim. Algo como:

Código:
[Serializable]
public class DadosDoJogo{

public bool Teste;

public class NovaClasse{

public bool Teste;

}

}
marcos4503
marcos4503
Instrutor

Masculino PONTOS : 4154
REPUTAÇÃO : 578
Idade : 23
Áreas de atuação :
Programação, Mobile, Web e Design.

Veja meus assets para Unity!
https://windsoft.xyz/mtassets


Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! Aad8pUi

http://windsoft.xyz

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Dom3000 Qua Fev 28, 2018 8:28 am

Cezar2016 escreveu:Muito bom o script amigo, mas tenho uma duvida. Podemos criar uma class dentro de outro ? e por que foi feito essa manobra.


Código:
[Serializable] //Nessa parte nós meio que formatamos o nosso arquivo, criando uma classse para isso. Aqui criamos as variaveis que serão adicionadas ao arquivo, e vale notar que você pode repetir nome de variaveis, desde que uma delas esteja fora dessa classe.
    class DadosDoJogo
    {
        public int Int;
        public float Float;
        public string String;
        public bool Bool;
    }

cara não da, ja tentei ,tem que colocar so na classe e separar por comentarios
Dom3000
Dom3000
Programador

Masculino PONTOS : 3659
REPUTAÇÃO : 232
Idade : 26
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Page: https://www.facebook.com/BatlesofWorlds/

Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! WvDYdlf

https://www.instagram.com/battlesofworlds/?hl=pt-br

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Cezar2016 Qua Fev 28, 2018 11:04 am

marcos4503 escreveu:Olha, nunca testei amigo, mais acredito que sim. Algo como:

Código:
[Serializable]
public class DadosDoJogo{

public bool Teste;

public class NovaClasse{

public bool Teste;

}

}

O que estou querendo dizer é, por que a class " DadosDoJogo " esta dentro da class " ScriptDeSave " por que não esta fora da class, tem alguma diferencia isso ? Seria algo novo para mim.

Cezar2016
Avançado
Avançado

Masculino PONTOS : 2189
REPUTAÇÃO : 28
Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! WvDYdlf

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Weslley Qua Fev 28, 2018 11:24 am

Isso se chama Nested Types ou tipos aninhados! que também pode ser acessada por outras classes de acordo com seu modificador de acesso.


Última edição por Weslley em Qua Fev 28, 2018 1:01 pm, editado 1 vez(es)
Weslley
Weslley
Moderador

Masculino PONTOS : 4760
REPUTAÇÃO : 725
Idade : 24
Áreas de atuação : https://play.google.com/store/apps/dev?id=4937415175307699867
http://blurred.com.br/
Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! Aad8pUi

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Cezar2016 Qua Fev 28, 2018 11:38 am

Weslley escreveu:Isso se chama Nested Types ou tipos aninhados! que também pode ser acessada por outras variáveis de acordo com seu modificador de acesso.
hunnn valeu agora compreendo.

Cezar2016
Avançado
Avançado

Masculino PONTOS : 2189
REPUTAÇÃO : 28
Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! WvDYdlf

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Samuelsk Qua Fev 28, 2018 12:28 pm

marcos4503 escreveu:Bom. Marcos estava em mais uma de suas andanças pela internet, ele procurava conhecer mais da classe System.IO do unity.. Ele queria aprender a manipular arquivos na memoria do dispositivo.. Acidentalmente (ele derrubou o elemento X) ele encontrou um link nos fóruns em inglês da Unity, que ensinava como fazer um Save persistente de jogo, o sisteminha salva os dados do jogo no formato DAT, na memoria do dispositivo, com criptografia, para evitar de usuarios mais leigos editarem o arquivo e adicionar umas moedinhas a mais..


Bom! Achei isso fantastico, e hoje to resolvendo trazer pra vocês esse sisteminha.


Prós
- Possui criptografia
- Funciona em Android, PC, IOs etc..
- Salva tudo num arquivo externo, com a estrutura de um arquivo DAT, mais você pode alterar o formato pra dar aquela enganada, para que ninguem manipule o arquivo, assim possibilitando para que o jogador faça backup do seu progresso!
- É 10000000000X mais prático do que o PlayerPrefs
- Pode salvar variaveis String, Bool, Int, Float, Double etc.. (Isso mesmo, Booleanas!!)

Contras
- Não conheço bem esse sistema (Vi várias pessoas falando bem dele no fórum em ingles da Unity, ele parece ser bem útil, pratico e seguro)
- A criptografia talvez possa ser quebrada por usuarios mais avançados. Talvez algum usuario mais avançado possa usar um programa para editar o arquivo do jogo, mais fiz várias pesquisas por isso e não encontrei nada. Fora que esse tal usuario teria que dedicar muito tempo pra descobrir que se trata de um arquivo DAT.
- O jogador pode perder todo seu progresso em caso de corrupção do arquivo, ou até mesmo em caso do jogo ser encerrado durante o salvamento (se seu jogo é mais complexo, você pode criar um sisteminha de backup e restauração pro arquivo de save.)

Nível do tutorial: Intermediário

Bom. Dito isso tudo, vamos pra diversão..

(Eu empacotei tudo em um asset que você pode baixar e usar para estudar. Só possui 1 script, e uma cena com alguns botões pra você manipular e testar o esqueminha, o script esta totalmente comentado.)


Download:
http://www.mediafire.com/file/bmck7dk601wh4gk/exemploSaveGame.unitypackage

Para importar para seu projeto, é só ir na Aba "Assets" > "Import Package" > "Custom Package" e selecionar o local onde esta o arquivo do asset, que voce acabou de baixar.

Observação rápida: Em caso de PC, o arquivo é salvo na pasta "AppData", no Android, o arquivo é salvo na pasta "Data", no mesmo diretorio da "Obb".


Tem uma dúvida? Comente aqui e eu vou tentar te responder!!


PS: Tentei editar o arquivo de algumas formas, alterando os valores das variaveis e tal. Sempre que editei o arquivo o Unity dava erro. Resumindo, sempre que eu tento editar o arquivo, o arquivo é corrompido.



Compatível com qual versão da uUnity ?
Samuelsk
Samuelsk
Membro
Membro

Masculino PONTOS : 1737
REPUTAÇÃO : 17
Idade : 23
Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! WvDYdlf

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por NKKF Qua Fev 28, 2018 2:12 pm

Estou na Unity 2018 e funciona normalmente. (Eu acho que não funciona na 4.6)
NKKF
NKKF
ProgramadorMaster

Masculino PONTOS : 3841
REPUTAÇÃO : 547
Idade : 17
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! Aad8pUi

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 Qua Fev 28, 2018 2:13 pm

Samuelsk escreveu:


Compatível com qual versão da uUnity ?

Provavelmente é compatível com todas as versões da Unity..
marcos4503
marcos4503
Instrutor

Masculino PONTOS : 4154
REPUTAÇÃO : 578
Idade : 23
Áreas de atuação :
Programação, Mobile, Web e Design.

Veja meus assets para Unity!
https://windsoft.xyz/mtassets


Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! Aad8pUi

http://windsoft.xyz

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Samuelsk Qua Fev 28, 2018 6:39 pm

Tentei abri  a "Cena de Exemplo" na Unity 5.3 e dizia que o Serialize não era compatível 
achei bem interessante sua explicação sobre ele, me interessei..mas n consegui abrir o exemplo e fico um pouco sem entender ele...
Samuelsk
Samuelsk
Membro
Membro

Masculino PONTOS : 1737
REPUTAÇÃO : 17
Idade : 23
Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! WvDYdlf

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por NKKF Qua Fev 28, 2018 6:51 pm

Eae Samuel, também tive um problema, porém, tem algumas coisas que não podem Serializar mesmo. Você baixou a cena padrão sem modificar nada?
NKKF
NKKF
ProgramadorMaster

Masculino PONTOS : 3841
REPUTAÇÃO : 547
Idade : 17
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! Aad8pUi

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Samuelsk Qua Fev 28, 2018 7:02 pm

Souris escreveu:Eae Samuel, também tive um problema, porém, tem algumas coisas que não podem Serializar mesmo. Você baixou a cena padrão sem modificar nada?

Sim, abri um New Project na 5.3 importei o Assets..e tentei abrir o exemplo e bang.. nada ._.
Samuelsk
Samuelsk
Membro
Membro

Masculino PONTOS : 1737
REPUTAÇÃO : 17
Idade : 23
Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! WvDYdlf

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por NKKF Sex Maio 25, 2018 6:05 pm

Pessoal, salvar o arquivo como TXT não seria a mesma coisa? Pois é possível uma leitura através do Notepad.
(É porque eu estou lendo dados através de um website, que retorna apenas texto UTF-Cool
Então, daria problemas?
NKKF
NKKF
ProgramadorMaster

Masculino PONTOS : 3841
REPUTAÇÃO : 547
Idade : 17
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! Aad8pUi

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Magnatah Sex Maio 25, 2018 7:39 pm

Vou Fazer Uns Testes Pra Ver Se é Bom.
Magnatah
Magnatah
Instrutor

Masculino PONTOS : 2486
REPUTAÇÃO : 173
Idade : 26
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! Aad8pUi

https://www.instagram.com/ampercygames/

Ir para o topo Ir para baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por danielPedra90 Qui Nov 28, 2019 10:19 pm

Galera boa noite! Sou iniciante e estou desenvolvendo um projeto que já conta com sistema de fases e pontuação, baixei esse script e estou tentando adaptá-lo. Para tal, estou tentando usar o comando Get.Component<>(). para tentar trazer os valores das variáveis dos meus scprits... Alguém poderia me dar um apoio? Eu vou ter quer criar novas variáveis mesmo? Sendo que eu já as tenho num jogo que já roda pontuação?
Estou fazendo o seguinte: 

Código:
void Update () {


        VariavelDecimal = GetComponent<Tempo4>().segundos;
        VariavelInteira = GetComponent<Tempo4>().resultado2;


No editor não da erro, mas no inspector da NullReferenceException: Object reference not set to an instance of an object.

Antecipadamente agradeço!
Valeu!

danielPedra90
Membro
Membro

PONTOS : 1166
REPUTAÇÃO : 4
Respeito as regras : [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado! WvDYdlf

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos similares

 
Permissões neste sub-fórum
Não podes responder a tópicos