Bruno C. de Paula
Finalização
1º Semestre 2010 > PUCPR > Pós Jogos
Sumário
 Comentar
sobre detalhes de desenvolvimento
que não tiveram espaço neste curso;
 Responder a dúvidas comuns e dar dicas
em geral para seus projetos;
 Fornecer material gratuito e fácil de usar
para a prototipação rápida de seus jogos.
 Lembre-se:
O Diabo está nos detalhes! Ou
seja, a diferença entre um bom e um mau
jogo pode ser mínima!
05/11/2015 3
1) Como trabalhar com som?
 Componente
Audio Listener:
Funciona como microfone;
Recebe o som de um ou mais
componenetes do tipo Audio Source;
Associado, geralmente, à Main Camera.
Cada cena só pode ter 1 audio listener;
 Componente Audio Source:
Toca um audio clip (3d ou não);
Arquivos do tipo .aif, .wav, .mp3 e .ogg.
Propriedade
Audio Source
 Audio
05/11/2015 4
Clip: arquivo;
 Play On Awake: roda quando a cena inicia;
 Volume;
 Pitch: velocidade;
 Max / Min Volume: volume mínimo e
máximo não importando a distância;
 Rolloff Factor: quanto maior, mas perto tem
que se estar para ouvir o sim;
 Loop: repete ao chegar no fim.
05/11/2015 5
Scripts para som
 audio.Play():
toca um som;
 audio.Stop(): interrompe;
 audio.isPlaying: verifica se está tocando
 //
Tocar som específico:
 var som : AudioClip;
 audio.clip = som;
 audio.Play();
 Dica: ferramenta para criação de efeitos
sonoros.
05/11/2015 6
2) Multiplayer com o Unity?
 Sim,
cliente-servidor construído em
Unity Ver:
http://unity3d.com/support/resources/exa
mple-projects/networking-example
iPhone Multiplayer Tutorial;
** Excelente tutorial ** .
Servidor não precisa ser escrito no
Unity
 Também
pode usar outras infraestruturas
como servidor:
SmartFox;
• Tutorial criação de ambientes multiusuário no Unity
usando o SmartFox;
Raknet:
• Interação com servidor C++;
Outros:
• Photon, RedDwarf, NetDog, ...
05/11/2015
7
05/11/2015 8
Dicas para projeto Multiplayer
 Difícil
de depurar, use duas instâncias do
Unity ou o Web Player;
 Se o Unity for o servidor, garanta que ele
rode em background (Edit > Project
Settings > Player > Run in Background);
 Pode usar NAT (Network Address
Translation);
 Projeto de jogo multiplayer não é simples!
05/11/2015 9
Abordagens para jogos em rede
 Authorative
Server X Non-Authorative
Server
 Maior processamento no servidor X confiança
no cliente;
 Client Side Prediction X Sem predição
05/11/2015 10
Scripts para Conexão
 Network.InitializeServer:
Cria o servidor;
Pode ser uma máquina dedicada ou que
também está jogando.
 Network.Connect:
Conecta com um servidor existente;
Precisa do ip e da porta (senha opcional);
05/11/2015 11
Eventos de conexão
 Chamados
automaticamente quando acontece
algo com a conexão;
 OnConnectedToServer,
OnDisconnectedFromServer,
OnFailedToConnect,
OnPlayerConnected,
OnPlayerDisconnected...
05/11/2015
Componente Network View
 Útil
para sincronizar o estado de
componentes pela rede ou enviar
mensagens;
 State Synchronization indica o tipo de
sincronização;
 Controle fino usando o evento
OnSerializeNetworkView;
12
RPC
Remote Procedure Calls
 Permitem
05/11/2015
que sejam chamadas funções em
máquinas remotas;
@RPC
function ExibirMsg (txt : String)
{
Debug.Log(txt);
}
networkView.RPC ("ExibirMsg",
RPCMode.All,
"Oi");
13
3) Posso abrir mais de uma instância
do Unity ao mesmo tempo?
05/11/2015 14
 Sim!
 Cuidado!
 Crie

Evite abrir o mesmo projeto!
um bat com:
"C:\...\Unity.exe" –projectPath "C:\...\Projeto"
05/11/2015 15
4) Como fazer pathfinding?
 Ótima
solução do Aron Granberg;
 Usa algoritmo A*;
 Navegação em um grid de nós;
 Outras sugestões de implementação:
Campos potenciais;
Waypoints.
5) E comportamentos
emergentes / flocking?
05/11/2015 16
 Fácil
implementação ver Programming
GameAI By Example;
 Se quiser uma abordagem pronta, use a
Biblioteca UnitySteer (licença MIT);
Separação:
Evitar os vizinhos
que estão muito
próximos
Alinhamento:
acompanhar a
velocidade
média do grupo
Coesão:
acompanhar a
posição média
do grupo (centro
de gravidade)
16
Evitar
obstáculos:
procurar desviar
os obstáculos
pelo caminho.
6) Quais os principais tutoriais /
exemplos disponíveis no site do Unity?
 Os
que podem ajudar na
criação de seus jogos:
Plataforma de 3ª Pessoa;
Tiro de 3ª Pessoa;
Plataforma em 2D;
Jogo de carro (realista) ;
FPS.
05/11/2015 17
7)Modelos, animações, gratuitos,
baratos, fáceis de usar?
05/11/2015 18

A seguir, uma lista de ferramentas e recursos
fáceis de usar e rápidas de aprender!
 TurboSquid:
Mercado de modelos 3d.
7)Modelos, animações, gratuitos,
baratos, fáceis de usar?
05/11/2015
 Mixamo:
Serviço on line para criação de animações
em 3D;
Integração perfeita com Unity, download
do FBX otimizado para o Unity;
19
7)Modelos, animações, gratuitos,
baratos, fáceis de usar?
 Você
pode fazer o upload do esqueleto,
download da animação ou criação do
personagem via Web.
 Fiquem de olho (!):
Pessoal da Stanford;
Modelo de negócios inovador;
Integração com OpenSim.
05/11/2015
20
7)Modelos, animações, gratuitos,
baratos, fáceis de usar / construir?
 Make
Human: modelagem de humanóide;
 UniHuman: versão lowpoly do MakeHuman,
roda no Blender;
05/11/2015
21
7)Modelos, animações, gratuitos,
baratos, fáceis de usar / construir?
 Spore
05/11/2015
(!) – Você pode exportar suas criaturas
/ veículos e construções para o formato
Collada (.dae).
22
7)Modelos, animações, gratuitos,
baratos, fáceis de usar / construir?
 Sculptris;
 Ferramenta
de escultura
digital;
 Alternativa gratuita ao
Zbrush;
 Fácil de usar;
 Gera modelos hi poly
(necessitam de tratamento
posterior para poder ser
usado em um jogo;
05/11/2015
23
7)Modelos, animações, gratuitos,
baratos, fáceis de usar / construir?
 ShapeShop:
Ferramenta de modelagem 3D com
interface baseada em rascunhos;
Exporta Collada e obj.
05/11/2015
24
7)Modelos, animações, gratuitos,
baratos, fáceis de usar / construir?
 Google
05/11/2015
Sketchup:
Possui um armazém 3D;
Arquivo .kmz é um .zip com .dae dentro...
25
7)Modelos, animações, gratuitos,
baratos, fáceis de usar / construir?
 Arquivos
BVH (e similares) (Biovision
Hierarchy - mocap) gratuitos:
2500 movimentos;
Free Motion Capture Data;
Mocaps CMU Open Source.
 Ferramentas gratuitas para visualização /
edição de mocap:
Animeeple – integrado com Unity (ver),
importa do Evolver.
BVHHacker;
05/11/2015
26
Download

Apresentação relacionada à aula