Apresentação relacionada à aula
Download
Report
Transcript Apresentação relacionada à aula
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!
13/04/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
13/04/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.
13/04/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.
13/04/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, ...
13/04/2015
7
13/04/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!
13/04/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
13/04/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);
13/04/2015 11
Eventos de conexão
Chamados
automaticamente quando acontece
algo com a conexão;
OnConnectedToServer,
OnDisconnectedFromServer,
OnFailedToConnect,
OnPlayerConnected,
OnPlayerDisconnected...
13/04/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
13/04/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?
13/04/2015 14
Sim!
Cuidado!
Crie
Evite abrir o mesmo projeto!
um bat com:
"C:\...\Unity.exe" –projectPath "C:\...\Projeto"
13/04/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?
13/04/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.
13/04/2015 17
7)Modelos, animações, gratuitos,
baratos, fáceis de usar?
13/04/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?
13/04/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.
13/04/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;
13/04/2015
21
7)Modelos, animações, gratuitos,
baratos, fáceis de usar / construir?
Spore
13/04/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;
13/04/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.
13/04/2015
24
7)Modelos, animações, gratuitos,
baratos, fáceis de usar / construir?
Google
13/04/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;
13/04/2015
26