Transição de cenas Bug com Scripts
2 participantes
Página 1 de 1
Transição de cenas Bug com Scripts
Galera Boa noite, eu criei uma cena a umas 2 semanas atras..usando o FPSController
Criei a cena e Scripts...
Depois de algumas semanas de trabalho pesado a cena ficou pronta
e vim para a segunda
e ai começou minha dor de cabeca
primeiramente meu player nao andanva...mechi...mechi ate descobrir que o timescale tava em 0....percebivel que isso era um impacto da primeira cena...MAS COMO?
se nao tem nenhum script em minha cena 02?
nenhum objeto tem script...estou usando o FPS controler MAS ele nao foi aplicado na cena antiga...entao continua padrao
pelo o que me parece...os scripts da cena antiga estao afetando minha cena nova...mesmo eles estando na aba PROJECT
ha alguma forma de eu desabilitar isso SEM TER QUE entrar em cada script e ter que colocar uma verificacao bool no topo de cada void update? tipo...IF ESTA NA CENA O1 PODE ROLAR ....SENAO NAO PODE
mnuito trabalho ne mesmo?
tem como os scripts da minha 1 cena, fazer impacto só la?...os comandos do meu player estao doidoes...justamente por isso;
vlw
Criei a cena e Scripts...
Depois de algumas semanas de trabalho pesado a cena ficou pronta
e vim para a segunda
e ai começou minha dor de cabeca
primeiramente meu player nao andanva...mechi...mechi ate descobrir que o timescale tava em 0....percebivel que isso era um impacto da primeira cena...MAS COMO?
se nao tem nenhum script em minha cena 02?
nenhum objeto tem script...estou usando o FPS controler MAS ele nao foi aplicado na cena antiga...entao continua padrao
pelo o que me parece...os scripts da cena antiga estao afetando minha cena nova...mesmo eles estando na aba PROJECT
ha alguma forma de eu desabilitar isso SEM TER QUE entrar em cada script e ter que colocar uma verificacao bool no topo de cada void update? tipo...IF ESTA NA CENA O1 PODE ROLAR ....SENAO NAO PODE
mnuito trabalho ne mesmo?
tem como os scripts da minha 1 cena, fazer impacto só la?...os comandos do meu player estao doidoes...justamente por isso;
vlw
Re: Transição de cenas Bug com Scripts
Pelo o que eu lembro, o time scale do Unity é uma variável estática, se vc mudar ela num local, ela muda em todos os lugares.
O que você pode fazer e é bem simples é criar um script e colocá-lo num objeto vazio da cena 2 fazendo o time scale voltar ao normal:
O que você pode fazer e é bem simples é criar um script e colocá-lo num objeto vazio da cena 2 fazendo o time scale voltar ao normal:
- Código:
public class RestoreTimeScale : MonoBehaviour{
void Awake(){
Time.timeScale = 1;
}
}
Re: Transição de cenas Bug com Scripts
cara meu problema não é o timescale e sim todos os scriptsMayLeone escreveu:Pelo o que eu lembro, o time scale do Unity é uma variável estática, se vc mudar ela num local, ela muda em todos os lugares.
O que você pode fazer e é bem simples é criar um script e colocá-lo num objeto vazio da cena 2 fazendo o time scale voltar ao normal:
- Código:
public class RestoreTimeScale : MonoBehaviour{
void Awake(){
Time.timeScale = 1;
}
}
se eu aperto E acontece mesma coisa que acontece nna cena 1
mesmo nao tendo script nenhum dizendo nada na cena
se fosse so o timesclae eu ja tinha arrumado
Re: Transição de cenas Bug com Scripts
Isso é de fato estranho, quando você muda de cena, os Scripts da cena anterior não devem mais funcionar.
Alguma coisa pode estar causando esse bug, mas sem saber como você fez os Scripts fica difícil saber.
O que pode estar havendo:
1. Algum dos objetos que você tem na cena 1 possui um script com o comando DontDestroyOnLoad, que impede que o objeto seja destruído na próxima cena;
2. Você pode ter alterado alguma variável estática do Unity, assim como fez com o time scale, e essa alteração vai se propagar por todas as cenas mesmo;
3. O tempo alterado no time scale pode ter causado um lag na transição de cenas, e por conta desse delay alguns comandos ainda se ativam. Teste tirar a alteração do time scale só momentaneamente para ver se resolve;
4. Se o seu personagem estiver em ambas cenas, pode ser que algum script dele ou componente (como animator chamando eventos) estejam ativando esses comandos que eram pra ser da cena 1;
5. Também verifique o método que está chamando para mudar a cena, eu não tenho certeza se há algum que possui o mesmo efeito que o DontDestroyOnLoad;
6. Crie um novo projeto e copie as cenas e Scripts pra ele, e veja se no novo projeto esse bug ocorre, se não ocorrer, pode ser algum bug de arquivo corrompido ou coisa parecida no projeto original;
Como pode ver, são várias coisas que podem estar causando o bug, verifique cada uma delas, ou mostra um vídeo do bug acontecendo, junto da postagem dos Scripts que ainda estão ativos pra gente poder ajudar melhor.
Alguma coisa pode estar causando esse bug, mas sem saber como você fez os Scripts fica difícil saber.
O que pode estar havendo:
1. Algum dos objetos que você tem na cena 1 possui um script com o comando DontDestroyOnLoad, que impede que o objeto seja destruído na próxima cena;
2. Você pode ter alterado alguma variável estática do Unity, assim como fez com o time scale, e essa alteração vai se propagar por todas as cenas mesmo;
3. O tempo alterado no time scale pode ter causado um lag na transição de cenas, e por conta desse delay alguns comandos ainda se ativam. Teste tirar a alteração do time scale só momentaneamente para ver se resolve;
4. Se o seu personagem estiver em ambas cenas, pode ser que algum script dele ou componente (como animator chamando eventos) estejam ativando esses comandos que eram pra ser da cena 1;
5. Também verifique o método que está chamando para mudar a cena, eu não tenho certeza se há algum que possui o mesmo efeito que o DontDestroyOnLoad;
6. Crie um novo projeto e copie as cenas e Scripts pra ele, e veja se no novo projeto esse bug ocorre, se não ocorrer, pode ser algum bug de arquivo corrompido ou coisa parecida no projeto original;
Como pode ver, são várias coisas que podem estar causando o bug, verifique cada uma delas, ou mostra um vídeo do bug acontecendo, junto da postagem dos Scripts que ainda estão ativos pra gente poder ajudar melhor.
Re: Transição de cenas Bug com Scripts
bom entao vamos la...MayLeone escreveu:Isso é de fato estranho, quando você muda de cena, os Scripts da cena anterior não devem mais funcionar.
Alguma coisa pode estar causando esse bug, mas sem saber como você fez os Scripts fica difícil saber.
O que pode estar havendo:
1. Algum dos objetos que você tem na cena 1 possui um script com o comando DontDestroyOnLoad, que impede que o objeto seja destruído na próxima cena;
2. Você pode ter alterado alguma variável estática do Unity, assim como fez com o time scale, e essa alteração vai se propagar por todas as cenas mesmo;
3. O tempo alterado no time scale pode ter causado um lag na transição de cenas, e por conta desse delay alguns comandos ainda se ativam. Teste tirar a alteração do time scale só momentaneamente para ver se resolve;
4. Se o seu personagem estiver em ambas cenas, pode ser que algum script dele ou componente (como animator chamando eventos) estejam ativando esses comandos que eram pra ser da cena 1;
5. Também verifique o método que está chamando para mudar a cena, eu não tenho certeza se há algum que possui o mesmo efeito que o DontDestroyOnLoad;
6. Crie um novo projeto e copie as cenas e Scripts pra ele, e veja se no novo projeto esse bug ocorre, se não ocorrer, pode ser algum bug de arquivo corrompido ou coisa parecida no projeto original;
Como pode ver, são várias coisas que podem estar causando o bug, verifique cada uma delas, ou mostra um vídeo do bug acontecendo, junto da postagem dos Scripts que ainda estão ativos pra gente poder ajudar melhor.
eu verifiquei umas coisas...e dos seus pontos o que mais se encaixaria é que eu alterei 2 variaveis do FPSController (script do fpscontroler)
pq????
para que eu podesse fazer um sistema de estamina...alterei as variaveis m_RunSpeed e m_IsWalking
tirei o [SerializeField] e private
e troquei por uma public static...funcionou...
MAS QUANDO eu carregava a cena 2 via que meu sistema de pause fazia a segunda cena entrar em timescale 0
ai eu criei um script antibug apenas com uma void start para iniciar no 1
so que quando eu inventava de correr...e apertava SHIFT...meu player parava no lugar...resultado do script de estamina...mas enfim
o que eu fiz no final de tudo...eu dupliquei o script FPSCONTROLER e coloquei o nome de fpscontrollercena02
ai eu resetei o script...copiei o personagem da 1 cena...e troquei o script que é o mesmo...pq?
pq o script de estamina esta ligado no fpscontroller..e se eu trocarsse pelo fpscontrollercena02 nao afetaria em nada
e foi isso que ocorreu...
ate agora nao percebi nada mas espero que nao haja outros problemas assim...pois isso é um grande NADA HAVER
obrigado pela ajuda e desculpas pelo post desnecessario, eu poderia ter tido mais atenção
criar script..modelar...editar audios...cenas..bugs...e aguentar namorada faz a gente passsar erros simples aoskopaskpoaskopa
estou trabalhando em um projeto grande...o game 2 de um em que eu ja lançei aqui no forum
Game 1.0.0
Versao Inicial
Game 2.0.0
Versao final
espero trazer em breve o game de dar sustos ^^
vlw ai
Tópicos semelhantes
» Transição de cenas
» Relacionado a transição de cenas.
» Transição de Cores Entre Cenas!
» Modificação de scripts em cenas diferentes
» CAMERA BUGANDO NA TRANSIÇÃO DE CENA
» Relacionado a transição de cenas.
» Transição de Cores Entre Cenas!
» Modificação de scripts em cenas diferentes
» CAMERA BUGANDO NA TRANSIÇÃO DE CENA
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos