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 MouserPosition
Botões Android
Distância de tiro
Como Consigo Fazer Um Sistema De Trocar De Roupa ?
Velocidade de animação
SEIAR - Experiências Científicas Em Realidade Aumentada
SceneManager
Como fazer IA de inimigo se desviar de tiro?
[Projeto] Line Battle
Textura no Unity3d
Como Fazer quiz com pergunta Aletórias no Unity-5
[Dúvida] --> Qual engine usar
Sobre o Rigidbody
Mudar de scene multiplayer?
Bug No Analógico
Projeto em andamento! (Graficos quase realistas)
[Duvida] Controle de Terceira pessoa por JoyStick
Procurar outro objeto por tag apenas dentro do objeto
Botão no Touch || saltar e tiro
[SGB] Smile Game Builder Nova Engine RPG 3D
Erro em scrpt de movimento para android
[TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!
PROCURA-SE PROGRAMADORES PARA INICIAR UM NOVO PROJETO!
Solucionado
Inserindo animações com Mixamo
[TUTORIAL] Script de arma automatica
(DÚVIDA)Erro ao fazer a build para android do jogo
Duvida Sobre Unity 3d
É necessário 2 itens para fazer 1, mas ele faz mesmo que falte 1 na mochila!
como dminuir o lag no meu unity 5
Erro com textura, cor e skybox
JOGO QUIS - Como fazer as perguntas serem aleatórias?
Mensagem de erro ao publicar jogo na PlayStore
Ajuda na unity
Importação de objetos 3D (.fbx) sem perder as características e sem bugs
Mapa de um jogo
Alinhar o movimento do trem 2d sempre no chão !
Gradiente de cores
Salvar dados
[TUTORIAL] Loja Virtual Fácil e Grátis
Missil perseguidor
Iniciante duvida em listar inimigos =/
[TUTORIAL] Mover e rotacionar objeto em relação a posição do MOUSE
Identificar Limite de Tela
Valor Multiplica Quando Troca Cena
Sistema de um game de Vôlei de praia
Como Usar a Mesma Animação Pra Personagens Diferentes na Unity ?
[TUTORIAL] Photon Networking Part.2 (Conectando ao servidor)
[DUVIDA]Pergunta Aleatória
Imagem Aparecer como pergunta
Dúvidas sobre aparecer imagem na tela
Mudar a visiabilidade do inputField
[Duvida] Erro em "Public Float". "Not all code paths return a value"
Procuro Equipe Para Criação de Um Jogo
(DÚVIDA) USAR O UNITY PRO SENDO QUE CRACKEADO DA BRONCA?
Botão UI - Toggle (Botão Mutar) - Como deixar ele em todas as cenas?
Como criar um sistema de Ranking simples.
Loja e inventario em jogo fps multiplayer.
TILEMAP NÃO FUNCIONA QUANDO ARRASTO AS SPRITES PARA TILEPALETTE
[Devlog] ZByte Defender:The Game 10/04 (Alpha Aberta) + Download
Fixar o objeto no chão !
Exportar animações
[TUTORIAL] Unity + PHP + Mysql (com PDO)
base para multiplayer , qual melhor método, e restrições
Scena Demorando muito Para Carregar!
[ NONAME ] Procura de pessoas interessadas
Apertar mais de um botão no UNITY
Zerar os tempos do Cronometro Unity
PHP retorno?
The Lost Blade (Em Desenvolvimento)
Spawn varios objetos
[TUTORIAL] Sistema de vida,morte,dano
Erro UNITY 5 NOTA PARA JOGO DE TERROR
SOM Duplicado unity3d
Reproduzir audio no if c## e musica continuar tocando entre cenas.
Bug com detecção de chão
Girar personagem no próprio eixo usando joystick virtual
Asset de Efeito de congelamento
Tirar seleção de Objeto na Cena
Command 888
Care Box - Disponível na Play Store
[____ADMINISTRAÇÃO____] Alterações IMPORTANTES no fórum.
Site de assets
" FUEL " O maior jogo do Mundo
[TUTORIAL] Compilar para Android
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
Deformação de Objetos
Itens de diferentes tamanho no inventario
[TUTORIAL] Sistema COMPLETO de câmeras
Efeito arma giratória
[TUTORIAL] Criando Plants VS Zombies (remake - Parte 1)
Como aumentar os dados de Black In do color grading do post processing via script?
[DUVIDA] Fps multiplayer
[Asset] Script Arma Completo Incluso Recuo. Incluso outros Scripts
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
Novo jogo - Astero - PlayStore
IA de Patrulha do inimigo !
Modeladores e programadores por favor.
Dúvida com jogo estilo Clash Royale
Hoje à(s) 4:01 am
Ontem à(s) 11:02 pm
Ontem à(s) 9:49 pm
Ontem à(s) 9:23 pm
Ontem à(s) 9:22 pm
Ontem à(s) 8:49 pm
Ontem à(s) 8:45 pm
Ontem à(s) 7:57 pm
Ontem à(s) 7:18 pm
Ontem à(s) 7:13 pm
Ontem à(s) 6:49 pm
Ontem à(s) 6:40 pm
Ontem à(s) 6:28 pm
Ontem à(s) 1:10 pm
Ontem à(s) 12:33 pm
Ontem à(s) 12:14 pm
Ontem à(s) 8:42 am
Ontem à(s) 6:35 am
Sex Maio 25, 2018 11:47 pm
Sex Maio 25, 2018 10:37 pm
Sex Maio 25, 2018 9:39 pm
Sex Maio 25, 2018 7:39 pm
Sex Maio 25, 2018 7:28 pm
Sex Maio 25, 2018 4:38 pm
Sex Maio 25, 2018 3:03 pm
Sex Maio 25, 2018 2:42 pm
Sex Maio 25, 2018 1:43 pm
Sex Maio 25, 2018 12:43 pm
Sex Maio 25, 2018 11:51 am
Sex Maio 25, 2018 7:37 am
Qui Maio 24, 2018 11:09 pm
Qui Maio 24, 2018 10:19 pm
Qui Maio 24, 2018 8:18 pm
Qui Maio 24, 2018 6:33 pm
Qui Maio 24, 2018 6:08 pm
Qui Maio 24, 2018 12:33 pm
Qui Maio 24, 2018 12:03 pm
Qui Maio 24, 2018 10:17 am
Qui Maio 24, 2018 6:39 am
Qui Maio 24, 2018 6:20 am
Qui Maio 24, 2018 5:54 am
Qui Maio 24, 2018 3:40 am
Qui Maio 24, 2018 12:23 am
Qua Maio 23, 2018 11:33 pm
Qua Maio 23, 2018 10:50 pm
Qua Maio 23, 2018 10:08 pm
Qua Maio 23, 2018 9:38 pm
Qua Maio 23, 2018 8:50 pm
Qua Maio 23, 2018 8:22 pm
Qua Maio 23, 2018 4:28 pm
Qua Maio 23, 2018 3:50 pm
Qua Maio 23, 2018 3:03 pm
Qua Maio 23, 2018 2:55 pm
Qua Maio 23, 2018 12:52 pm
Qua Maio 23, 2018 12:33 pm
Qua Maio 23, 2018 10:59 am
Ter Maio 22, 2018 11:27 pm
Ter Maio 22, 2018 7:27 pm
Ter Maio 22, 2018 5:48 pm
Ter Maio 22, 2018 5:18 pm
Ter Maio 22, 2018 4:36 pm
Ter Maio 22, 2018 8:44 am
Ter Maio 22, 2018 5:56 am
Seg Maio 21, 2018 9:44 pm
Seg Maio 21, 2018 8:01 pm
Seg Maio 21, 2018 7:00 pm
Seg Maio 21, 2018 3:42 pm
Seg Maio 21, 2018 3:32 pm
Seg Maio 21, 2018 2:13 am
Dom Maio 20, 2018 8:41 pm
Dom Maio 20, 2018 8:38 pm
Dom Maio 20, 2018 7:32 pm
Dom Maio 20, 2018 6:34 pm
Dom Maio 20, 2018 3:13 pm
Dom Maio 20, 2018 2:11 pm
Dom Maio 20, 2018 1:40 pm
Dom Maio 20, 2018 1:00 pm
Dom Maio 20, 2018 12:25 pm
Dom Maio 20, 2018 12:07 pm
Dom Maio 20, 2018 9:38 am
Dom Maio 20, 2018 8:06 am
Sab Maio 19, 2018 5:40 pm
Sab Maio 19, 2018 1:34 pm
Sab Maio 19, 2018 1:06 pm
Sab Maio 19, 2018 12:13 pm
Sab Maio 19, 2018 11:10 am
Sab Maio 19, 2018 9:51 am
Sab Maio 19, 2018 6:11 am
Sab Maio 19, 2018 12:14 am
Sex Maio 18, 2018 10:49 pm
Sex Maio 18, 2018 7:12 pm
Sex Maio 18, 2018 4:55 pm
Sex Maio 18, 2018 11:06 am
Sex Maio 18, 2018 10:39 am
Sex Maio 18, 2018 10:12 am
Sex Maio 18, 2018 8:09 am
Qui Maio 17, 2018 9:51 pm
Qui Maio 17, 2018 5:53 pm
Qui Maio 17, 2018 5:49 pm
roger224
TioUV
MayLeone
TioUV
isah
WolfTheZelda
Magnatah
isah
Daniel Pires da Silva
MRX
Phph09
Phph09
Phph09
Callyde Jr
Magnatah
thiagotmi
Magnatah
endersoneneilsa
gcs13
Callyde Jr
Magnatah
Magnatah
Magnatah
MRX
MayLeone
DeadPool BR
glauco
Magnatah
Souris
UnixGameStudio
Zack2
fecirineu
dstaroski
negoll
tassisfernando18
Callyde Jr
Netão
googolepton
arnaldojunior
Callyde Jr
Callyde Jr
speedluk
tony
azool
felipehobs1
isah
TioUV
Phph09
Rayllander
Pedro Marquesini
negoll
Phph09
felipehobs1
zeca urubu
fabriciorsz34
Rayllander
luansantos
MRX
RenatoMoran
Mateus2583
Netão
Phph09
Callyde Jr
Phph09
fabriciorsz34
ruanzikaad
Souris
Felix
Callyde Jr
ismarspn
Lteo
Callyde Jr
Rafa123
Rayllander
Rayllander
Joaopm1
Jmspp
Dom3000
Dom3000
Callyde Jr
Another Developer
Matrirxp
SuperGamer
Callyde Jr
Souris
francisco barroso
Lteo
Callyde Jr
MarcosSchultz
Flávio
MayLeone
YmKx
Daniel Dória
dimmuo
dstaroski
Édipo
dkrazor
ErikBreno360
RGKC

[TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Ir em baixo

TUTORIAL [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por Stipp em Sab Out 17, 2015 8:05 pm

Olá pessoal, hoje vou trazer um tutorial simples e bem util.
Sem mais delongas, crie um cena e adicione um cubo aumente a sua escala e renomeie para "Chao";
Crie um Empty e renomeie para "Spawn";



Agora crie 2 scripts c#, MultiplayerController e Player e copie e cole o que estou deixando aqui em baixo:



Multiplayer Controller:
Código:

using UnityEngine;
using System.Collections;

public class MultiplayerController : MonoBehaviour {

 //Variaveis para pegar as classes
 public Servidor servidor;
 public Cliente cliente;

 //Variaveis para spawn e player
 public Transform spawnPoint;
 public GameObject playerPrefabVerde;
 public GameObject playerPrefabVermelho;

 private bool gui = true;

 //classes do servidor e do cliente
 [System.Serializable]
 public class Servidor{
 public string nome;
 public int maxJogadores;
 public int porta;
 }

 [System.Serializable]
 public class Cliente{
 public string nomeJogador;
 public string ip;
 public int porta;
 public string cor;
 }

 //on gui para mostrar os botoes
 void OnGUI () {
 if(gui){
 //INICIO DA BOX DE CRIAR SERVIDOR\\
 GUI.Box(new Rect(10,10,180,270), "Criar servidor");

 GUI.Label(new Rect(20,40,160,20), "Nome:");
 servidor.nome = GUI.TextField(new Rect(20,70,160,20), servidor.nome);

 GUI.Label(new Rect(20,100,160,20), "Max. Jogadores:");
 servidor.maxJogadores = int.Parse(GUI.TextField(new Rect(20,130,160,20), servidor.maxJogadores.ToString()));

 GUI.Label(new Rect(20,160,160,20), "Porta:");
 servidor.porta = int.Parse(GUI.TextField(new Rect(20,190,160,20), servidor.porta.ToString()));

 GUI.Label(new Rect(20,220,160,20), "IP: "+Network.player.ipAddress);

 if(GUI.Button(new Rect(20,250,160,20), "Criar Servidor")){
 CriarServidor();
 }
 //FIM DA BOX DE CRIAR SERVIDOR\\

 //INICIO DA BOX DE CONECTAR SERVIDOR\\
 GUI.Box(new Rect(210,10,180,270), "Conectar no servidor");
 
 GUI.Label(new Rect(220,40,160,20), "Nome do jogador:");
 cliente.nomeJogador = GUI.TextField(new Rect(220,70,160,20), cliente.nomeJogador);
 
 GUI.Label(new Rect(220,100,160,20), "IP:");
 cliente.ip = GUI.TextField(new Rect(220,130,160,20), cliente.ip);
 
 GUI.Label(new Rect(220,160,160,20), "Porta:");
 cliente.porta = int.Parse(GUI.TextField(new Rect(220,190,160,20), cliente.porta.ToString()));

 if(GUI.Button(new Rect(220,220,80,20), "Verde")){
 cliente.cor = "verde";
 }

 if(GUI.Button(new Rect(300,220,80,20), "Vermelho")){
 cliente.cor = "vermelho";
 }
 
 if(GUI.Button(new Rect(220,250,160,20), "Conectar")){
 ConectarServidor();
 }
 //FIM DA BOX DE CONECTAR SERVIDOR\\
 }
 }

 //void para criar o servidor
 private void CriarServidor(){
 Network.InitializeServer(servidor.maxJogadores, servidor.porta, true);
 gui = false;
 }

 //void para conetar
 private void ConectarServidor(){
 gui = false;

 Network.Connect(cliente.ip, cliente.porta);
 }

 //void que verifica se o player esta conectado e caso esteje spawna o jogador de acordo com a cor
 void OnConnectedToServer(){
 gui = false;

 if (cliente.cor == "vermelho") {
 Network.Instantiate(playerPrefabVermelho, spawnPoint.position, spawnPoint.rotation, 1);
 }
 if(cliente.cor == "verde"){
 Network.Instantiate(playerPrefabVerde, spawnPoint.position, spawnPoint.rotation, 1);
 }
 if(cliente.cor == ""){
 Network.Instantiate(playerPrefabVerde, spawnPoint.position, spawnPoint.rotation, 1);
 }
 }
}

Player:
Código:

using UnityEngine;
using System.Collections;

public class Player : MonoBehaviour {

 public float velocidade = 10;

 void Start () {
 
 }

 void Update () {
 //verifica se o network view e meu, isso proteje que outros jogadores nao controlem o meu jogador
 if(!GetComponent<NetworkView>().isMine)
 return;

 //condicoes basicas para a movimentacao
 if(Input.GetKey(KeyCode.W)){
 transform.Translate(new Vector3(0, 0, velocidade*Time.deltaTime));
 }
 if(Input.GetKey(KeyCode.A)){
 transform.Translate(new Vector3(-velocidade*Time.deltaTime, 0, 0));
 }
 if(Input.GetKey(KeyCode.S)){
 transform.Translate(new Vector3(0, 0, -velocidade*Time.deltaTime));
 }
 if(Input.GetKey(KeyCode.D)){
 transform.Translate(new Vector3(velocidade*Time.deltaTime, 0, 0));
 }
 }
}

Crie um cubo, e um material, coloque a cor deste material verde, adicione rigidbody, networkView e o script player e salve o prefab (arrastando para a aba assets);



Faça a mesma coisa mais crie outro material vermelho;



Agora vai em File->Build Settings->Player Settings e marque a opção Run In Background;



Depois em Edit->Project Settings->Network e mude o Sendrate para 100;



Agora é só compilar e testar:
Tela de criar ou conectar em um servidor:



Tela do projetinho rolando Very Happy :



Qualquer duvida, só perguntar, se eu estiver online respondo com maior prazer

Caso queira baixar o projeto, segue o link: https://mega.nz/#!3MMx1aLT!YHypMNN7glSKgSpskZu6P1h_NWDzpRqY2YyfCHHgiKk

Criado por Everaldo Júnior [Stipp]
avatar
Stipp
Avançado
Avançado

Masculino PONTOS : 1271
REPUTAÇÃO : 95
Idade : 19
Áreas de atuação : Programação: C#, VB.NET, PHP e outras.
Modelagem: Blender.

Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por NOME-ALEATORIO em Sab Out 17, 2015 9:22 pm

legal sera que podia fazer uma versao desse tutorial pra unity 4
avatar
NOME-ALEATORIO
Avançado
Avançado

Masculino PONTOS : 1209
REPUTAÇÃO : 23
Idade : 14
Áreas de atuação : Programador Profissional Em ...
Iniciante Profissional Em TUDO
Respeito as regras :

Ver perfil do usuário https://www.youtube.com/channel/UCGdN6l99rIhtQL84CsmvrKQ

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por Stipp em Sab Out 17, 2015 9:26 pm

Na unity 4 o sistema é o quase o mesmo, você só tem que editar o script do Player:
Substituir isso:
Código:

if(!GetComponent<NetworkView>().isMine)
      return;

Por isso:
Código:

if(!networkView.isMine)
      return;
avatar
Stipp
Avançado
Avançado

Masculino PONTOS : 1271
REPUTAÇÃO : 95
Idade : 19
Áreas de atuação : Programação: C#, VB.NET, PHP e outras.
Modelagem: Blender.

Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por GustavoMaster em Dom Out 18, 2015 1:22 am

Parabéns
avatar
GustavoMaster
Avançado
Avançado

Masculino PONTOS : 1401
REPUTAÇÃO : 14
Idade : 15
Áreas de atuação : ; )
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por matheuseduarddo em Seg Fev 08, 2016 6:17 pm

muito bom Very Happy

matheuseduarddo
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por AndyShow em Sab Mar 26, 2016 8:48 pm

Show de Bola...Baixei seu Projeto e Compilei...e no Teste com meu Filho no PC dele só aparece o Jogador que Entra (CLIENTE) quem é Servidor não Aparece....nao aparece o CUBO do Servidor...oq ta acontecendo será?
avatar
AndyShow
Instrutor

Masculino PONTOS : 2588
REPUTAÇÃO : 569
Idade : 35
Áreas de atuação : Blender e Unity
Respeito as regras :

Ver perfil do usuário http://mundounity3d.forumbom.com/

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por edugamer69 em Sab Mar 26, 2016 9:20 pm

para mim não spawna o player

edugamer69
Avançado
Avançado

Masculino PONTOS : 1266
REPUTAÇÃO : 16
Idade : 21
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por AndyShow em Sab Mar 26, 2016 9:24 pm

@edugamer69 escreveu:para mim não spawna o player

Resolvi da Seguinte Forma.....

Entrei no Jogo Criei um Servidor.....Minimizei o Jogo e Começei outro...ai entrei no Meu IP mesmo..ai deu Certo...apareceu os 3 Players...to pensando se tem como Compilar só um Servidor Externo! só nao sei Como!
avatar
AndyShow
Instrutor

Masculino PONTOS : 2588
REPUTAÇÃO : 569
Idade : 35
Áreas de atuação : Blender e Unity
Respeito as regras :

Ver perfil do usuário http://mundounity3d.forumbom.com/

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por anizioNoob em Dom Mar 27, 2016 3:30 pm

tem como por pra isso funcionar com o asset do 3rd Person Controoler + fly mode ?
avatar
anizioNoob
MembroAvançado

Masculino PONTOS : 1107
REPUTAÇÃO : 15
Idade : 16
Áreas de atuação : Sei programar animators, e modelar no sketchup
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por anizioNoob em Qua Mar 30, 2016 9:24 pm

mano modifiquei o script do player mas retirei o multiplayer e adicionei o sistema de pulo a ele

Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Rigidbody))]
public class Player : MonoBehaviour {

   public float velocidade = 10;
   public float AlturaDoPulo = 10;

   void Start () {

   }

   void Update () {

      //condicoes basicas para a movimentacao
      if(Input.GetKey(KeyCode.W)){
         transform.Translate(new Vector3(0, 0, velocidade*Time.deltaTime));
      }
      if(Input.GetKey(KeyCode.A)){
         transform.Translate(new Vector3(-velocidade*Time.deltaTime, 0, 0));
      }
      if(Input.GetKey(KeyCode.S)){
         transform.Translate(new Vector3(0, 0, -velocidade*Time.deltaTime));
      }
      if(Input.GetKey(KeyCode.D)){
         transform.Translate(new Vector3(velocidade*Time.deltaTime, 0, 0));
      }
      if(Input.GetKey(KeyCode.Space)){
         transform.Translate(new Vector3(0, AlturaDoPulo*Time.deltaTime,0));
      }
   }
}

avatar
anizioNoob
MembroAvançado

Masculino PONTOS : 1107
REPUTAÇÃO : 15
Idade : 16
Áreas de atuação : Sei programar animators, e modelar no sketchup
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por Matheus Fiori em Sab Abr 16, 2016 5:23 am

Como configurar o server para ficar em um formato de Turnos , para aplicar em um card game?

Matheus Fiori
Iniciante
Iniciante

PONTOS : 932
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por dbzronaldo em Sex Set 09, 2016 9:28 pm

Ola tudo bem? oq recomenda usar para um jogo multiplayer no estilo mmorpg e fps...

Esse Network? , Photon ou UNET?


qual tem o melhor desempenho, é mais novo e é o melhor para se fazer em um jogo nesse estilo...

dbzronaldo
Membro
Membro

PONTOS : 675
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por dbzronaldo em Dom Set 11, 2016 1:26 am

Encontrei em um video um outro tipo de playercontroler que um cara fez.. totalmente diferente desse que tu mostrou..

qual deles recomenda usar? os dois funcionam.. eu gostei mais do modelo que vc fez.. fica mais facil de compreender.. mas qual deles é o mais indicado pra usar e aperfeiçoar?

Código:
public class PlayerControlerT : MonoBehaviour {

   public float speed;
   private Vector3 directionInput;   
   private Rigidbody myRigidyBody;


   void Start () {
      myRigidyBody = GetComponent<Rigidbody> ();
   }
   

   void Update () {
      directionInput.x = Input.GetAxis("Horizontal");
      directionInput.z = Input.GetAxis("Vertical");
   }

   void FixedUpdate () {
      if(directionInput != Vector3.zero){
         directionInput.y = myRigidyBody.velocity.y;
         myRigidyBody.velocity = directionInput * speed;
      }else{
         myRigidyBody.velocity = new Vector3 (0, myRigidyBody.velocity.y, 0);
      }
   }



}

dbzronaldo
Membro
Membro

PONTOS : 675
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por dbzronaldo em Seg Set 12, 2016 3:08 pm

Poderia incluir uma camera pra cada player, estou tentando fazer masi sem sucesso até o momento!

dbzronaldo
Membro
Membro

PONTOS : 675
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por Cezar2016 em Ter Set 13, 2016 9:50 pm

@dbzronaldo escreveu:Poderia incluir uma camera pra cada player, estou tentando fazer masi sem sucesso até o momento!

Criei um projeto de teste multiplayer, vou postar o link aqui talvez te ajuda, Tem o sistema de câmera para cada Player.

Obs : não é nada completo é apenas uns teste que estou fazendo.

https://mega.nz/#!ndpjHKzb!jyJ1p6K7Y-kEGNNagzrvtzuanJtNw_STrsnwl8VowzI

Cezar2016
Avançado
Avançado

Masculino PONTOS : 732
REPUTAÇÃO : 26
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por dbzronaldo em Ter Set 13, 2016 9:58 pm

Obrigado Cezar... vou dar uma olhada no seu projeto! vlwww

dbzronaldo
Membro
Membro

PONTOS : 675
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por Cezar2016 em Ter Set 13, 2016 10:04 pm

@dbzronaldo escreveu:Obrigado Cezar... vou dar uma olhada no seu projeto! vlwww
Por nada, Qualquer duvida so falar

Cezar2016
Avançado
Avançado

Masculino PONTOS : 732
REPUTAÇÃO : 26
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por dbzronaldo em Qua Set 14, 2016 8:34 pm

Opa, e ae... como vai? acabei de analizar seu código Cezar e achei ele bem diferente dos que tenho costumado ver..
no caso você não instanciou o player, apenas marcou como true para ele aparecer... muito legal mesmo... estou estudando essa forma que fez. 

só que pensando aqui, como terei varios lugares para meu player respawnar eu terei que instanciá-lo em uma posição randômica certo?



Veja se pode me ajudar nessa duvida:
Eu, estou achando que esse multiplayer do tutorial acima é uma versão antiga.. 
pois ele se reparar essa linha que instancia um objeto é diferente do que tenho costumado a ver, esse do tutorial é : Network e o do exemplo que a unity fornece é: Networkserver


outra coisa q percebi q quando uso o network.view a unit marca como deprecated.




Código do Tutorial:

Código:
Network.Instantiate(playerPrefabVerde, spawnPoint.position, spawnPoint.rotation, 1);

 
Código fornecido no site da Unity.

Código:
var enemy = (GameObject)Instantiate(enemyPrefab, spawnPosition, spawnRotation);
NetworkServer.Spawn(enemy);

dbzronaldo
Membro
Membro

PONTOS : 675
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por Weslley em Qua Set 14, 2016 8:39 pm

uma e do network antigo do unity e outro e do novo mais nem tanto UNET
avatar
Weslley
Moderador

Masculino PONTOS : 3082
REPUTAÇÃO : 624
Idade : 20
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por dbzronaldo em Qua Set 14, 2016 8:42 pm

o mais recente é o NetworkServer? esse é do UNET?

dbzronaldo
Membro
Membro

PONTOS : 675
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por George Lucas Vieira em Qua Set 14, 2016 9:06 pm

Muito bom man! Eu não tenho conhecimento algum sobre Multiplayer, e nada melhor como começar do básico. Vou usar pra estudar.  Cool Laughing bounce
avatar
George Lucas Vieira
MembroAvançado

Masculino PONTOS : 1037
REPUTAÇÃO : 125
Idade : 15
Áreas de atuação : Programação, Modelagem e Animação.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por Cezar2016 em Qui Set 15, 2016 10:02 pm

@dbzronaldo escreveu:Opa, e ae... como vai? acabei de analizar seu código Cezar e achei ele bem diferente dos que tenho costumado ver..
no caso você não instanciou o player, apenas marcou como true para ele aparecer... muito legal mesmo... estou estudando essa forma que fez. 

só que pensando aqui, como terei varios lugares para meu player respawnar eu terei que instanciá-lo em uma posição randômica certo?



Veja se pode me ajudar nessa duvida:
Eu, estou achando que esse multiplayer do tutorial acima é uma versão antiga.. 
pois ele se reparar essa linha que instancia um objeto é diferente do que tenho costumado a ver, esse do tutorial é : Network e o do exemplo que a unity fornece é: Networkserver


outra coisa q percebi q quando uso o network.view a unit marca como deprecated.




Código do Tutorial:

Código:
Network.Instantiate(playerPrefabVerde, spawnPoint.position, spawnPoint.rotation, 1);

 
Código fornecido no site da Unity.

Código:
var enemy = (GameObject)Instantiate(enemyPrefab, spawnPosition, spawnRotation);
NetworkServer.Spawn(enemy);

Cara da uma olhada nesse asset, estou aprendendo muita coisa com ele.

TANKS! Networking Demo

https://www.assetstore.unity3d.com/en/#!/content/46213

Cezar2016
Avançado
Avançado

Masculino PONTOS : 732
REPUTAÇÃO : 26
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por lantreco63 em Qui Out 27, 2016 4:54 pm

Tenho dois players cada um é um prefab diferente e cada um possui uma camera, não está spawnando os players, será que é devido eu estar utilizando a versão 5.4?

lantreco63
Membro
Membro

Masculino PONTOS : 604
REPUTAÇÃO : 4
Idade : 26
Áreas de atuação : Modelagem, Programação, Design.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por capitaoDisprosio em Qua Nov 09, 2016 9:01 pm

Uau. Parece muito simples de se fazer. Isso roda numa build para android?

capitaoDisprosio
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por perxgamertv em Sab Dez 31, 2016 2:27 am

Isso serviria pra Hamachi? E caso não, poderia me indicar algum tutorial ou até mesmo fazer um tutorial em Multiplayer Hamachi?
avatar
perxgamertv
Iniciante
Iniciante

PONTOS : 1123
REPUTAÇÃO : 0
Áreas de atuação : Aspirante a programador, amante de café, não sei nem oque escrever aqui.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por Gabriel César O em Qui Abr 13, 2017 6:27 pm

@Stipp escreveu:Olá pessoal, hoje vou trazer um tutorial simples e bem util.
Sem mais delongas, crie um cena e adicione um cubo aumente a sua escala e renomeie para "Chao";
Crie um Empty e renomeie para "Spawn";



Agora crie 2 scripts c#, MultiplayerController e Player e copie e cole o que estou deixando aqui em baixo:



Multiplayer Controller:
Código:

using UnityEngine;
using System.Collections;

public class MultiplayerController : MonoBehaviour {

 //Variaveis para pegar as classes
 public Servidor servidor;
 public Cliente cliente;

 //Variaveis para spawn e player
 public Transform spawnPoint;
 public GameObject playerPrefabVerde;
 public GameObject playerPrefabVermelho;

 private bool gui = true;

 //classes do servidor e do cliente
 [System.Serializable]
 public class Servidor{
 public string nome;
 public int maxJogadores;
 public int porta;
 }

 [System.Serializable]
 public class Cliente{
 public string nomeJogador;
 public string ip;
 public int porta;
 public string cor;
 }

 //on gui para mostrar os botoes
 void OnGUI () {
 if(gui){
 //INICIO DA BOX DE CRIAR SERVIDOR\\
 GUI.Box(new Rect(10,10,180,270), "Criar servidor");

 GUI.Label(new Rect(20,40,160,20), "Nome:");
 servidor.nome = GUI.TextField(new Rect(20,70,160,20), servidor.nome);

 GUI.Label(new Rect(20,100,160,20), "Max. Jogadores:");
 servidor.maxJogadores = int.Parse(GUI.TextField(new Rect(20,130,160,20), servidor.maxJogadores.ToString()));

 GUI.Label(new Rect(20,160,160,20), "Porta:");
 servidor.porta = int.Parse(GUI.TextField(new Rect(20,190,160,20), servidor.porta.ToString()));

 GUI.Label(new Rect(20,220,160,20), "IP: "+Network.player.ipAddress);

 if(GUI.Button(new Rect(20,250,160,20), "Criar Servidor")){
 CriarServidor();
 }
 //FIM DA BOX DE CRIAR SERVIDOR\\

 //INICIO DA BOX DE CONECTAR SERVIDOR\\
 GUI.Box(new Rect(210,10,180,270), "Conectar no servidor");
 
 GUI.Label(new Rect(220,40,160,20), "Nome do jogador:");
 cliente.nomeJogador = GUI.TextField(new Rect(220,70,160,20), cliente.nomeJogador);
 
 GUI.Label(new Rect(220,100,160,20), "IP:");
 cliente.ip = GUI.TextField(new Rect(220,130,160,20), cliente.ip);
 
 GUI.Label(new Rect(220,160,160,20), "Porta:");
 cliente.porta = int.Parse(GUI.TextField(new Rect(220,190,160,20), cliente.porta.ToString()));

 if(GUI.Button(new Rect(220,220,80,20), "Verde")){
 cliente.cor = "verde";
 }

 if(GUI.Button(new Rect(300,220,80,20), "Vermelho")){
 cliente.cor = "vermelho";
 }
 
 if(GUI.Button(new Rect(220,250,160,20), "Conectar")){
 ConectarServidor();
 }
 //FIM DA BOX DE CONECTAR SERVIDOR\\
 }
 }

 //void para criar o servidor
 private void CriarServidor(){
 Network.InitializeServer(servidor.maxJogadores, servidor.porta, true);
 gui = false;
 }

 //void para conetar
 private void ConectarServidor(){
 gui = false;

 Network.Connect(cliente.ip, cliente.porta);
 }

 //void que verifica se o player esta conectado e caso esteje spawna o jogador de acordo com a cor
 void OnConnectedToServer(){
 gui = false;

 if (cliente.cor == "vermelho") {
 Network.Instantiate(playerPrefabVermelho, spawnPoint.position, spawnPoint.rotation, 1);
 }
 if(cliente.cor == "verde"){
 Network.Instantiate(playerPrefabVerde, spawnPoint.position, spawnPoint.rotation, 1);
 }
 if(cliente.cor == ""){
 Network.Instantiate(playerPrefabVerde, spawnPoint.position, spawnPoint.rotation, 1);
 }
 }
}

Player:
Código:

using UnityEngine;
using System.Collections;

public class Player : MonoBehaviour {

 public float velocidade = 10;

 void Start () {
 
 }

 void Update () {
 //verifica se o network view e meu, isso proteje que outros jogadores nao controlem o meu jogador
 if(!GetComponent<NetworkView>().isMine)
 return;

 //condicoes basicas para a movimentacao
 if(Input.GetKey(KeyCode.W)){
 transform.Translate(new Vector3(0, 0, velocidade*Time.deltaTime));
 }
 if(Input.GetKey(KeyCode.A)){
 transform.Translate(new Vector3(-velocidade*Time.deltaTime, 0, 0));
 }
 if(Input.GetKey(KeyCode.S)){
 transform.Translate(new Vector3(0, 0, -velocidade*Time.deltaTime));
 }
 if(Input.GetKey(KeyCode.D)){
 transform.Translate(new Vector3(velocidade*Time.deltaTime, 0, 0));
 }
 }
}

Crie um cubo, e um material, coloque a cor deste material verde, adicione rigidbody, networkView e o script player e salve o prefab (arrastando para a aba assets);



Faça a mesma coisa mais crie outro material vermelho;



Agora vai em File->Build Settings->Player Settings e marque a opção Run In Background;



Depois em Edit->Project Settings->Network e mude o Sendrate para 100;



Agora é só compilar e testar:
Tela de criar ou conectar em um servidor:



Tela do projetinho rolando Very Happy :



Qualquer duvida, só perguntar, se eu estiver online respondo com maior prazer

Caso queira baixar o projeto, segue o link: https://mega.nz/#!3MMx1aLT!YHypMNN7glSKgSpskZu6P1h_NWDzpRqY2YyfCHHgiKk

Criado por Everaldo Júnior [Stipp]
NOSSA MANO MUITO TOP E BOM! VAI ME AJUDAR E AJUDAR MUITA GENTE! MUITO BEM CARA!  I love you I love you I love you I love you I love you I love you
avatar
Gabriel César O
Programador

Masculino PONTOS : 1629
REPUTAÇÃO : 213
Idade : 16
Áreas de atuação : (ESTUDANDO SEGUNDO GRAU), (FUÇANDO NO UNITY)){
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por cody0033 em Dom Abr 23, 2017 10:09 pm

@AndyShow escreveu:
@edugamer69 escreveu:para mim não spawna o player

Resolvi da Seguinte Forma.....

Entrei no Jogo Criei um Servidor.....Minimizei o Jogo e Começei outro...ai entrei no Meu IP mesmo..ai deu Certo...apareceu os 3 Players...to pensando se tem como Compilar só um Servidor Externo! só nao sei Como!
Quando criei um servidor, não spawnei. E no script Multiplayer controller há um espaço escrito 'spawn'.
avatar
cody0033
MembroAvançado

Masculino PONTOS : 555
REPUTAÇÃO : 11
Idade : 13
Áreas de atuação : Unity 5.2, desenho, animação tradicional e computadorizada.
8º ano
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por als260502 em Qui Jun 01, 2017 4:06 pm

Muito legal, 
vc pode adicionar o nome dos personagens em cima da cabeça

als260502
Iniciante
Iniciante

PONTOS : 758
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por Eduardoro39 em Sex Jul 07, 2017 5:01 pm

o meu nao funcionou da esse erro The connection request to (Aqui esta o meu ip) failed. Are you sure the server can be connected to?

Eduardoro39
Avançado
Avançado

Masculino PONTOS : 857
REPUTAÇÃO : 10
Idade : 18
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por richerd em Qui Abr 19, 2018 1:17 am

Por que outro jogador não consegue ver as animações do meu personagem?

richerd
Membro
Membro

PONTOS : 746
REPUTAÇÃO : 4
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Criando um simples Multiplayer [UNITY 5]

Mensagem por Phph09 em Qui Abr 19, 2018 6:45 am

@richerd escreveu:Por que outro jogador não consegue ver as animações do meu personagem?

Adicione um NetworkAnimator a ele e marque todas as opções(Se aparecer)
avatar
Phph09
ProgramadorMaster

Masculino PONTOS : 1344
REPUTAÇÃO : 199
Idade : 12
Áreas de atuação :

Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Voltar ao Topo


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