of 50 /50
Introdução ao Aquecimento para a Global Game Jam Bruno C. de Paula

Introdução ao

  • Author
    fausto

  • View
    39

  • Download
    9

Embed Size (px)

DESCRIPTION

Bruno C. de Paula. Introdução ao. Aquecimento para a Global Game Jam. Resumo. Vamos conhecer a engine Unity 3D Focaremos nas principais ferramentas e recursos que o Unity disponibiliza. O que é o Unity?. Unity é um ambiente multiplataforma de desenvolvimento de jogos; - PowerPoint PPT Presentation

Text of Introdução ao

  • Introduo ao

    Aquecimento para a Global Game JamBruno C. de Paula

  • ResumoVamos conhecer a engine Unity 3D

    Focaremos nas principais ferramentas e recursos que o Unity disponibiliza

  • O que o Unity?Unity um ambiente multiplataforma de desenvolvimento de jogos;Suporte a: Windows / MacOS / Web / Wii e Wii Ware / iPhone;Breve: Android / Xbox 360 e PS3.

    **

  • Caractersticas do UnityEditor de NveisFortemente integrado com a execuo do jogo;**

  • Caractersticas do UnityEditor de NveisSuporte a Drag & Drop e customizao;**

  • Caractersticas do UnityEditor de NveisEditor de terrenos e lightmaps;**

  • Caractersticas do UnityGrficosSuporte a Direct3D 9 e OpenGL;**

  • Caractersticas do UnityImportaoImportao de modelos, texturas, bones e animaes de Maya, 3DS, Cheetah 3D, Blender, Wavefront obj...Heightmaps, Fontes, audio.**

  • **

  • Caractersticas do UnityShadersEfeitos de Glow, Blur, Noise, etc**

  • Caractersticas do UnityFsica / PhysXSuporte a corpos rgidos;Junes;Ragdolls;Wheel Collider para jogos de carro;**

  • Caractersticas do UnityScriptingLinguagens de Scripting:JavaScript (muuuito rpido, palavra!);C# (Mono);Boo (similar a Python).

    **

  • Vamos para a prtica!**

  • Interface bsica**

  • Interface bsicaScene View (Cena): editor de nveis;Project View (Projeto): arquivos do projeto;Hierarchy View (Hierarquia): objetos que esto na cena e sua relao;Game View (Jogo): Visualizao da aplicao sendo executada;Inspector View (Inspetor): Acesso aos componentes dos objetos;**

  • Navegao na Scene ViewPrincipais Atalhos:Q, W, E, R;ALT + mouse;Leitura altamente recomendada:http://unity3d.com/support/documentation/Manual/Learning%20the%20Interface.htmlhttp://docwiki.unity3d.com/uploads/Main/GUI%20Essentials.pdf

    **

  • AssetsArquivos do Projeto;

  • Game ObjectsElementos de um jogo;Arquitetura baseada em composio;Objeto de jogo especificado atravs da composio de vrias funcionalidades (COMPONENTES);Todo game object j nasce com um componente transform;Cada GameObject um repositrio de componentes.

    **

  • Componente TransformPosicionamento (x, y, z) [W], rotao (ngulo) [E] e escala [R];**

  • Local Space e World SpaceX, Y e Z so em relao ao elemento pai;**

  • Game Objects disponveis**

  • Tipos de Game ObjectCube, Sphere, Capsule, Cylinder, Plane Cubo, esfera, cpsula, cilndro e plano;Cada um est associado a um componente Mesh Filter com aspecto diferente;Colide com outros corpos por padro;

  • Tipos de Game ObjectLuzesPoint light: Luz proveniente de um ponto;Luz com localizao especfica;Espalha a partir do ponto;Spotlight:Vem de um ponto;Localizao especfica;Gera cone de luz;

  • Tipos de Game ObjectLuzesDirectional Light:Vem de uma direo;No tem localizao especfica;Luz paralela;Mais forte nas reas quadradas;Mais fraco nas angulaes;Sol;

  • Tipos de Game ObjectCameraCapturam e mostram o mundo ao jogador;

    **

  • Tipos de Game ObjectGUI Text e GUI TextureTexto e Imagens em 2D;til para criao da HUD;

  • Tipos de Game ObjectParticle SystemSistema de Partculas, formado por:Emissor, animador e renderizador;**

  • Tipos de Game ObjectRagdollSimulao no estilo boneco de pano;til para representao de mortos;Ver video:http://www.youtube.com/watch?v=g0lTE4sCyKI *

  • ComponentesPodem ser associados a Game Objects;Definem:Comportamento;Aparncia;Podem ser scripts;Vamos analisar alguns.

  • Tipos de ComponentesMeshCada modelo formado por polgonos;Um conjunto de polgonos associados uma mesh;Mesh Filter: pega uma malha dos Assets e passa ao renderizador;Mesh Renderer: Renderiza uma malha a partir de um material;Voc pode gerar um mesh em programas como 3DMax, Blender, Maya, etc.O Unity trabalha com os formatos FBX, 3DS, OBJ...;Meshs podem ser animadas via script;

  • Exemplo de Mesh(em destaque)

  • Sites com modelos gratuitosO site do Unity:RecursosTutoriais:Jogo de carro, Plataforma 3D, Plataforma 2D, FPS, Animao.Projetos Exemplo:FPS, Customizao de Personagenshttp://www.turbosquid.com/Search/3D-Models/free/fbx http://www.open3dproject.org/...

    *

  • Tipos de componentesFsicaBaseado no engine de fsica PhysX (Nvidia);

    Rigidbody: Objeto que age sobre o controle da fsica;Constant Force: fora constante; Colliders:Geometrias bsicas de coliso;Box, Sphere, Capsule, Mesh, Wheel (roda), Raycast;Joints:Junes;Restries no grau de liberdade;

  • Tipos de componentesHinge JointSimulao de dobradia;

  • Tipos de componentesSpring JointSimulao de mola;Distncia mxima de separao e retorno posio original;

  • Tipos de componentesFixed JointConexo entre 2 corpos;Similar hierarquia de transformao;til quando os corpos podem ser desconectados durante a simulao;*

  • ScriptsJavaScript, C# e Boo;Criao em Assets > Create;Scripts so associados a Game Objects como componentes;

  • Alguns eventos importantesUpdate: executada uma vez por frame;FixedUpdate: chamada de tempos em tempos em um intervalo fixo (fsica);OnCollisionEnter: chamado quando ocorre a coliso;

  • Referncias a componentestransform: posicionamento, rotao e escala;rigidbody: corpo rgido;animation: controle dos ciclos de animao;.renderer: exibio do componente em cena;audio: fonte de audio;collider: geometria de coliso;

  • A seguir, alguns fragmentos de cdigos usando o Unity**

  • ExemploFaz um objeto girarvar velocidade = 5.0;function Update () {print("Ol, Mundo");transform.Rotate(0, velocidade*Time.deltaTime, 0);}

  • ExemploMove a posio a partir do tecladofunction Update () {transform.Translate(Input.GetAxis("Horizontal"), 0,Input.GetAxis("Vertical"));}

  • ExemploOlha para um alvovar alvo : Transform;function Update () {transform.LookAt(alvo);}

  • PrefabsPrefabs so objetos reutilizveis armazenados na Project View;Funcionam como modelos de objetos;

  • ExemploCria um novo objeto Instantiatevar novoObjeto : Transform;function Update () {if(Input.GetButtonDown("Fire1")) { Instantiate(novoObjeto, transform.position, transform.rotation);}}

  • Exemplo Carrega outro nvel

    Application.LoadLevel("Nome nivel");

  • ExemploEnvia uma mensagem para um outro objeto

    // O outro objeto deve possuir uma funo chamada // AplicarDanofunction OnCollisionEnter (collision : Collision) {collision.gameObject.SendMessage("AplicarDano");}

  • ExemploDestruir o objeto atual

    function AplicarDano() {Destroy(gameObject);}***

  • ConclusesO Unity pode ser til em uma Game Jam pois: fcil de integrar o trabalho de um programador e de um artista;J vem com funcionalidades de fsica , editor de ambientes, testes de coliso, etc;Cuidados!Nem sempre um jogo 3D fcil de se balancear;**

  • Mais material?http://www.brunocampagnolo.com/engines2010/

    **

    Fonte da Imagem:Unity Game Development Essentials, p. 10Fonte da imagem:http://glprogramming.com/red/chapter03.html