Unity-Technologies / multiplayer
On Dezembro 16, 2021 by adminBem-vindos ao repositório Alfa multiplayer em tempo real da Unity!
Aqui você pode encontrar todos os recursos que você precisa para iniciar o prototypingy de seus próprios jogos multiplayer em tempo real.
Manual NetCode
ManualTransportes
Clique aqui para visitar o fórum
Conteúdo incluído
-
sampleproject/Assets/Samples/Asteroids
– Clone de asteróides demonstrando os conceitos do núcleo netcode. -
sampleproject/Assets/Samples/LagCompensation
– Amostra mostrando compensação de defasagem baseada na Física da Unidade. -
sampleproject/Assets/Samples/NetCube
– Amostra mostrando o uso básico do netcode. -
sampleproject/Assets/Samples/Ping
– Amostra mostrando o uso básico do transporte. -
sampleproject/Assets/Samples/Soaker
– Um testador de molho para o transporte, para testar a carga típica de produção. -
sampleproject/Assets/Samples/CustomNetworkInterface
– Uma amostra mostrando como usar a implementação de um socket específico do jogo em Unity Transport.
sampleproject/
– Projeto Unidade contendo todas as amostras multiplayer.
Unity Transport Package
O novo Unity Transport Package que irá substituir o UNet API de baixo nível. A visualização do pacote transport suporta o estabelecimento de conexões e o envio de mensagens para o host aremote. Para mais informações sobre o pacote transport, por favor veja a documentação do Unity Transport Documentation
Unity NetCode Package
O pacote netcode fornece os recursos multiplayer necessários para implementar a sincronização mundial em um jogo multiplayer. Ele usa o pacote transport para a funcionalidade de nível de socket e é feito para o Entity Component System. Algumas coisas de nível superior que ele fornece são
- Server authoritative synchronization model.
- RPC support, útil para controle de fluxo ou eventos de rede.
- Client / server world bootrapping so you have clear seperation of logic and you can run a server with multiple clients in a single process, like the editor when testing.
- Sincronizar entidades com interpolação e previsão do lado do cliente funcionando por padrão.
- Ferramentas de depuração de tráfego de rede
- Suporte de fluxo de conversão do GameObject, para que você possa usar um modelo híbrido para adicionar multiplayer a um projeto baseado em GameObject/MonoBehaviour.
Para mais informações sobre o pacote netcode, por favor veja a documentação do Unity NetCode
Amostras
Ping
A amostra do ping é um bom ponto de partida para aprender sobre todas as partes incluídas no pacote de transporte. O cliente ping estabelece uma conexão com o servidor ping,envia uma mensagem ping e recebe uma resposta pong. Uma vez recebido o pong o cliente irá desconectar. É um exemplo simples mostrando como usar o novo Unity Transport Package.Ping consiste em múltiplas cenas, todas encontradas em sampleproject/Assets/Scenes/
.
-
PingMainThread.unity
– Uma implementação do ping apenas com a thread principal. -
Ping.unity
– Uma versão totalmente jobificada do cliente e servidor do ping. -
PingClient.unity
– O mesmo código cliente jobificado do pingPing.unity
, mas sem o servidor. -
PingServer.unity
– A versão dedicada do servidor do ping jobificado. Uma construção sem cabeça (ou Server Build em 2019.1) Linux 64 bit desta cena é o que deve ser implementado para Multiplay. -
PingECS.unity
– Uma versão ECS da amostra do ping jobified.
Soaker
Um teste de stress que irá criar um número definido de clientes e um servidor no mesmo processo. Cada cliente enviará mensagens na taxa especificada com o tamanho especificado e medir estatísticas.
Asteróides
Um pequeno jogo com as características do Unity NetCode Package.
LagCompensation
Um exemplo mostrando uma forma de implementar a compensação de atraso baseada na Física da Unidade. Em um jogo baseado no Unity NetCode o cliente irá exibir um estado do mundo antigo, a compensação de lag permite que o servidor leve isso em conta ao executar raycasts para que o jogador possa apontar para o que é realmente exibido no cliente.
NetCube
Um pequeno exemplo com as características do Unity NetCode Package. Este é o código usado na apresentação Unite sobre NetCode
Instalação
Para experimentar amostras neste repositório tudo o que você precisa fazer é abrirsampleprojects/
em Unity.Se você deseja criar um novo projeto Unity usando estes pacotes que também é possível.
- Certifique-se de ter uma versão suportada do Unity (2019.3 ou mais recente)
- Criar um novo projeto Unity
- Se você quiser usar o NetCode, adicione
Unity NetCode
do gerenciador de pacotes. - Se você quiser usar o transporte mas não o NetCode, adicione
Unity Transport
do gerenciador de pacotes. - As dependências dos pacotes serão automaticamente puxadas para o projeto
Deixe uma resposta