[Resolvido] - Rotacionar a camera com touch screen
3 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[Resolvido] - Rotacionar a camera com touch screen
Oi galera... Eu estou desenvolvendo um jogo de terceira pessoa, e estou usando o touch screen para girar a camera. Bom.. Eu tambem estou utilizando aquele asset padrão da unity para isso. Então, no lado esquerdo da tela, tem um joystick que controla o personagem, e se o jogador arrastar o dedo na parte direita da tela, a camera se move. Até ai tudo bem... Mais esse asset da unity tem um grave problema.. Ele é meio inutil para movimentos precisos. Vou dar um exemplo. Se o player quiser mover o dedo pela tela, devagar, a camera ainda gira rapido, a velocidade da camera, é fixa, acho que deu pra entender. Sabendo disso, eu resolvi pesquisar sobre o Input.touch, e bom, com ele tudo funciona perfeitamente, se o player mover o dedo devagar, a camera move devagar, se ele mover rapido a camera vai rapido, e por aí vai. O problema é que se o jogador mover o joystick, ele tambem move a camera, mesmo que não esteja com o dedo no lado direito da tela, então eu gostaria de saber uma forma de restringir esse Input.Touch, apenas para o lado direito da tela, assim, o jogador podera mover o joystick, e a camera sem problemas.
Caso não tenham entendido, eu posso explicar mais detalhadamente.
Agradeço muito se alguem puder me ajudar.. Obrigado pelo seu tempo!
Caso não tenham entendido, eu posso explicar mais detalhadamente.
Agradeço muito se alguem puder me ajudar.. Obrigado pelo seu tempo!
Última edição por marcos4503 em Sex Abr 28, 2017 8:07 pm, editado 1 vez(es)
Re: [Resolvido] - Rotacionar a camera com touch screen
olha tem esse vídeo!marcos4503 escreveu:Oi galera... Eu estou desenvolvendo um jogo de terceira pessoa, e estou usando o touch screen para girar a camera. Bom.. Eu tambem estou utilizando aquele asset padrão da unity para isso. Então, no lado esquerdo da tela, tem um joystick que controla o personagem, e se o jogador arrastar o dedo na parte direita da tela, a camera se move. Até ai tudo bem... Mais esse asset da unity tem um grave problema.. Ele é meio inutil para movimentos precisos. Vou dar um exemplo. Se o player quiser mover o dedo pela tela, devagar, a camera ainda gira rapido, a velocidade da camera, é fixa, acho que deu pra entender. Sabendo disso, eu resolvi pesquisar sobre o Input.touch, e bom, com ele tudo funciona perfeitamente, se o player mover o dedo devagar, a camera move devagar, se ele mover rapido a camera vai rapido, e por aí vai. O problema é que se o jogador mover o joystick, ele tambem move a camera, mesmo que não esteja com o dedo no lado direito da tela, então eu gostaria de saber uma forma de restringir esse Input.Touch, apenas para o lado direito da tela, assim, o jogador podera mover o joystick, e a camera sem problemas.
Caso não tenham entendido, eu posso explicar mais detalhadamente.
Agradeço muito se alguem puder me ajudar.. Obrigado pelo seu tempo!
esse aqui!
e mais esse!
Gabriel César O- Profissional
- PONTOS : 3987
REPUTAÇÃO : 217
Idade : 23
Áreas de atuação : (ESTUDANDO SEGUNDO GRAU), (FUÇANDO NO UNITY)){
Respeito as regras :
Re: [Resolvido] - Rotacionar a camera com touch screen
Eu estudei utilizando o primeiro video, e bom, foi nele que eu aprendi a usar o Input.Touch, o problema é que ele ensinou uma maneira de restringir o touch somente para uma imagem, mais acontece que se eu usasse o joystick, a camera tambem era movida.. Já os dois videos de baixo, não podem me ajudar, porque eles utilizam joysticks para mover a camera.. Mais obrigado parceiro
Re: [Resolvido] - Rotacionar a camera com touch screen
de nada! TMJ!marcos4503 escreveu:Eu estudei utilizando o primeiro video, e bom, foi nele que eu aprendi a usar o Input.Touch, o problema é que ele ensinou uma maneira de restringir o touch somente para uma imagem, mais acontece que se eu usasse o joystick, a camera tambem era movida.. Já os dois videos de baixo, não podem me ajudar, porque eles utilizam joysticks para mover a camera.. Mais obrigado parceiro
Gabriel César O- Profissional
- PONTOS : 3987
REPUTAÇÃO : 217
Idade : 23
Áreas de atuação : (ESTUDANDO SEGUNDO GRAU), (FUÇANDO NO UNITY)){
Respeito as regras :
Re: [Resolvido] - Rotacionar a camera com touch screen
Não sei se funcionaria ou se é a melhor forma para resolver mas... O joystick para movimentar o personagem estará em um canto da tela certo?? Se você colocasse uma imagem transparente que o tamanho fosse de depois do joystick até completar a tela? a única parte que não funcionaria a rotação seria a área onde o joystick está localizado. pode ser uma ideia a se fazer, ai você utiliza essa imagem transparente para aplicar o input.touch. Será que não dá?marcos4503 escreveu:Então, alguem poderia me ajudar? :D
IanLuan- Mestre
- PONTOS : 3250
REPUTAÇÃO : 102
Idade : 25
Áreas de atuação : Programação C#
Básico Design (Blender / Photoshop)
Desenvolvimento Web e Apps.
Respeito as regras :
Re: [Resolvido] - Rotacionar a camera com touch screen
Sim, realmente é isso que eu quero fazer, mais, eu quero restrigir o Input.Touch, para que ele funcione somente nessa imagem transparente, entendeu? Daí eu queria saber uma forma para que ele funcione somente nessa imagem..
Re: [Resolvido] - Rotacionar a camera com touch screen
Ah sim sim, mas naquele primeiro vídeo não foi ensinado a restringir?marcos4503 escreveu:Sim, realmente é isso que eu quero fazer, mais, eu quero restrigir o Input.Touch, para que ele funcione somente nessa imagem transparente, entendeu? Daí eu queria saber uma forma para que ele funcione somente nessa imagem..
IanLuan- Mestre
- PONTOS : 3250
REPUTAÇÃO : 102
Idade : 25
Áreas de atuação : Programação C#
Básico Design (Blender / Photoshop)
Desenvolvimento Web e Apps.
Respeito as regras :
Re: [Resolvido] - Rotacionar a camera com touch screen
Ele ensinou da seguinte forma. Ele utilizou um event trigger, em uma imagem, então o touch só funcionaria se o dedo da pessoa estiver em cima daquela imagem. Até ai tudo ok, o problema é que se a pessoa colocar um dedo na imagem, o touch ira ser ativado, e então ao mover o joystick, tambem ira mover a camera..
Re: [Resolvido] - Rotacionar a camera com touch screen
Ahh, então não é que o touch só vai funcionar em cima da imagem, é que essa imagem vai ativar o touch né? Putz.. Tem uns joysticks que você ativa em qualquer lugar da área, tipo ele tá invisível ai onde eu tocar o dedo ele "spawna" entendeu? Já vi isso em alguns jogos, talvez fosse a solução, pois em qualquer lugar da metade do ecrã (que n contém o joystick de movimentação) qualquer lugar que tocar spawna o joystick de controlar a camera e você podia fazê-lo transparente, seria um joystick invisivel que simularia o tocuh, já que pode ser ativado em qualquer lugar de uma determinada área. Tenta procurar esse sistema!
IanLuan- Mestre
- PONTOS : 3250
REPUTAÇÃO : 102
Idade : 25
Áreas de atuação : Programação C#
Básico Design (Blender / Photoshop)
Desenvolvimento Web e Apps.
Respeito as regras :
Re: [Resolvido] - Rotacionar a camera com touch screen
Encontrei uns vídeos aqui, dá uma olhada:
Esse aí é parecido com o sistema que falei acima, se tu deixasse ele transparente acho que funcionaria muito bem!
E esse daqui ele dividiu a tela ao meio, um lado para controlar movimentação, e um lado para rotacionar a camera, acho o mais interessante para você, como já tem o joystick, é só dividir a tela e dedicar um lado para rotacionar
Esse aí é parecido com o sistema que falei acima, se tu deixasse ele transparente acho que funcionaria muito bem!
E esse daqui ele dividiu a tela ao meio, um lado para controlar movimentação, e um lado para rotacionar a camera, acho o mais interessante para você, como já tem o joystick, é só dividir a tela e dedicar um lado para rotacionar
IanLuan- Mestre
- PONTOS : 3250
REPUTAÇÃO : 102
Idade : 25
Áreas de atuação : Programação C#
Básico Design (Blender / Photoshop)
Desenvolvimento Web e Apps.
Respeito as regras :
Re: [Resolvido] - Rotacionar a camera com touch screen
Esse último video, eu utilizei ele, e funcionou perfeitamente, o problema é que quando eu usava o joystick, a camera parava de rotacionar KKKKKKKKKKK, acho que tenha algo a ver com ele usar o GUITexture e tals... Mais cara, agora esse aí do joystick invisivel foi uma boa ideia.. Eu vou explorar isso mais a fundo e vou trazer algo aqui se eu tiver novidades. Eu to pensando em fazer assim, a camera vai rotacionar conforme o player for puxando o Joystick Invisivel, daí, quando a pessoa chegar ao máximo desse joystick, a camera para de rotacionar, pra não ficar aquele negocio estranho da pessoa mover o dedo e ficar com o dedo parado, e mesmo assim a camera continuar se movendo. Enfim vou explorar isso mais, e trago algo aqui se tiver bons resultados!
Valeu ai cara!
Valeu ai cara!
Re: [Resolvido] - Rotacionar a camera com touch screen
Haha Prazer em ajudar mano! Qualquer novidade avisa aqui, espero ter ajudado! A gente se ver por ai!!marcos4503 escreveu:Esse último video, eu utilizei ele, e funcionou perfeitamente, o problema é que quando eu usava o joystick, a camera parava de rotacionar KKKKKKKKKKK, acho que tenha algo a ver com ele usar o GUITexture e tals... Mais cara, agora esse aí do joystick invisivel foi uma boa ideia.. Eu vou explorar isso mais a fundo e vou trazer algo aqui se eu tiver novidades. Eu to pensando em fazer assim, a camera vai rotacionar conforme o player for puxando o Joystick Invisivel, daí, quando a pessoa chegar ao máximo desse joystick, a camera para de rotacionar, pra não ficar aquele negocio estranho da pessoa mover o dedo e ficar com o dedo parado, e mesmo assim a camera continuar se movendo. Enfim vou explorar isso mais, e trago algo aqui se tiver bons resultados!
Valeu ai cara!
IanLuan- Mestre
- PONTOS : 3250
REPUTAÇÃO : 102
Idade : 25
Áreas de atuação : Programação C#
Básico Design (Blender / Photoshop)
Desenvolvimento Web e Apps.
Respeito as regras :
Re: [Resolvido] - Rotacionar a camera com touch screen
É cara.. não deu certo.. Eu consegui fazer funcionar o esquema. Eu fiz assim:
Criei uma imagem que cobria metade da tela, quando eu tocava nessa imagem, o joystick era movido para a posição do toque.. Mais quando eu ia arrastar o joystick, ele não acompanhava, eu tinha que tocar novamente nele e arrasta-lo..
Bom.. Acho que a unica forma de fazer isso é usando o Input.Touch com alguma restrição para que ele só funcione na metade da tela...
Criei uma imagem que cobria metade da tela, quando eu tocava nessa imagem, o joystick era movido para a posição do toque.. Mais quando eu ia arrastar o joystick, ele não acompanhava, eu tinha que tocar novamente nele e arrasta-lo..
Bom.. Acho que a unica forma de fazer isso é usando o Input.Touch com alguma restrição para que ele só funcione na metade da tela...
Re: [Resolvido] - Rotacionar a camera com touch screen
Que pena cara Eu acho que fazendo o Input.Touch com a restrição vai dar certo. Espero que consiga!!marcos4503 escreveu:É cara.. não deu certo.. Eu consegui fazer funcionar o esquema. Eu fiz assim:
Criei uma imagem que cobria metade da tela, quando eu tocava nessa imagem, o joystick era movido para a posição do toque.. Mais quando eu ia arrastar o joystick, ele não acompanhava, eu tinha que tocar novamente nele e arrasta-lo..
Bom.. Acho que a unica forma de fazer isso é usando o Input.Touch com alguma restrição para que ele só funcione na metade da tela...
IanLuan- Mestre
- PONTOS : 3250
REPUTAÇÃO : 102
Idade : 25
Áreas de atuação : Programação C#
Básico Design (Blender / Photoshop)
Desenvolvimento Web e Apps.
Respeito as regras :
Re: [Resolvido] - Rotacionar a camera com touch screen
O problema é que eu não sei nenhuma forma de restringir o Input.touch a uma imagem.. To a 1 semana pesquisando e dando umas estudadas, e nada..
Re: [Resolvido] - Rotacionar a camera com touch screen
Bom.. Depois de muito pesquisar, quebrar a cabeça varias vezes, aprendi bastante sobre o Input.Touch, e o Event System, consegui fazer o que eu queria! Basicamente eu dividi a tela, em duas partes, uma funcionaria somente o Input.touch. Eu posso explicar mais detalhadamente e postar meu codigo aqui, se alguem quiser! Pode ser que algum de voces precisa disso. Obrigado a quem me ajudou!
Re: [Resolvido] - Rotacionar a camera com touch screen
Fico muito feliz cara! Olha na verdade eu gostaria muito do código, porque estou criando meu game para android também então necessitarei muito hahamarcos4503 escreveu:Bom.. Depois de muito pesquisar, quebrar a cabeça varias vezes, aprendi bastante sobre o Input.Touch, e o Event System, consegui fazer o que eu queria! Basicamente eu dividi a tela, em duas partes, uma funcionaria somente o Input.touch. Eu posso explicar mais detalhadamente e postar meu codigo aqui, se alguem quiser! Pode ser que algum de voces precisa disso. Obrigado a quem me ajudou!
IanLuan- Mestre
- PONTOS : 3250
REPUTAÇÃO : 102
Idade : 25
Áreas de atuação : Programação C#
Básico Design (Blender / Photoshop)
Desenvolvimento Web e Apps.
Respeito as regras :
Re: [Resolvido] - Rotacionar a camera com touch screen
Ok! Irei criar um tópico aqui logo logo ensinando como fazer isso!
Tópicos semelhantes
» [RESOLVIDO] Rotacionar player no eixo Y da camera
» [RESOLVIDO] Rotacionar câmera e manter rotação
» [RESOLVIDO] Rotacionar personagem suavemente na direção da câmera
» [RESOLVIDO] Camera Touch Mobile sem atrapalhar os botoes UI
» [RESOLVIDO] Unity - Movendo a Câmera na Horizontal/Vertical com Touch
» [RESOLVIDO] Rotacionar câmera e manter rotação
» [RESOLVIDO] Rotacionar personagem suavemente na direção da câmera
» [RESOLVIDO] Camera Touch Mobile sem atrapalhar os botoes UI
» [RESOLVIDO] Unity - Movendo a Câmera na Horizontal/Vertical com Touch
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos