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 Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Seguir um raio no raycast a partir do ponto da tela clicado
Unity Ads ou AdMob!
IDB JAM #10
Building System
Personagem morrer ao cair da tela
Deixar objeto invisível.
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Divulgaçao de Battle of Worlds
[Resolvido]Problema nesse pequeno script
Como fazer barco estilo minecraft ou estilo navio que da pra andar dentro
[TUTORIAL] Sistema de inventário Sobrevivência
Movimentação
Puzzle para jogo de terror , abrir portas etc..
Script para mudar posição do personagem
Baixos Brasil - Jogo de Carro Brasileiro!
Como saber quando minha animação terminou?
system inventory , craft
ajuda
Aplicar roupa no Rig do blender...
Project Valley of Trees - Primeiro nome que faz sentido KK
A.S TRUCK
Som de correr não para de tocar
Reproduzir audio no if c## e musica continuar tocando entre cenas.
Como Colocar Pontuação Final na GUI de GAME OVER
Unity 2017 Iluminação RealTime VS Baked [Comparaçâo]
DUVIDA : Raycast
Programador para equipe
Da pra colocar sisteminha em um jogo da unity pra trolar quem for piratear o jogo?
Como colocar musicas em sequencia para tocar?
Adicionar linhas no TXT pelo codigo
Trajetória da bala com predição
Ajudinha com Bug
[RESOLVIDO] Poblema com Rigidbody
[DEVLOG] Projeto - Girl Blade (download Pré-Alpha)
Erro ao bulidar para Windows(.exe)
Mudar a gravidade com rotação (sensores do smartphone)
Problemas na detecção de colisão
Trabalhar simultaneamente na Unity
Movimetaçao infinita
(duvida)pq isso acontece com o inimigo?
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
[DUVIDA] Como alterar a intensidade do ChromaticAberration do PostProcessing?
Joystick VR não funciona no ios
Problema na minha animação feita na Unity
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
IA para inimigo seguir o jogador ( Plataforma )
Tirar Fotos no Unity 5 FPS
[TUTORIAL] Cena inicial de CARREGAMENTO, creditos, logo, etc [UNITY 5]
Como Limitar Spawn de Hordas
Desmembramento
Exemplo de UI com abas - utilizando toggles e toggle group.
Ajuda Blender
Quando Instancio botão ele não aparece no canvas
Sistema de pesca 2D
[TUTORIAL] Derrubar arvores e dropar madeiras dela
Auto-Complete do Visual Studios
Metroidvania - procuro membros
Criação de Update para Seus jogos?
Blender, animação + Unity
Preciso de alguém que desenvolva Craft, e Inventario com sistema de Bolsas, Pago bem
Detectar Hit
[MODELADOR] Procurando Projetos
Carákas que Tops WO.OW
Anexar GameObject por scrit
Como cria um sistema de seve game
[DUVIDA] Trocar botoes no teclado por joystick UI
Efeito de Audio
Bug de sumir todas as modelagens 3D na unity 2017
Quero fazer minha propria lens flare
Menu para selecao de cena
Dificuldades com programação no Unity 5 2D
Bug ? offline e online
Conflito de ações HELP
como saber a posição que a particula bateu?
Formação de Equipe Battle of Worlds
[JOGO EM BETA] Batalha de Canhão
Jogo de sobrevivência na ilha PRE-Alpha
Inimigo ao encostar morre e player leva dano UNITY 5 2D
Como faço blocos que somem so clikando neles 1 vez?
Light Bug
Como criar inventário simples no unity
Como fasso para que clico em um botao e aumente o volume junto com grave em uma musica?
como que criar um sitema tipo o do rocket league
tem como criar um modelo no sketchup e exportar pra unity, mas sem os componentes
(duvida)pq aconteçe isso com a luz
Como posso deixar o MENU do meu jogo adequado ao monitor?
Dúvida com o Update
Como eu realizo um inimigo que atira(tipo os inimigos do Warface)?
Bug Chato
Particulas de poeira
Faltando algumas opções no Unity
Audio Player C#
volume do som de acordo com distancia
Shotgun mata um inimigo 4 vezes
Duvida com troca de sprite quando muda camera
Ajuda com script para instanciar objetos no servidor
[TUTORIAL] Sistema de Oficina de Carros
Collider mal funcionando com Raycast
[TUTORIAL] SISTEMA DE CHUVA COM PARTICULAS.
Hoje à(s) 1:28 pm
Hoje à(s) 1:23 pm
Hoje à(s) 12:59 pm
Hoje à(s) 9:57 am
Hoje à(s) 9:57 am
Hoje à(s) 7:07 am
Hoje à(s) 12:13 am
Ontem à(s) 11:53 pm
Ontem à(s) 10:15 pm
Ontem à(s) 9:12 pm
Ontem à(s) 9:00 pm
Ontem à(s) 8:34 pm
Ontem à(s) 7:40 pm
Ontem à(s) 4:29 pm
Ontem à(s) 12:25 pm
Ontem à(s) 12:14 pm
Ontem à(s) 10:55 am
Ontem à(s) 10:26 am
Ontem à(s) 8:21 am
Ontem à(s) 2:42 am
Seg Set 18, 2017 10:20 pm
Seg Set 18, 2017 9:16 pm
Seg Set 18, 2017 8:40 pm
Seg Set 18, 2017 8:39 pm
Seg Set 18, 2017 8:08 pm
Seg Set 18, 2017 4:33 pm
Seg Set 18, 2017 2:22 pm
Seg Set 18, 2017 12:15 pm
Seg Set 18, 2017 9:33 am
Seg Set 18, 2017 9:28 am
Seg Set 18, 2017 8:21 am
Seg Set 18, 2017 12:59 am
Dom Set 17, 2017 5:04 pm
Dom Set 17, 2017 3:45 pm
Dom Set 17, 2017 10:49 am
Sab Set 16, 2017 11:18 pm
Sab Set 16, 2017 5:57 pm
Sab Set 16, 2017 4:10 pm
Sab Set 16, 2017 3:05 pm
Sab Set 16, 2017 2:23 pm
Sab Set 16, 2017 12:40 pm
Sab Set 16, 2017 12:16 pm
Sab Set 16, 2017 10:17 am
Sab Set 16, 2017 9:53 am
Sab Set 16, 2017 9:26 am
Sab Set 16, 2017 9:10 am
Sex Set 15, 2017 11:51 pm
Sex Set 15, 2017 8:27 pm
Sex Set 15, 2017 7:27 pm
Sex Set 15, 2017 6:17 pm
Sex Set 15, 2017 3:08 pm
Sex Set 15, 2017 11:19 am
Sex Set 15, 2017 9:43 am
Qui Set 14, 2017 11:50 pm
Qui Set 14, 2017 9:08 pm
Qui Set 14, 2017 3:17 pm
Qui Set 14, 2017 1:55 pm
Qui Set 14, 2017 12:13 pm
Qui Set 14, 2017 10:07 am
Qua Set 13, 2017 9:52 pm
Qua Set 13, 2017 11:34 am
Ter Set 12, 2017 10:33 pm
Ter Set 12, 2017 10:21 pm
Ter Set 12, 2017 9:34 pm
Ter Set 12, 2017 8:52 pm
Ter Set 12, 2017 8:51 pm
Ter Set 12, 2017 7:05 pm
Ter Set 12, 2017 6:53 pm
Ter Set 12, 2017 6:51 pm
Ter Set 12, 2017 3:04 pm
Ter Set 12, 2017 2:04 pm
Ter Set 12, 2017 11:54 am
Ter Set 12, 2017 9:59 am
Ter Set 12, 2017 9:43 am
Ter Set 12, 2017 12:17 am
Seg Set 11, 2017 8:54 pm
Seg Set 11, 2017 8:48 pm
Seg Set 11, 2017 8:12 pm
Seg Set 11, 2017 7:18 pm
Seg Set 11, 2017 6:15 pm
Seg Set 11, 2017 6:02 pm
Seg Set 11, 2017 5:31 pm
Seg Set 11, 2017 5:22 pm
Seg Set 11, 2017 5:06 pm
Seg Set 11, 2017 4:53 pm
Seg Set 11, 2017 4:17 pm
Seg Set 11, 2017 4:15 pm
Seg Set 11, 2017 4:14 pm
Seg Set 11, 2017 3:54 pm
Seg Set 11, 2017 3:53 pm
Seg Set 11, 2017 3:51 pm
Seg Set 11, 2017 11:42 am
Seg Set 11, 2017 3:13 am
Dom Set 10, 2017 11:31 pm
Dom Set 10, 2017 9:03 pm
Dom Set 10, 2017 7:39 pm
Dom Set 10, 2017 7:26 pm
Dom Set 10, 2017 2:06 pm
Dom Set 10, 2017 2:00 pm
Weslley
Duarte
Weslley
Weslley
Bruno
GabriG07
Dom3000
Dom3000
g
Weslley
Phph09
Weslley
Zecandy
Weslley
Duarte
artplayer
PatifeCraft
Lteo
Fagner
Madness
PatifeCraft
dstaroski
eduu10
JorgeLuizxd
MateusWTP
Weslley
Brunotrinkss
guimaraf
Weslley
Weslley
guimaraf
ManoTrevor
PedroL123
dstaroski
GabriG07
Brgs886
Madness
Fagner
PedroL123
glauco
Callyde Jr
JorgeLuizxd
Henrique Ramires
Weslley
Weslley
Weslley
Weslley
Weslley
Weslley
916anderson
rafaelllsd
Fagner
Fagner
rafaelllsd
PatifeCraft
Weslley
Carlin
artplayer
Ronnisz
Jhonatham1
Callyde Jr
mrariel2011
AndyShow
Fagner
PatifeCraft
Alerson Software
AndyShow
AndyShow
AndyShow
Alessandra Matheus
Lteo
Callyde Jr
Weslley
Dom3000
Dom3000
dstaroski
dstaroski
guilhermeprata
DUT
Duarte
PatifeCraft
heliab125
MarcosSchultz
MarcosSchultz
glauco
MarcosSchultz
MarcosSchultz
lantreco
MarcosSchultz
MarcosSchultz
MarcosSchultz
Weslley
Encracker
916anderson
DUT
Feromark2013
Duarte
Encracker
rafaelllsd

[TUTORIAL] TRAVAR A CAMERA DO PERSONAGEM (FirstPersonController)

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

TUTORIAL [TUTORIAL] TRAVAR A CAMERA DO PERSONAGEM (FirstPersonController)

Mensagem por MarcosSchultz em Sex Set 19, 2014 1:35 am

ATENÇÃO, A PRIMEIRA PARTE DO TUTORIAL SERVE NA UNITY 3 OU UNITY 4... SE VOCÊ JÁ ESTIVER USANDO A UNITY 5, UTILIZE OS SCRIPTS DA SEGUNDA PARTE DO TUTORIAL, QUE SÃO ESPECIFICAMENTE DIRECIONADOS A UNITY 5, PARA EVITAR ERROS Very Happy


Então, já fazia temmmpos que eu tinha esta duvida más ninguém deste forum sabia a resposta, e passados 4 meses retomei o assunto, e com muita facilidade consegui fazer um simples sistema de pause que trava a camera...

DETALHE, ESTE TUTO SERVE PARA QUEM USA O 'FirstPersonController' o que é o caso de 99% das pessoas...

enfim, no seu Player e na sua camera existe um script em C# chamado MouseLock... é o mesmo script que vai em ambos... o que está na sua camera controla o movimento dela em Y e a rotação em X, dela mesma, e o que está no player controla a rotação da camera em X em relação ao player, de forma que possa alterar a rotação do player também... e para conseguir "travar" a camera de forma que afete os 2 objetos, você precisa alterar o script MouseLook que está na sua camera, ou no player ( é o mesmo ) para o conteúdo que está neste script:

Código:

using UnityEngine;
using System.Collections;
[AddComponentMenu("Camera-Control/Mouse Look")]
public class MouseLook : MonoBehaviour {
public enum RotationAxes { MouseXAndY = 0, MouseX = 1, MouseY = 2 }
public RotationAxes axes = RotationAxes.MouseXAndY;
public float sensitivityX = 15F;
public float sensitivityY = 15F;
public float minimumX = -360F;
public float maximumX = 360F;
public float minimumY = -60F;
public float maximumY = 60F;
float rotationY = 0F;
public static bool condPause;
void Update (){
if (condPause == false) {         // apenas adicionei uma condicão para o funcionamento do script
if (axes == RotationAxes.MouseXAndY) {
float rotationX = transform.localEulerAngles.y + Input.GetAxis ("Mouse X") * sensitivityX;
rotationY += Input.GetAxis ("Mouse Y") * sensitivityY;
rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
transform.localEulerAngles = new Vector3 (-rotationY, rotationX, 0);
} else if (axes == RotationAxes.MouseX) {
transform.Rotate (0, Input.GetAxis ("Mouse X") * sensitivityX, 0);
} else {
rotationY += Input.GetAxis ("Mouse Y") * sensitivityY;
rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
transform.localEulerAngles = new Vector3 (-rotationY, transform.localEulerAngles.y, 0);
}
}
}
void Start (){
if (rigidbody)
rigidbody.freezeRotation = true;
condPause = false;
}
}


salve o script, agora crie um novo script em C# com o nome "PAUSE" e coloque este codigo nele

Código:

using UnityEngine;
using System.Collections;
public class PAUSE : MonoBehaviour {
void Update () {
if (Input.GetKey (KeyCode.P)) {
if( MouseLook.condPause == false){
MouseLook.condPause = true;
}
else
MouseLook.condPause = false;
}
}
}

depois disso, jogue este script no seu player, e pronto... toda vez que você apertar "P" a camera trava, se apertar "P" denovo a camera volta ao normal...

@@@@@


SE VOCÊ QUISER UM SCRIPT QUE PAUSE SEU JOGO TAMBÉM, USE ESTE:

Código:

using UnityEngine;
using System.Collections;
public class PAUSE : MonoBehaviour {
void Start () {
Time.timeScale = 1;
}
void Update () {
if (Input.GetKeyDown (KeyCode.P)) {
if( MouseLook.condPause == false){
MouseLook.condPause = true;
}
else
MouseLook.condPause = false;
}
if (MouseLook.condPause == true) {
Time.timeScale = 0;
}
if (MouseLook.condPause == false) {
Time.timeScale = 1;
}
}
}


use este script no lugar do script "PAUSE" e ele irá fazer a mesma coisa com a camera, só com o efeito adicional de "travar o tempo" ou seja, pausar.





SE VOCÊ ESTIVER USANDO A UNITY 5:






Altere o seu script " MouseLook " para este código a seguir:

Código:
using UnityEngine;
using System.Collections;
[AddComponentMenu("Camera-Control/Mouse Look")]
public class MouseLook : MonoBehaviour {
 public enum RotationAxes { MouseXAndY = 0, MouseX = 1, MouseY = 2 }
 public RotationAxes axes = RotationAxes.MouseXAndY;
 public float sensitivityX = 15F;
 public float sensitivityY = 15F;
 public float minimumX = -360F;
 public float maximumX = 360F;
 public float minimumY = -60F;
 public float maximumY = 60F;
 public static bool condPause;
 float rotationY = 0F;
 void Update (){
 if (condPause == false) {
 if (axes == RotationAxes.MouseXAndY) {
 float rotationX = transform.localEulerAngles.y + Input.GetAxis ("Mouse X") * sensitivityX;
 rotationY += Input.GetAxis ("Mouse Y") * sensitivityY;
 rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
 transform.localEulerAngles = new Vector3 (-rotationY, rotationX, 0);
 } else if (axes == RotationAxes.MouseX) {
 transform.Rotate (0, Input.GetAxis ("Mouse X") * sensitivityX, 0);
 } else {
 rotationY += Input.GetAxis ("Mouse Y") * sensitivityY;
 rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
 transform.localEulerAngles = new Vector3 (-rotationY, transform.localEulerAngles.y, 0);
 }
 }
 }
 void Start (){
 if (GetComponent<Rigidbody>())
 GetComponent<Rigidbody>().freezeRotation = true;
 }
}


salve o script, agora crie um novo script em C# com o nome "PAUSE" e coloque este codigo nele

Código:
using UnityEngine;
using System.Collections;
public class PAUSE : MonoBehaviour {
 void Update () {
 if (Input.GetKey (KeyCode.P)) {
 if( MouseLook.condPause == false){
 MouseLook.condPause = true;
 }
 else
 MouseLook.condPause = false;
 }
 }
}


depois disso, jogue este script no seu player, e pronto... toda vez que você apertar "P" a camera trava, se apertar "P" denovo a camera volta ao normal...

@@@@@


SE VOCÊ QUISER UM SCRIPT QUE PAUSE SEU JOGO TAMBÉM, USE ESTE:

Código:
using UnityEngine;
using System.Collections;
public class PAUSE : MonoBehaviour {
 void Start () {
 Time.timeScale = 1;
 }
 void Update () {
 if (Input.GetKeyDown (KeyCode.P)) {
 if( MouseLook.condPause == false){
 MouseLook.condPause = true;
 }
 else
 MouseLook.condPause = false;
 }
 if (MouseLook.condPause == true) {
 Time.timeScale = 0;
 }
 if (MouseLook.condPause == false) {
 Time.timeScale = 1;
 }
 }
}


use este script no lugar do script "PAUSE" e ele irá fazer a mesma coisa com a camera, só com o efeito adicional de "travar o tempo" ou seja, pausar.


Última edição por MarcosSchultz em Ter Jun 07, 2016 9:30 pm, editado 1 vez(es)
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9666
REPUTAÇÃO : 1664
Idade : 21
Á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] TRAVAR A CAMERA DO PERSONAGEM (FirstPersonController)

Mensagem por Deiverson em Qua Abr 29, 2015 2:39 pm

Obrigado por compartilhar o codigo que funciona na Unity 5 tambem, estava com alguns problemas em tutoriais por causa dessas modificações da Unity 5 em relação a 4. Wink

Deiverson
Iniciante
Iniciante

PONTOS : 895
REPUTAÇÃO : 3
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] TRAVAR A CAMERA DO PERSONAGEM (FirstPersonController)

Mensagem por MarcosSchultz em Qua Abr 29, 2015 3:31 pm

caso esteja utilizando o novo FPS Controller pode usar este metodo:


avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9666
REPUTAÇÃO : 1664
Idade : 21
Á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] TRAVAR A CAMERA DO PERSONAGEM (FirstPersonController)

Mensagem por poliver216 em Ter Jul 12, 2016 6:26 pm

Eu estava com esta dúvida de como travar a câmera em jogos fps quando for pausado o jogo... Aí apenas marquei a opção Smooth que está dentro do script do mouse Look e funcionou... será que não dará problemas no ao gerar o jogo, sem fazer todos estes passos no vídeo acima?

poliver216
Iniciante
Iniciante

PONTOS : 485
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] TRAVAR A CAMERA DO PERSONAGEM (FirstPersonController)

Mensagem por MarcosSchultz em Qua Jul 13, 2016 6:53 pm

poliver216 escreveu:Eu estava com esta dúvida de como travar a câmera em jogos fps quando for pausado o jogo... Aí apenas marquei a opção Smooth que está dentro do script do mouse Look e funcionou... será que não dará problemas no ao gerar o jogo, sem fazer todos estes passos no vídeo acima?

Tem que seguir os passos para travar a camera O.o

O Smooth apenas causa uma "lentião", como se fosse uma suavização no movimento da camera, nada além disso.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9666
REPUTAÇÃO : 1664
Idade : 21
Á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] TRAVAR A CAMERA DO PERSONAGEM (FirstPersonController)

Mensagem por poliver216 em Sex Jul 15, 2016 10:24 am

Obrigado pela rapidez da resposta, e peço desculpas por não ter sido muito específico na minha pergunta ou se estou errado, mas é que fiquei curioso com esta situação. O que eu queria ter perguntado na verdade, é que quando já estiver no pause do jogo, quando o time.timescale está igual 0. Eu testei com a opção Smooth desativada, pressionei Esc para pausar, o jogo pausou, mas a câmera do FPS continuava se movimentando, aí testei com a opção Smooth ativa, fiz o mesmo procedimento, só que desta vez a câmera também paralizou com o jogo. Será que pode ser porque da algum conflito entre os códigos? pois o smooth também utiliza a classe Time. Ou se zerando a variavel timeScale pode fazer o código de suavização do movimento da câmera parar com a opção smooth ativa, travando também a câmera?

Desde já agradeço Marcos, você me ajuda muito com este fórum e os tutoriais... abrçs

poliver216
Iniciante
Iniciante

PONTOS : 485
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] TRAVAR A CAMERA DO PERSONAGEM (FirstPersonController)

Mensagem por Maloke em Sex Jul 15, 2016 11:53 am

poliver216 escreveu:Será que pode ser porque da algum conflito entre os códigos? pois o smooth também utiliza a classe Time. Ou se zerando a variavel timeScale pode fazer o código de suavização do movimento da câmera parar com a opção smooth ativa, travando também a câmera?

Tanto com o Smooth ligado ou não, os códigos de movimento estão calculando e mandando a camera se mover a cada frame!
A única diferença é que como o smooth usa o tempo no calculo, com o timeScale em 0 ele acaba multiplicando tudo por zero.

Seguindo os passos do vídeo vc consegue travar a camera quando quiser/precisar, independentemente do jogo estar pausado ou não!

A principio não teria problema usar o smooth para travar, mas pode acontecer sim conflitos de funcionalidades mais para frente...
Por exemplo, não daria para fazer o player estar paralisado/amarrado e o resto do jogo continuar rodando normal, mas com o script do video seria possível fazer isso a qualquer momento!
avatar
Maloke
MembroAvançado

Masculino PONTOS : 467
REPUTAÇÃO : 10
Áreas de atuação : C# Unity
Respeito as regras :

Ver perfil do usuário https://maloke.itch.io/

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

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