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:
Ajuda com scripts
Inimigo perder vida
JOGO DE SOBREVIVÊNCIA (Iniciantes)
[Modelo 3D]Unity Interior 3D Estilo De Terror + Download Grátis
FÍSICA DE UM CARRO PARA JOGO EM 2D
Previsão de destino com Rigidbody.AddForce (Jogo de Futebol)
[____TÓPICO LIVRE____] FALE O QUE QUISER
Fazer objeto preview andar de gridsize em gridsize
Acionar funções com button ?
-- [ COMO FAÇO PARA DESATIVAR UM UI DEPOIS DE +/-, 3 SEGUNDOS ? ] --
FORMAÇÃO DE EQUIPE - JOGO Puzzle/Plataforma
Home Simulator 2017 (Estilo The Sims em 1ª Pessoa) (Download Grátis) v1.0.2
Problema no checkpoint
Photon Network
IA zumbie veloz de mais
sistema de Entrar/Sair de veículos em Network (Photon Unity Networking)
Raycast Sol
[Script] Sistema de headshot estilo sniper elite [BÁSICO]
Foice gigante
Meus modelos 3D em fase de experimento
SITE MODELOS 3D PARA USO COMERCIAL
Instanciar objetos aonde mira
Fazer o player abrir caixas
Rotaçao de um objeto e paralizaçao de seu "filho" na hierarquia(Unity 2D)
ATUALIZAÇÃO - Joguem meu jogo [Aircraft - Space Guardian] Please !!
meu jogo feito na unity
Como otimizar meu game para android?
portais ajuda
[RESOLVIDO] INSTANCIAR PARTICULAS
Como fazer o canvas se ajusta com o tamanho da tela?
Destruir objeto depois da animação
Sistema de marcha de carro
(Duvida) Camera Seguir Player...
[TUTORIAL] Como programar um VOLANTE para veículos
[DUVIDA] "encostar" em um GameObject e Tomar Dano
TOP SECRET - Programador iniciante com experiencia em 2D
Dúvida sobre multiplayer!
PARTICULAS PLAY/STOP
ABRIR E FECHAR PORTA!
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Criação de uma mensagem notificação em objeto 3d no unity
Fazer a camera seguir o personagem porem quando ela chegar na parede ela pare de se movimenta
Tocar som ao andar.
Verificar se é a primeira vez que joga
COMO POSSO FAZER O INIMIGO MORRER COM TIRO?
Unity Microfone
OBJETO GIRAR QUANDO ARRASTAR O MOUSE
disolver/ desintegrar um objeto
BARRINHA PARA REBAIXAR O CARRO!
Chamar Metodo
Gerador de códigos
Duvida sobre patrulha aleatória
[TUTORIAL] Ligar e Desligar Lanterna
[TUTORIAL] ARMA NO UNITY 3D
SOM DO TIRO
Como usar uma animação de uma arma animada na Unity...
[Tutorial] Porta ativada por alavanca
MIRA PARA JOGO DE FPS ESTILO CSGO
Game Resistência
Parede ocas
Modificar uma barrinha!
[Quase Pronto] Survival Block. Testem e mandem os bugs pra mim.
[ME AJUDA] O player não se movimenta...
SIRENE ESTILO POLÍCIA MILITAR
Movimentaçao player
Cena Loading para carregar proximo Level
MUDAR FLOAT NO FIM DE UMA ANIMAÇÃO
RagDoll + Download Free -- feito por um gringo
[TUTORIAL] Criar Analógico Virtual UI Para Mobile.
[AJUDA] Cronometro
[PEDIDO] Designers ou Entendedores (Capa,Menu e ToolTip) 3 Imagens
[RESOLVIDO] Publicando Apk Parte 2
[TUTORIAL] IA Simples
[TUTORIAL] Ajustar o Brilho do LensFlare de Acordo com a Distância
CONTROLE ARCADE PARA JOGO DE CORRIDA
[TUTORIAL] IA Simples Parte 2 (Atirar)
[DEMO] Survival Block
Aprimoramento IA Inimiga
Batalha de Canhão
[RESOLVIDO] Camera Collider
Todos os inimigos morrem
Canal de tutoriais android
Area Para modeladores
Inimigo ao seguir flutua [ajuda]
[TUTORIAL] Sistema de tiro com RAYCAST (várias armas, mira laser, munição, dano, etc, etc)
Demo de jogo para testarem...
[TUTORIAL] Fazer um VOLANTE com UI, para Android
[DUVIDA] Como destruir um GameObject (cubo etc...) sem destruir seus "afilhados"
[Duvida] Como fazer uma luz se desativar ao ficar longe dela
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
GRAFICO BUGADO [MOBILE]
Duvida sobre array de gameobject
ERRO NO APK
ANIMAÇÃO
sincronizar um Variável String multiplayer
DUVIDAS VARIADAS
Publicando Apk na PlayStore
Curar vida ao coletar itens
(Dúvida) Rotacionar roda
Ontem à(s) 11:46 pm
Ontem à(s) 11:41 pm
Ontem à(s) 11:22 pm
Ontem à(s) 10:55 pm
Ontem à(s) 10:29 pm
Ontem à(s) 9:23 pm
Ontem à(s) 8:38 pm
Ontem à(s) 7:39 pm
Ontem à(s) 6:54 pm
Ontem à(s) 6:45 pm
Ontem à(s) 5:44 pm
Ontem à(s) 5:29 pm
Ontem à(s) 5:14 pm
Ontem à(s) 5:02 pm
Ontem à(s) 2:02 pm
Ontem à(s) 1:49 pm
Ontem à(s) 1:40 pm
Ontem à(s) 1:38 pm
Ontem à(s) 12:00 pm
Ontem à(s) 12:00 am
Seg Mar 27, 2017 11:46 pm
Seg Mar 27, 2017 10:30 pm
Seg Mar 27, 2017 10:05 pm
Seg Mar 27, 2017 8:52 pm
Seg Mar 27, 2017 8:01 pm
Seg Mar 27, 2017 7:32 pm
Seg Mar 27, 2017 6:33 pm
Seg Mar 27, 2017 6:24 pm
Seg Mar 27, 2017 3:57 pm
Seg Mar 27, 2017 3:39 pm
Seg Mar 27, 2017 1:42 pm
Seg Mar 27, 2017 12:13 pm
Seg Mar 27, 2017 6:41 am
Dom Mar 26, 2017 8:08 pm
Dom Mar 26, 2017 7:04 pm
Dom Mar 26, 2017 1:58 pm
Dom Mar 26, 2017 1:34 pm
Dom Mar 26, 2017 1:13 pm
Dom Mar 26, 2017 10:43 am
Dom Mar 26, 2017 1:37 am
Dom Mar 26, 2017 12:53 am
Dom Mar 26, 2017 12:52 am
Dom Mar 26, 2017 12:49 am
Dom Mar 26, 2017 12:46 am
Dom Mar 26, 2017 12:45 am
Dom Mar 26, 2017 12:34 am
Dom Mar 26, 2017 12:30 am
Dom Mar 26, 2017 12:20 am
Dom Mar 26, 2017 12:15 am
Dom Mar 26, 2017 12:05 am
Sab Mar 25, 2017 11:59 pm
Sab Mar 25, 2017 11:58 pm
Sab Mar 25, 2017 8:59 pm
Sab Mar 25, 2017 6:50 pm
Sab Mar 25, 2017 3:37 pm
Sab Mar 25, 2017 1:51 am
Sab Mar 25, 2017 1:31 am
Sex Mar 24, 2017 8:54 pm
Sex Mar 24, 2017 8:05 pm
Sex Mar 24, 2017 7:43 pm
Sex Mar 24, 2017 7:18 pm
Sex Mar 24, 2017 6:52 pm
Sex Mar 24, 2017 6:48 pm
Sex Mar 24, 2017 3:46 pm
Sex Mar 24, 2017 1:50 pm
Sex Mar 24, 2017 12:29 pm
Qui Mar 23, 2017 6:55 pm
Qui Mar 23, 2017 4:50 pm
Qui Mar 23, 2017 4:38 pm
Qui Mar 23, 2017 4:33 pm
Qui Mar 23, 2017 12:46 pm
Qui Mar 23, 2017 8:56 am
Qua Mar 22, 2017 7:47 pm
Qua Mar 22, 2017 7:35 pm
Qua Mar 22, 2017 7:30 pm
Qua Mar 22, 2017 3:28 pm
Ter Mar 21, 2017 11:50 pm
Ter Mar 21, 2017 10:14 pm
Ter Mar 21, 2017 7:22 pm
Ter Mar 21, 2017 6:08 pm
Ter Mar 21, 2017 5:00 pm
Ter Mar 21, 2017 3:22 pm
Ter Mar 21, 2017 3:08 pm
Ter Mar 21, 2017 2:13 pm
Ter Mar 21, 2017 10:53 am
Ter Mar 21, 2017 10:13 am
Ter Mar 21, 2017 12:26 am
Ter Mar 21, 2017 12:10 am
Ter Mar 21, 2017 12:09 am
Ter Mar 21, 2017 12:05 am
Ter Mar 21, 2017 12:02 am
Seg Mar 20, 2017 11:58 pm
Seg Mar 20, 2017 11:55 pm
Seg Mar 20, 2017 9:10 pm
Seg Mar 20, 2017 7:57 pm
Seg Mar 20, 2017 6:41 pm
Seg Mar 20, 2017 4:31 pm
Seg Mar 20, 2017 8:10 am
Dom Mar 19, 2017 11:32 pm
willtuck
willtuck
MikaelSteam
MateusWTP
Gabriel César O
AndyShow
PauloFR
hackernew404
wender
wender
MikaelSteam
zZAndersonZz
Jogos mini
wender
Callyde Jr
LegendGames
lucasfera15
dstaroski
Mic4el
joabr
joabr
hackernew404
rafaelllsd
niao
Junim
hackernew404
PauloFR
bielmol
Junim
Callyde Jr
rafaelllsd
PauloFR
Édipo
Gabriel César O
DuViDoSo34
masterjohn12
artplayer
Junim
Gabriel César O
Atiradogamer
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
wender
MarcosSchultz
MarcosSchultz
MarcosSchultz
MateusWTP
Gabriel César O
Gabriel César O
Sheyk
PauloFR
Gabriel César O
Weverton Borges da Silva
maikonluis
HeF Software
Junim
Junim
wender
bravoent
Marc7
rafaelllsd
MateusWTP
Gabriel César O
Gabriel César O
Madness
Paizudo
Gabriel César O
AnderGames
Gabriel César O
Matrirxp
rafaelllsd
Matrirxp
AndyShow
ffabim
rafaelllsd
MikaelSteam
PauloFR
bravoent
DuViDoSo34
Édipo
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
lucasfera15
Khilua
PauloFR
Paizudo
willtuck
rafaelllsd

(Ajuda) Girar objetos.

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

DÚVIDA (Ajuda) Girar objetos.

Mensagem por rafaelllsd em Ter Fev 23, 2016 4:27 pm

Olá, estou tentando desenvolver um jogo para android, mais sei o basico. Bom, quando você clica em um botão que ta na tela ele instancia um item, e eu quero fazer um sistema de girar este objeto, tentei algumas coisas mais sempre que giro 1 objeto todos giram. Queria uma ideia para fazer isto, por que não consegui pensar em algo que funciona.
avatar
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 1525
REPUTAÇÃO : 167
Idade : 16
Áreas de atuação : Programação C#.
Modelagem Básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: (Ajuda) Girar objetos.

Mensagem por MarcosSchultz em Ter Fev 23, 2016 4:36 pm

poste os sistemas que você tentou... para girar todos os objetos, você tem que estar fazendo algo bem errado...

a princípio, basta um simples sistema de rotação com eulerAngles
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8130
REPUTAÇÃO : 1145
Idade : 20
Á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

DÚVIDA Re: (Ajuda) Girar objetos.

Mensagem por rafaelllsd em Ter Fev 23, 2016 5:18 pm

Então, eu fiz uma gambiarra, que quando aperta-se o botão o Objeto e o objeto com a Tag "Objetos" girasse se tivesse com a boleana True. mais acabava que sempre que eu instanciava, eles ficavam true, e todos giravam, eu ja exclui as linhas que tinha feito, por que ficou ruim. só quero uma ideia de como faze-los.
avatar
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 1525
REPUTAÇÃO : 167
Idade : 16
Áreas de atuação : Programação C#.
Modelagem Básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: (Ajuda) Girar objetos.

Mensagem por ismarspn em Ter Fev 23, 2016 10:35 pm

Amigo, como o Marcos pediu, posta o sistema que você usa para analisarmos onde está o erro.
avatar
ismarspn
Programador

Masculino PONTOS : 1084
REPUTAÇÃO : 92
Idade : 23
Áreas de atuação : Unity, Photoshop, Illustrator, After Effects, Adobe Flash
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: (Ajuda) Girar objetos.

Mensagem por rafaelllsd em Qua Fev 24, 2016 1:08 pm

Não postei antes por que eu tinha excluido mais refiz novamente, desde já, aviso que eu não tinha ideia quando-o fiz. por isso pedi alguma ideia de fazer o sistema de giro.
Código:

   public Vector3 screenPoint;
   public Vector3 offset;
   public Vector3 scanPos;
   public RectTransform b;
   public bool Movimento;
   public static bool MovimentoAll;
   public static bool PodeGirar;
   void Start () {
      Movimento = true;
      PodeGirar = true;
   }
   void Update (){
      scanPos = transform.position;
      if (MovimentoAll == true) {
         Movimento = false;
      }

   }
   public void OnMouseDown() {
      if (Movimento == true) {
      screenPoint = Camera.main.WorldToScreenPoint(scanPos);
      offset = scanPos - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z));
   }
   }
   public void OnMouseDrag() {
      if (Movimento == true) {
         Vector3 curScreenPoint = new Vector3 (Input.mousePosition.x, Input.mousePosition.y, screenPoint.z);
         Vector3 curPosition = Camera.main.ScreenToWorldPoint (curScreenPoint) + offset;
         transform.position = curPosition;
         b.transform.position = curPosition;
      }
   }
      public void GirarObjetos () { //Botão de Girar o objeto instanciado
      if(PodeGirar == true) {
      transform.Rotate (0, 0, 10);
}
   }
      public void TerminarObjeto () { //Botão de terminar e para de girar o objeto, e instanciar outro.
      PodeGirar = false;
      Movimento = false;
      }
}
No outro script quando instanciar outro objeto, o "PodeGirar fica true".
avatar
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 1525
REPUTAÇÃO : 167
Idade : 16
Áreas de atuação : Programação C#.
Modelagem Básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: (Ajuda) Girar objetos.

Mensagem por MarcosSchultz em Qua Fev 24, 2016 3:33 pm

aqui está o problema:

Código:
public void GirarObjetos () { //Botão de Girar o objeto instanciado
      if(PodeGirar == true) {
         transform.Rotate (0, 0, 10);
      }
   }

A void é pública, e todos os objetos que tem este script serão afetados por ela...

Você poderia especificar beeem detalhadamente como está a sua cena e como planeja girar os objetos??? tipo, quer girar apenas o objeto que acabou de instanciar?
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8130
REPUTAÇÃO : 1145
Idade : 20
Á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

DÚVIDA Re: (Ajuda) Girar objetos.

Mensagem por rafaelllsd em Qui Fev 25, 2016 2:35 pm

Bom, quando ele é instanciado eu queria que uma boleana ficasse true, e quando eu instanciasse outro objeto contendo mesmo script ele ficasse false, para não se movimentar e o instanciado fica true para girar. Para girar os objetos, eu to usando um botão da canvas.
Más ja tentei também quando a pessoa pressionar o botão na tela ele gira. usando Input.GetMouseButtonDown(0)), mais não deu muito certo.
avatar
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 1525
REPUTAÇÃO : 167
Idade : 16
Áreas de atuação : Programação C#.
Modelagem Básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: (Ajuda) Girar objetos.

Mensagem por MarcosSchultz em Qui Fev 25, 2016 2:40 pm

Cara, não precisa de booleana nem nada, basta guardar o objeto instanciado em uma variável, exemplo:

Código:
GameObject objetoInstanciado = Instantiate (objetoASerInstanciado, transform.position, transform.rotation)as GameObject;

depois disso, basta aplicar a rotação a este "objetoInstanciado", e só ele será afetado
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8130
REPUTAÇÃO : 1145
Idade : 20
Á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

DÚVIDA Re: (Ajuda) Girar objetos.

Mensagem por rafaelllsd em Qui Fev 25, 2016 3:18 pm

Marcos eu tenho uma duvida previa, eu tenho 2 scripts um que instancia o objeto e outro que vai no objeto. esse codigo acima é oque vai no de instanciar certo. e no script de movimento tenho que adicionar algo?
Script que instancia itens:
Código:

   public GameObject Bola;
   public GameObject Rampa;
   public Transform Ponto;
   public GameObject BotaoC;
   public int Instanciar;
   public GameObject[] objetoInstanciado;
   void Start () {
      Instanciar = 10;
   }
   void Update () {
   }
   
   public void Terminar () {
      BotaoC.SetActive (false);
      Bola.SetActive (true);
      MovimentoMouse.MovimentoAll = true;

   }
   public void Ramp () {
      if (Instanciar >= 1) {
         GameObject objetoInstanciado = Instantiate (Rampa, Ponto.position, transform.rotation)as GameObject;
         Instanciar -= 1;
      }
   }
}
avatar
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 1525
REPUTAÇÃO : 167
Idade : 16
Áreas de atuação : Programação C#.
Modelagem Básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: (Ajuda) Girar objetos.

Mensagem por MarcosSchultz em Qui Fev 25, 2016 3:22 pm

Cara, faça tudo em um script só, no caso, nesse que você usa para instanciar... a referencia já está nele, então basta aplicar a rotação agora
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8130
REPUTAÇÃO : 1145
Idade : 20
Á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

DÚVIDA Re: (Ajuda) Girar objetos.

Mensagem por rafaelllsd em Qui Fev 25, 2016 5:19 pm

Fiz o seguinte:
Código:

   public Vector3 screenPoint;
   public Vector3 offset;
   public Vector3 scanPos;
   public RectTransform b;
   public bool Movimento;
   public static bool MovimentoAll;
   public static bool PodeGirar;
   // Itens Behaviour
   public GameObject Bola;
   public GameObject Rampa;
   public Transform Ponto;
   public GameObject BotaoC;
   public int Instanciar;
   public GameObject[] objetoInstanciado;
   void Start () {
      Movimento = true;
      PodeGirar = true;
      Instanciar = 10;
   }
   void Update (){
      scanPos = transform.position;
      if (MovimentoAll == true) {
         Movimento = false;
      }
      if (Input.GetKey (KeyCode.R)) {
         transform.Rotate (0, 0, 10);
      }
   }
   public void OnMouseDown() {
      if (Movimento == true) {
      screenPoint = Camera.main.WorldToScreenPoint(scanPos);
      offset = scanPos - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z));
   }
   }
   public void OnMouseDrag() {
      if (Movimento == true) {
         Vector3 curScreenPoint = new Vector3 (Input.mousePosition.x, Input.mousePosition.y, screenPoint.z);
         Vector3 curPosition = Camera.main.ScreenToWorldPoint (curScreenPoint) + offset;
         transform.position = curPosition;
         b.transform.position = curPosition;
      }
}
      public void TerminarObjeto () { //Botão de terminar e para de girar o objeto, e instanciar outro.
      PodeGirar = false;
      Movimento = false;
      }
   public void Terminar () {
      BotaoC.SetActive (false);
      Bola.SetActive (true);
      MovimentoMouse.MovimentoAll = true;
   }
   public void Ramp () {
      if (Instanciar >= 1) {
         GameObject objetoInstanciado = Instantiate (Rampa, Ponto.position, transform.rotation)as GameObject;
         Instanciar -= 1;
      }
   }
}
Mais não sei se está certo ou foi isto que você disse. eu coloquei Input.GetKey(KeyCode.A) para testar e não deu certo tem algo de errado?
avatar
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 1525
REPUTAÇÃO : 167
Idade : 16
Áreas de atuação : Programação C#.
Modelagem Básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: (Ajuda) Girar objetos.

Mensagem por MarcosSchultz em Sex Fev 26, 2016 1:53 am

Fiz um modelo resumido para você entender melhor:

Código:
   public GameObject Rampa, Ponto;
   private GameObject objetoInstanciado;

   void Update(){
      if (Input.GetKeyDown (KeyCode.E)) {
         Instanciar ();
      }
      if (Input.GetKey (KeyCode.R)) {
         Rotacionar ();
      }
   }

   void Instanciar () {
      objetoInstanciado = Instantiate (Rampa, Ponto.transform.position, transform.rotation)as GameObject;
   }

   void Rotacionar(){
      if (objetoInstanciado != null) {
         objetoInstanciado.transform.Rotate (0, 0, 10 * Time.deltaTime);
      }
   }
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8130
REPUTAÇÃO : 1145
Idade : 20
Á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

DÚVIDA Re: (Ajuda) Girar objetos.

Mensagem por rafaelllsd em Sex Fev 26, 2016 1:41 pm

Valeu Marcos. primeira vez que estou trabalhando com Mobile.
avatar
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 1525
REPUTAÇÃO : 167
Idade : 16
Áreas de atuação : Programação C#.
Modelagem Básica.
Respeito as regras :

Ver perfil do usuário

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