[RESOLVIDO] Rotacionar tela mobile
2 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Rotacionar tela mobile
Beleza, amigos?
Minha dúvida é a seguinte: estou criando um jogo para mobile. Ele é todo na vertical. Porém quero criar um mini-game dentro do jogo e a ideia é que ele seja na horizontal.
Como eu faço para rotacionar apenas uma 'scene' do jogo?
Não precisa ter animação nem nada. Quando a scene carregar, ela já estará na horizontal, e quando voltar para o jogo principal a scene estará na vertical.
Se eu mudar as dimensões em 'game', muda de todas as 'scenes'. Depois pensei em rotacionar a câmera do jogo em 90°, mas se eu criar um objeto (um texto por exemplo) ela vai continuar na posição original.
Quero que apenas uma 'scene' do jogo fique na horizontal. Poderiam me ajudar?
Minha dúvida é a seguinte: estou criando um jogo para mobile. Ele é todo na vertical. Porém quero criar um mini-game dentro do jogo e a ideia é que ele seja na horizontal.
Como eu faço para rotacionar apenas uma 'scene' do jogo?
Não precisa ter animação nem nada. Quando a scene carregar, ela já estará na horizontal, e quando voltar para o jogo principal a scene estará na vertical.
Se eu mudar as dimensões em 'game', muda de todas as 'scenes'. Depois pensei em rotacionar a câmera do jogo em 90°, mas se eu criar um objeto (um texto por exemplo) ela vai continuar na posição original.
Quero que apenas uma 'scene' do jogo fique na horizontal. Poderiam me ajudar?
JoelMJunior- MembroAvançado
- PONTOS : 2948
REPUTAÇÃO : 13
Respeito as regras :
Re: [RESOLVIDO] Rotacionar tela mobile
Quando entrar na cena, mude a orientação do dispositivo usando o https://docs.unity3d.com/ScriptReference/Screen-orientation.html
Ao sair, volte pra orientação original.
Ao sair, volte pra orientação original.
Fagner- Moderador
- PONTOS : 4446
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: [RESOLVIDO] Rotacionar tela mobile
Mas nesse caso, eu teria que mudar as dimensões do jogo e do canvas para conseguir trabalhar (colocar os objetos, textos etc.)?
JoelMJunior- MembroAvançado
- PONTOS : 2948
REPUTAÇÃO : 13
Respeito as regras :
Re: [RESOLVIDO] Rotacionar tela mobile
Se eu entendi bem, você tem uma cena separada pro minigame. Faz esse normal, com canvas e todos os elementos da Ui preparado pra orientação portrait, o resto do jogo, faz na orientação landscape.
Não precisa alterar nada na câmera, só de alterar a orientação ela já vai se adaptar, mas o canvas precisa ser feito diferente em cada cena.
Não precisa alterar nada na câmera, só de alterar a orientação ela já vai se adaptar, mas o canvas precisa ser feito diferente em cada cena.
Fagner- Moderador
- PONTOS : 4446
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: [RESOLVIDO] Rotacionar tela mobile
Parece ser um problema bem simples, mas eu não estou conseguindo resolver.
Todas as cenas do jogo são na vertical (1080 x 1920), e eu quero criar apenas uma na horizontal (1920 x 1080).
Nessa nova cena, coloquei essas dimensões no canvas e testei. Não funcionou. Cena foi redimensionada para caber na vertical.
Se eu mudar a Default Orientation em PlayerSettings, eu vou mudar a orientação do projeto inteiro e não é isso o que eu quero.
As configurações do meu canvas estão como na imagem abaixo. Na aba 'Game' da Unity, se eu mudar as dimensões (onde tem Free Aspect, 16:9 etc.), eu mudo de todas as cenas. Atualmente está setado para 1080x1920 por que até então eu estava trabalhando apenas com cenas verticais.
Como faço para mudar a orientação do canvas em apenas uma cena específica do jogo como você disse?
Todas as cenas do jogo são na vertical (1080 x 1920), e eu quero criar apenas uma na horizontal (1920 x 1080).
Nessa nova cena, coloquei essas dimensões no canvas e testei. Não funcionou. Cena foi redimensionada para caber na vertical.
Se eu mudar a Default Orientation em PlayerSettings, eu vou mudar a orientação do projeto inteiro e não é isso o que eu quero.
As configurações do meu canvas estão como na imagem abaixo. Na aba 'Game' da Unity, se eu mudar as dimensões (onde tem Free Aspect, 16:9 etc.), eu mudo de todas as cenas. Atualmente está setado para 1080x1920 por que até então eu estava trabalhando apenas com cenas verticais.
Como faço para mudar a orientação do canvas em apenas uma cena específica do jogo como você disse?
JoelMJunior- MembroAvançado
- PONTOS : 2948
REPUTAÇÃO : 13
Respeito as regras :
Re: [RESOLVIDO] Rotacionar tela mobile
É só criar um script e jogar em algum objeto da cena
algo assim;
na outra cena, você cria um script similar, mas que mude a opção Portrait pra Landscape.
Obs. A resolução do Canvas é só uma referência pras coisas se ajustarem na tela, ela NÃO define a resolução do jogo.
algo assim;
- Código:
public void Start(){
Screen.orientation = ScreenOrientation.Portrait;
}
na outra cena, você cria um script similar, mas que mude a opção Portrait pra Landscape.
Esse código faz exatamente isso, ele muda numa cena, depois você volta pro padrão na outra. Não sei mais como posso te explicar isso, testa aí criando os dois scripts com as orientações diferentes, joga um em cada cena, que você vai ver o resultado.Se eu mudar a Default Orientation em PlayerSettings, eu vou mudar a orientação do projeto inteiro e não é isso o que eu quero
Obs. A resolução do Canvas é só uma referência pras coisas se ajustarem na tela, ela NÃO define a resolução do jogo.
Fagner- Moderador
- PONTOS : 4446
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: [RESOLVIDO] Rotacionar tela mobile
Fiz isso que você disse, Fagner. Não mudou nada. Nem com esse script e nem mudando manualmente a Default Orientation. Nada acontece.
Será que tem a ver com as configurações do canvas como na imagem que coloquei na resposta anterior?
Será que tem a ver com as configurações do canvas como na imagem que coloquei na resposta anterior?
JoelMJunior- MembroAvançado
- PONTOS : 2948
REPUTAÇÃO : 13
Respeito as regras :
Re: [RESOLVIDO] Rotacionar tela mobile
Setando via script, você sobrescreve a configuração que está em PlayerSettings.
Fiz um exemplo setando diretamente na Start(), acredito que vai dar tempo de ver a orientação mudando depois que a cena carrega.
Como tenho quase certeza que você não vai gostar dessa demora pra mudar a orientação, você pode ou usar alguma tela de loading, ou mesmo deixar um fundo de cor sólida até terminar de girar, pra só então mostrar o minigame. Isso é do android mesmo, leva um tempo pra fazer o giro suave.
Baixe o projeto aqui
Já testei aqui no meu celular e funciona normalmente, este foi o script que utilizei em cada cena.
Fiz um exemplo setando diretamente na Start(), acredito que vai dar tempo de ver a orientação mudando depois que a cena carrega.
Como tenho quase certeza que você não vai gostar dessa demora pra mudar a orientação, você pode ou usar alguma tela de loading, ou mesmo deixar um fundo de cor sólida até terminar de girar, pra só então mostrar o minigame. Isso é do android mesmo, leva um tempo pra fazer o giro suave.
Baixe o projeto aqui
Já testei aqui no meu celular e funciona normalmente, este foi o script que utilizei em cada cena.
- Código:
using UnityEngine;
public class AlterarDiretoNaCena : MonoBehaviour
{
public bool landscape;
void Awake()
{
if (landscape)
Screen.orientation = ScreenOrientation.Landscape;
else
Screen.orientation = ScreenOrientation.Portrait;
}
}
Fagner- Moderador
- PONTOS : 4446
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: [RESOLVIDO] Rotacionar tela mobile
As duas cenas continuam na horizontal. A minha versão da Unity aparentemente é mais antiga que a sua. Não sei se é por isso.
Acredito que seja alguma configuração que eu tenha que mudar. Mas não consegui achar nada nesse sentido.
Imagem da cena do Minigame.
Acredito que seja alguma configuração que eu tenha que mudar. Mas não consegui achar nada nesse sentido.
Imagem da cena do Minigame.
JoelMJunior- MembroAvançado
- PONTOS : 2948
REPUTAÇÃO : 13
Respeito as regras :
Re: [RESOLVIDO] Rotacionar tela mobile
Jovem, você testou no celular?
Assim como Application.Quit, isso não é o tipo de coisa que funciona no editor. Seu pc só tem um tipo de orientação, e a resolução que você coloca na aba game como eu disse anteriormente, serve apenas de referência, ela não dita qual a orientação da tela, no máximo resolução e aspecto.
Teste aí no seu celular, caso não tenha o SDK instalado pra gerar uma build.
https://drive.google.com/open?id=1EMTSibqmCCdlDhO83OFN9P_iQ8oGNaxN
Assim como Application.Quit, isso não é o tipo de coisa que funciona no editor. Seu pc só tem um tipo de orientação, e a resolução que você coloca na aba game como eu disse anteriormente, serve apenas de referência, ela não dita qual a orientação da tela, no máximo resolução e aspecto.
Teste aí no seu celular, caso não tenha o SDK instalado pra gerar uma build.
https://drive.google.com/open?id=1EMTSibqmCCdlDhO83OFN9P_iQ8oGNaxN
Fagner- Moderador
- PONTOS : 4446
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: [RESOLVIDO] Rotacionar tela mobile
Testei no celular e funcionou.
Como nem no editor nem na versão para PC tinha funcionado, julguei que não funcionaria no celular.
E eu estava confuso em relação às resoluções da aba Game, o tamanho do canvas e o Default Orientation. Eu ainda estou um pouco, mas agora já posso continuar meu projeto.
Muito obrigado, Fagner.
Como nem no editor nem na versão para PC tinha funcionado, julguei que não funcionaria no celular.
E eu estava confuso em relação às resoluções da aba Game, o tamanho do canvas e o Default Orientation. Eu ainda estou um pouco, mas agora já posso continuar meu projeto.
Muito obrigado, Fagner.
JoelMJunior- MembroAvançado
- PONTOS : 2948
REPUTAÇÃO : 13
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Tela (Screen) Android e Joystick adaptável à tela !
» [RESOLVIDO] Rotacionar player no eixo Y da camera
» Resolução De Tela x 2D Mobile Game
» [RESOLVIDO] Rotacionar Prefab dentro da Scene
» [RESOLVIDO] Rotacionar câmera e manter rotação
» [RESOLVIDO] Rotacionar player no eixo Y da camera
» Resolução De Tela x 2D Mobile Game
» [RESOLVIDO] Rotacionar Prefab dentro da Scene
» [RESOLVIDO] Rotacionar câmera e manter rotação
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos