4 |
5 |
6 |
7 |
8 | [🇧🇷 Português](/PT/HomePT.md)
9 |
--------------------------------------------------------------------------------
/PT/4_INTER/1/1.4_image.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [4.1-4 Image](#)
2 |
3 | ## Image
4 |
5 | O componente *Image* exibe imagens. Imagens são componentes visuais estáticos.
6 |
7 |
8 | Avançar [Input Field](./1.5_inputfield.md)
9 |
--------------------------------------------------------------------------------
/PT/3_BASICO/6/6.3.3.light.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [6.3-3 Light](#)
2 |
3 | ## Light
4 |
5 | O componente `Light` representa uma lâmpada e conseguimos iluminar áreas do nosso jogo com ele.
6 |
7 | Avançar [6.3-3 Light Probe Group](./6.3.4.lightPG.md)
--------------------------------------------------------------------------------
/PT/4_INTER/1/1.9_scrollbar.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [4.1-9 Scroll Bar](#)
2 |
3 | ## Scroll Bar
4 |
5 | O componente *Scroll Bar* basicamente tem a mesma função de uma barra de rolar do seu navegador.
6 |
7 | Avançar [Scroll Rect](./1.10_scrollrect.md)
8 |
--------------------------------------------------------------------------------
/PT/4_INTER/1/1.1_button.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [4.1-1 Button](#)
2 |
3 | ## Button
4 |
5 | O componente *Button* é um botão. Botões são elementos de interface que ao serem clicados realizam ações e/ou disparam eventos.
6 |
7 | Avançar [Dropdown](./1.2_dropdown.md)
8 |
--------------------------------------------------------------------------------
/PT/4_INTER/1/1.7_rectmask.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [4.1-7 Rect Mask](#)
2 |
3 | ## Rect Mask
4 |
5 | O componente *Rect Mask* é similar a *Mask* que vimos anteriormente porém você delimita a máscara manualmente, sem depender de uma imagem.
6 |
7 | Avançar [Raw Image](./1.8_rawimg.md)
8 |
--------------------------------------------------------------------------------
/PT/3_BASICO/1/1.6_project.md:
--------------------------------------------------------------------------------
1 | [Home](../../HomePT.md) • [3.1 Conhecendo a Unity](./1_interface.md) • [1.6 Project](#)
2 |
3 | A `Project` é a tela responsável por mostrar todas os arquivos e pastas do projeto.
4 |
5 | 
--------------------------------------------------------------------------------
/PT/4_INTER/1/1.13_text.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [4.1-13 Text](#)
2 |
3 | ## Text
4 |
5 | O componente *Text* é uma caixa de texto. Ele recebe `strings` e é util para passar informações dentro do jogo, construir dialogos e até mesmo mostrar quantos pontos o jogador ja marcou na fase.
6 |
7 | Avançar [Toggle](./1.14_toggle.md)
8 |
--------------------------------------------------------------------------------
/PT/4_INTER/1/1.6_mask.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [4.1-6 Mask](#)
2 |
3 | ## Mask
4 |
5 | O componente *Mask* permite ajustar a visibilidade de uma imagem ocultando detalhes ou ela por completo.
6 |
7 |
8 |
9 | > Máscaras também são utilizadas para prevenção do Corona Vírus :)
10 |
11 | Avançar [Rect Mask](./1.7_rectmask.md)
12 |
--------------------------------------------------------------------------------
/EN/3_BASIC/1/1.6_project_eng.md:
--------------------------------------------------------------------------------
1 | [Home](../../HomeEN.md) • [3.1 Getting to Know Unity](#) • [1.6 Projects](#)
2 |
3 | `Project` is the screen responsible by showing every files and folders at project.
4 |
5 | 
6 |
7 | Next [Syntax C#](./2.syntax_eng.md)
--------------------------------------------------------------------------------
/PT/4_INTER/1/1.8_rawimg.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [4.1-8 Raw Image](#)
2 |
3 | ## Raw Image
4 |
5 | O *RawImage* assim como *Image* trabalha com componentes visuais estáticos porém o *RawImage* utiliza texturas. Você pode "renderizar" qualquer textura disponivel tanto no projeto quanto em um *GameObject*.
6 |
7 | Avançar [Scroll Bar](./1.9_scrollbar.md)
8 |
--------------------------------------------------------------------------------
/PT/3_BASICO/1/1.3_hier.md:
--------------------------------------------------------------------------------
1 | [Home](../../HomePT.md) • [3.1 Conhecendo a Unity](./1_interface.md) • [1.3 Hierarchy](#)
2 |
3 | A `Hierarchy` é a tela responsável por listar **TODOS** objetos existentes na tela `Scene`.
4 |
5 | 
6 |
7 | Avançar [Inspector](./1.4_inspector.md)
--------------------------------------------------------------------------------
/PT/3_BASICO/6/6.1.1.transform.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [6.1-1 Transform](#)
2 |
3 | ## Transform
4 |
5 | O `Transform` armazena atributos principais de um GameObject, como: posição, localização e escala.
6 |
7 | **Todo** GameObject recebe por padrão o componente `Transform` e ele não pode ser deletado.
8 |
9 | Avançar [6.1-2 Rigidbody](./6.1.3.rigidbody.md)
10 |
--------------------------------------------------------------------------------
/EN/3_BASIC/1/1.3_hier_eng.md:
--------------------------------------------------------------------------------
1 | [Home](../../HomeEN.md) • [3.1 Getting to Know Unity](./1_interface_eng.md) • [1.3 Hierarchy](#)
2 |
3 | `Hierarchy` is the screen responsible to list **EVERY** objects at `Scene` screen.
4 |
5 | 
6 |
7 | Next [Inspector](./1.4_inspector_eng.md)
--------------------------------------------------------------------------------
/PT/3_BASICO/1/1_interface.md:
--------------------------------------------------------------------------------
1 | [Home](../../HomePT.md) • [3.1 Conhecendo a Unity](#)
2 |
3 | # Conhecendo a Unity
4 |
5 | 1. [Scene](./1.1_scene.md)
6 | 1. [Game](./1.2_game.md)
7 | 1. [Hierarchy](./1.3_hier.md)
8 | 1. [Inspector](./1.4_inspector.md)
9 | 1. [Console](./1.5_console.md)
10 | 1. [Project](./1.6_project.md)
11 | 1. [Animator 🚧](#)
12 | 1. [Animation 🚧](#)
--------------------------------------------------------------------------------
/EN/3_BASIC/1/1.5_console_eng.md:
--------------------------------------------------------------------------------
1 | [Home](../../HomeEN.md) • [3.1 Getting to Know Unity](#) • [1.5 Console](#)
2 |
3 | `Console` is the screen responsible by showing errors, warnings and code [Debugs](https://en.wikipedia.org/wiki/Debugging).
4 |
5 | 
6 |
7 | Next [Project](./1.6_project_eng.md)
--------------------------------------------------------------------------------
/PT/4_INTER/1/1.2_dropdown.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [4.1-2 Dropdown](#)
2 |
3 | ## Dropdown
4 |
5 | O componente *Dropdown* é menu compacto. Armazena itens como uma lista de mercado e permite o usuário escolher uma das opções.
6 |
7 | 
8 |
9 |
10 | Avançar [Image](./1.4_image.md)
--------------------------------------------------------------------------------
/EN/3_BASIC/1/1_interface_eng.md:
--------------------------------------------------------------------------------
1 | [Home](../../HomeEN.md) • [3.1 Getting to Know Unity](#)
2 |
3 | # Getting to Know Unity
4 |
5 | 1. [Scene](./1.1_scene_eng.md)
6 | 1. [Game](./1.2_game_eng.md)
7 | 1. [Hierarchy](./1.3_hier_eng.md)
8 | 1. [Inspector](./1.4_inspector_eng.md)
9 | 1. [Console](./1.5_console_eng.md)
10 | 1. [Project](./1.6_project_eng.md)
11 | 1. [Animator 🚧](#)
12 | 1. [Animation 🚧](#)
--------------------------------------------------------------------------------
/EN/3_BASIC/1/1.1_scene_eng.md:
--------------------------------------------------------------------------------
1 | [Home](../../HomeEN.md) • [3.1 Getting to Know Unity](./1_interface_eng.md) • [1.1 Scene](#)
2 |
3 | `Scene` is the main workflow screen, where you insert objects to compose your game.
4 |
5 |
6 | 
7 |
8 | *(ViewPort Scene on 3D view)*
9 |
10 | Next [Game](./1.2_game_eng.md)
--------------------------------------------------------------------------------
/PT/3_BASICO/1/1.1_scene.md:
--------------------------------------------------------------------------------
1 | [Home](../../HomePT.md) • [3.1 Conhecendo a Unity](./1_interface.md) • [1.1 Scene](#)
2 |
3 | A `Scene` é a tela principal de trabalho, onde você coloca objetos gerais para compor seu jogo.
4 |
5 |
6 | 
7 |
8 | *(ViewPort Scene na visão 3D)*
9 |
10 | Avançar [Game](./1.2_game.md)
--------------------------------------------------------------------------------
/PT/3_BASICO/1/1.5_console.md:
--------------------------------------------------------------------------------
1 | [Home](../../HomePT.md) • [3.1 Conhecendo a Unity](./1_interface.md) • [1.5 Console](#)
2 |
3 | O `Console` é a tela responsável por mostrar os erros, advertências e *[Debugs](https://pt.wikipedia.org/wiki/Depura%C3%A7%C3%A3o) (em português, Depuração)* do código.
4 |
5 | 
6 |
7 | Avançar [Project](./1.6_project.md)
--------------------------------------------------------------------------------
/PT/3_BASICO/6/6.1.3.rigidbody.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [6.1-2 Rigidbody](#)
2 | ## RigidBody
3 |
4 | O `Rigibody` é componente responsável por aplicar fisica ao objeto.
5 |
6 | No mundo real, qualquer corpo existente (humano, garrafa de cerveja, computador) recebe física, porém no mundo de jogos precisamos de um componente específico para informar ao nosso compilador que um objeto está apto a receber forças externas.
7 |
8 | Avançar [6.1-3 Collider](./6.1.4.collider.md)
9 |
--------------------------------------------------------------------------------
/EN/3_BASIC/1/1.4_inspector_eng.md:
--------------------------------------------------------------------------------
1 | [Home](../../HomeEN.md) • [3.1 Getting to Know Unity](#) • [1.4 Inspector](#)
2 |
3 | `Inspector` is the screen responsable to **detail** the objects at `Hierarchy`.
4 |
5 | Witch object showed at [`Hierarchy`](./1.3_hier_eng.md) can be selected and your attributes will be listed at `Inspector` area.
6 |
7 | 
8 |
9 | Next [Console](./1.5_console_eng.md)
--------------------------------------------------------------------------------
/PT/3_BASICO/5.debug.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [3.5 Debug](#)
2 |
3 | ## Debug
4 |
5 | _Debugs_ (também conhecido como Depuração) é uma forma de acompanhar, validar e também testar o seu código durante o desenvolvimento.
6 |
7 | ```csharp
8 | if(playerLife > enemyLife){
9 | Debug.Log("Você pode matar um inimigo");
10 | }
11 | ```
12 |
13 | No exemplo acima temos um `Debug` validando se a vida atual do player é maior que a vida do inimigo.
14 |
15 |
16 | ```csharp
17 | ```
--------------------------------------------------------------------------------
/PT/3_BASICO/6/6.3.1.camera.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [6.3-1 Camera](#)
2 |
3 | ## Camera
4 |
5 | A `Camera` é o componente principal de renderização, permitindo o usuário visualizar todo o universo do jogo.
6 |
7 | Em 2017, a Unity disponibilizou a primeira versão do [Cinemachine](http://docs.unity3d.com/Packages/com.unity.cinemachine@2.6/manual/index.html) um tipo de componente que complementa e facilita algumas funções da `Camera`.
8 |
9 | Avançar [6.3-2 Flare Layer](./6.3.2.flarelayer.md)
--------------------------------------------------------------------------------
/PT/3_BASICO/1/1.2_game.md:
--------------------------------------------------------------------------------
1 | [Home](../../HomePT.md) • [3.1 Conhecendo a Unity](./1_interface.md) • [1.2 Game](#)
2 |
3 | A `Game` é a tela responsável por mostrar ao usuário o resultado renderizado pela câmera. Basicamente mostra a visão que o player terá do seu jogo.
4 |
5 | 
6 | (*Exemplo da tela __Game__ com o jogo FlappyBird desenvolvido por Dong Nguyen*).
7 |
8 | Avançar [Hierarchy](./1.3_hier.md)
9 |
--------------------------------------------------------------------------------
/PT/4_INTER/1/1.14_toggle.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [4.1-14 Toggle](#)
2 |
3 | ## Toggle
4 |
5 | O componente *Toggle* é um botão que funciona com uma lógica similar a booleana, com valores de true ou false, nesse caso ligado ou desligado. Por exemplo você pode clicar no `toggle` e ele vai ativar um conteúdo respectivo desse botão, ou até mesmo dizer que quando ele estiver desligado vai desativar um laser permitindo o jogador avançar na fase.
6 |
7 |
8 | Avançar [Toggle Group](./1.15_togglegroup.md)
9 |
--------------------------------------------------------------------------------
/EN/3_BASIC/1/1.2_game_eng.md:
--------------------------------------------------------------------------------
1 | [Home](../../HomeEN.md) • [3.1 Getting to Know Unity](./1_interface_eng.md) • [1.2 Game](#)
2 |
3 | `Game` is the screen responsible by showing result rendered by the camera to the user. Basically shows the vision that the player will have of your game.
4 |
5 | 
6 | (* __Game__ screen example with FlappyBird game develop by Dong Nguyen*).
7 |
8 | Next [Hierarchy](./1.3_hier_eng.md)
--------------------------------------------------------------------------------
/PT/3_BASICO/1/1.4_inspector.md:
--------------------------------------------------------------------------------
1 | [Home](../../HomePT.md) • [3.1 Conhecendo a Unity](./1_interface.md) • [1.4 Inspector](#)
2 |
3 | A `Inspector` é a tela responsável por **detalhar** os objetos existentes na `Hierarchy`.
4 |
5 | Cada objeto mostrado na lista da [Hierarchy](./1.3_hier.md) pode ser selecionado e seus atributos e componentes serão listados na Inspector.
6 |
7 | 
8 |
9 | Avançar [Console](./1.5_console.md)
--------------------------------------------------------------------------------
/PT/4_INTER/1/1.10_scrollrect.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [4.1-10 Scroll Rect](#)
2 |
3 | ## Scroll Rect
4 |
5 | O componente *Scroll Rect* armazena componentes de interface e compacta permitindo uma melhor visualização isoladamente dos componentes.
6 |
7 | Todo *Scroll Rect* necessita de uma *Scroll Bar* anexada para possibilitar a navegação do conteúdo.
8 |
9 | 
10 |
11 | Avançar [Text](./1.13_text.md)
12 |
--------------------------------------------------------------------------------
/PT/4_INTER/1/1.5_inputfield.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [4.1-5 Input Field](#)
2 |
3 | ## Input Field
4 |
5 | O componente *Input Field* é uma campo de texto que recebe (ou não) dados e armazena para utilizações futuras.
6 |
7 | Input Field são bem comuns em telas de login onde o programa oferece ao usuário campos para informar o e-mail e a senha.
8 |
9 | 
10 |
11 |
12 | Avançar [Mask](./1.6_mask.md)
13 |
--------------------------------------------------------------------------------
/PT/3_BASICO/6/6.2.1.navmeshagent.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [6.2-1 Nav Mesh Agent](#)
2 | ## Nav Mesh Agent
3 |
4 | Esse componente é anexado a um personagem, o permitindo navegar por todo mundo do jogo usando uma `NavMesh`.
5 |
6 | `NavMesh` é uma abreviação para `Navigation Mesh` (Malha de navegação). Representa uma estrutura de dados abstrata que guia agentes através de I.A's.
7 |
8 | De forma mais clara: o componente `NavMeshAgent` ajuda você a criar personagens que evitam uns aos outros enquanto se movem em direção ao seu objetivo.
9 |
10 | Avançar [6.2-2 Nav Mesh Obstacle](./6.2.2.navmeshobstacle.md)
--------------------------------------------------------------------------------
/PT/3_BASICO/7/7.6.getcompparent.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [7.6 GetComponentInParent](#)
2 |
3 | ## GetComponentInParent
4 |
5 | ```csharp
6 | Component.GetComponentInParent();
7 | ```
8 |
9 | Enquanto o `GetComponentInChildren` busca os filhos de um GO, o `GetComponentInParent` faz exatamente o completo.
10 |
11 | A classe/script vai no objeto filho e busca por um componente dentro do GO pai.
12 |
13 | ```csharp
14 | private Animator _anim;
15 |
16 | void Start(){
17 | _anim_ = GetComponentInParent();
18 | }
19 | ```
20 |
21 | Avançar [7.7 GetComponentsInParent](./7.7.getcompsparent.md)
22 |
--------------------------------------------------------------------------------
/PT/3_BASICO/7/7.7.getcompsparent.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [7.7 GetComponentsInChildren](#)
2 |
3 | ## GetComponentsInParent
4 |
5 | ```csharp
6 | Component.GetComponentsInParent();
7 | ```
8 |
9 | O `GetComponentsInParent` tem a mesma aplicação e função do `GetComponentInParent` que vimos a pouco. A diferença é que o `GetComponentsInParent` referencia todos os objetos pai de um mesmo `type` ao invés de apenas um.
10 |
11 | ```csharp
12 | void Start(){
13 | hingeJoints = (HingeJoint[])gameObject.GetComponentsInParent(typeof(HingeJoint));
14 | }
15 | ```
16 | Avançar [7.8 ToString](./7.8.tostring.md)
17 |
--------------------------------------------------------------------------------
/PT/3_BASICO/6/6.3.2.flarelayer.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [6.3-2 Flare Layer](#)
2 |
3 | ## Flare Layer
4 |
5 | `Flare Layer` é um componente que pode ser atrelado a `Camera` para criar efeitos de *Lens Flare*.
6 |
7 | Essa técnica simula o efeito da refração das luzes dentro da lente de uma câmera. Muito comum em jogos com temática *SCI-FI* onde você pode retratar luzes brilhantes e ajudar na ambientação do seu cenário.
8 |
9 | 
10 |
11 | ##### *Exemplo do efeito Lens Flare*
12 |
13 | Avançar [6.3-3 Light](./6.3.3.light.md)
--------------------------------------------------------------------------------
/PT/3_BASICO/6/6.2.2.navmeshobstacle.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [6.2-2 Nav Mesh Obstacle](#)
2 | ## Nav Mesh Obstacle
3 |
4 | Esse componente permite que você informe ao seus `Nav Mesh Agents` quais `obstáculos` do cenário devem ser evitados enquanto eles navegam pelo mundo.
5 |
6 | Imagine que você está fazendo um jogo que controla um restaurante e você tem um agente responsável por entregar comida até as mesas dos clientes. O ideal é que seu agente não esbarre em nenhuma mesa e em nenhum cliente até chegar no cliente final. Nesse caso aplicariamos o componente `Nav Mesh Obstacle` nos clientes e nas mesas e o agente dará seu melhor para evitar esses objetos.
7 |
8 |
--------------------------------------------------------------------------------
/PT/3_BASICO/7/7.8.tostring.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [7.8 ToString](#)
2 |
3 | ## ToString
4 |
5 | ```csharp
6 | Component.ToString();
7 | ```
8 |
9 | `ToString` funciona com um conversor para o tipo `string`.
10 |
11 | Por exemplo, você quer imprimir na interface do seu jogo a quantia de vida atual do jogador, que provavelmente está armazenada numa variável do tipo `int` mas o componente de texto recebe variáveis do tipo `string`. Para resolver esse problema basta usar o método `ToString()`:
12 | ```csharp
13 | private int playerLife = 100;
14 |
15 | playerLife.text = count.ToString();
16 | ```
17 |
18 | Avançar [7.8 ToString](./7.8.tostring.md)
19 |
--------------------------------------------------------------------------------
/PT/3_BASICO/7/7.3.getcomponents.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [7.3 GetComponents](#)
2 |
3 | ## GetComponents
4 |
5 | ```csharp
6 | Component.GetComponents();
7 | ```
8 |
9 | O `GetComponents` tem a mesma aplicação e função do `GetComponent` que vimos a pouco. A diferença é que o `GetComponents` referencia todos os objetos de um `type` ao invés de apenas um.
10 |
11 | ```csharp
12 | void Start(){
13 | Transform[] spawnPoint = GetComponents();
14 | }
15 | ```
16 |
17 | No exemplo acima usamos um `array[]` do component `Transform` e acessamos todos os componentes com o `GetComponents`.
18 |
19 | Avançar [7.4 GetComponentInChildren](./7.4.getcompchildren.md)
20 |
--------------------------------------------------------------------------------
/PT/4_INTER/1/1.15_togglegroup.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [4.1-15 Toggle Group](#)
2 |
3 | ## Toggle Group
4 |
5 | O componente *Toggle Group* funciona como um ouvinte dos componentes *Toggle*. Ele permite a criação de um grupo e gerencia para saber a hora de ativar e desativar o conteúdo do toggle em questão.
6 |
7 | Vamos supor que você está fazendo o menu do seu jogo e resolveu trabalhar o conteúdo dele por abas. Cada aba vai ser controlada por um `Toggle` que mostrará o conteúdo quando o usuário clicar, a função do `Toggle Group` é informar para os outros `Toggles` que eles devem se manter desativado enquanto o outro estiver ativado.
8 |
9 |
10 | Avançar [Text Mesh PRO](./1.16_textmesh.md)
11 |
--------------------------------------------------------------------------------
/EN/2_CONFIG_ENG/2.install_eng.md:
--------------------------------------------------------------------------------
1 | [Home](../HomeEN.md) • [2.2 Installing Components](#)
2 |
3 | ## Installing Components
4 |
5 | Now that you have downloaded the software and choose your version, Unity will offer you some engine complement options, that you should choose according to your project goal.
6 |
7 | 
8 |
9 | Those components depends on IDE, PlatformPackages (responsible for exporting your game for some platforms: PS4, mobile iOS, mobile Android, etc), documentation and additional language packages to use at engine.
10 |
11 |
12 | Avançar [3.0 Getting to Know Unity](../3_BASIC/1/1_interface_eng.md)
--------------------------------------------------------------------------------
/PT/1_INTRO/2_wayto.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [1.2 Open Source](#)
2 |
3 |
4 | ## 1.2 Open Source
5 |
6 | Essa documentação segue o propósito *Open Source* então permitimos e incentivamos que você use, modifique, aprimore visando melhorias para a comunidade. O magia *Open Source* fica ainda mais incrível com a **sua** ajuda.
7 |
8 | Democratizar o acesso a educação deve ser uma luta de todos. #Contribua :)
9 |
10 | Manteremos esse projeto hospedado no GitHub, portanto visando as boas práticas, para qualquer dúvida futura pedimos para abrir um **ISSUE** no nosso repositório. Você também pode colaborar com o projeto abrindo um **PULL REQUEST** e enviar sua contribuição.
11 |
12 | Avançar [2.1 Baixando o software](../2_CONFIG/1.download.md)
--------------------------------------------------------------------------------
/EN/1_INTRO_ENG/2_wayto_eng.md:
--------------------------------------------------------------------------------
1 | [Home](../HomeEN.md) • [1.2 Open Source](#)
2 |
3 |
4 | ## 1.2 Open Source
5 |
6 | This documentation follow the *Open Source* parameters so we allow and incentivate that you use, modify, enhance, focusing on community improvement. The magic of *Open Source* reach awesome levels with **your** help.
7 |
8 |
9 | Democratizar o acesso a educação deve ser uma luta de todos. #Contribua :)
10 |
11 | We are gonna keep this project hosted at GitHub, so focusing at good practice, for any future doubt we ask you to open an **ISSUE** at our repository. Also you can collab with the project opening a **PULL REQUEST** and send your contribution.
12 |
13 | Next [2.1 Download and Installing](../2_CONFIG_ENG/1.download_eng.md)
--------------------------------------------------------------------------------
/PT/2_CONFIG/2.install.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [2.2 Componentes de Instalação](#)
2 |
3 | ## Componentes de Instalação
4 |
5 | Agora que você já baixou o software, instalou e escolheu sua versão, a Unity vai te oferecer algumas opções de complemento da *engine*, que você deve escolher de acordo com a finalidade do projeto que estará sendo desenvolvido.
6 |
7 | 
8 |
9 | Esses componentes variam em IDE, *PlatformPackages* (responsáveis por fazer a exportação do seu jogo para plataformas específicas: ps4, mobile iOS, mobile Android, etc), documentação e pacote de idiomas adicionais para a *engine*.
10 |
11 | Avançar [3.0 Conhecendo a Unity](../3_BASICO/1/1_interface.md)
12 |
--------------------------------------------------------------------------------
/PT/3_BASICO/7/7_metodosunity.md:
--------------------------------------------------------------------------------
1 | ## Métodos da Unity
2 |
3 | A Unity possui métodos publicos que complementam seus componentes.
4 |
5 | ```csharp
6 | Component.Method();
7 | ```
8 |
9 |
10 | 1. [CompareTag](./7.1.comparetag.md)
11 | 1. [GetComponent](./7.2.getcomponent.md)
12 | 1. [GetComponents](./7.3.getcomponents.md)
13 | 1. [GetComponentInChildren](./7.4.getcompchildren.md)
14 | 1. [GetComponentsInChildren](./7.5.getcompschildren.md)
15 | 1. [GetComponentInParent](./7.6.getcompparent.md)
16 | 1. [GetComponentInParent](./7.7.getcompsparent.md)
17 | 1. [ToString](./7.8.tostring.md)
18 | 1. [Destroy](./7.9.destroy.md)
19 | 1. [DestroyImediate](./7.10.destroyim.md)
20 | 1. [DontDestroyOnLoad](./7.11.dontdestroy.md)
21 | 1. []()
22 | 1. []()
23 | 1. []()
24 | 1. []()
25 | 1. []()
26 |
--------------------------------------------------------------------------------
/EN/3_BASIC/3.comments_eng.md:
--------------------------------------------------------------------------------
1 | [Home](../HomeEN.md) • [3.3 C# Comments](#)
2 |
3 | ## Comments
4 |
5 | Comments are code lines that will not be executed, in other words, those lines will be visible only during development.
6 |
7 | There is two ways to comment your code using C#
8 |
9 | ```csharp
10 | // using two slashs - comment just one line
11 |
12 | /* using slash asterisk
13 | comment one or more lines */
14 | ```
15 |
16 | Comment help you to organize and understand your own code sheet.
17 |
18 | ```csharp
19 | /* condition to catch a Pokemon */
20 | void CatchCondition(){
21 | //if I have a Pokeball
22 | if(pokeball >= 1){
23 | //so I catch a Chimchar!
24 | Debug.Log("You got a Chimchar!");
25 | }
26 | }
27 | ```
28 |
29 | Avançar [3.4 Variáveis](./4_var_eng.md)
--------------------------------------------------------------------------------
/PT/3_BASICO/7/7.5.getcompschildren.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [7.5 GetComponentsInChildren](#)
2 |
3 | ## GetComponentsInChildren
4 |
5 | ```csharp
6 | Component.GetComponentsInChildren();
7 | ```
8 |
9 | O `GetComponentsInChildren` tem a mesma aplicação e função do `GetComponentInChildren` que vimos a pouco. A diferença é que o `GetComponentsInChildren` referencia todos os objetos filhos de um mesmo `type` ao invés de apenas um.
10 |
11 | ```csharp
12 | void Start(){
13 | Transform[] spawnPoint = GetComponentsInChildren();
14 | }
15 | ```
16 |
17 | No exemplo acima usamos um `array[]` do component `Transform` e acessamos todos os componentes filhos do objeto que herda a classe com o `GetComponentsInChildren`.
18 |
19 | Avançar [7.6 GetComponentInParent](./7.6.getcompparent.md)
20 |
--------------------------------------------------------------------------------
/PT/4_INTER/1/1_interface.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [6.2-2 Nav Mesh Obstacle](#)
2 |
3 | ## UI *(Interface do Usuário)*
4 |
5 | Quando trabalhamos com jogos é como se existissem várias telas sendo renderizadas ao mesmo tempo cada uma com sua função.
6 |
7 | A interface ou UI, é um meio que o jogo encontra de passar informações para o jogador.
8 |
9 | 
10 | ###### Super Mario Bros 1985. [CC Nintendo](https://www.nintendo.com/pt_BR/)
11 |
12 |
13 | No exemplo acima a interface está dizendo ao jogador o nome do personagem¹, a pontuação geral², a quantidade de moedas coletadas³, a fase atual⁴, o tempo corrido⁵ e pontos coletados ao matar um inimigo⁶.
14 |
15 | Avançar [Componentes de Interface](./1_uicomponents.md)
--------------------------------------------------------------------------------
/PT/3_BASICO/6/6.3.6.lodgroup.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [6.3-6 LOD Group](#)
2 |
3 | ## LOD Group
4 |
5 | `LOD Group` é uma abreviação para *Level Of Detail* (Nível de Detalhe) aplicado em GameObjects.
6 |
7 | Esse componente é responsável por uma das áras de otimização de um jogo, já que ele gerencia diferentes níveis de detalhes baseado no tamanho da tela do jogador e de preferências gráficas.
8 |
9 | Um exemplo de aplicação de *LOD* é no jogo Minecraft, onde o jogador escolhe a distância de blocos que serão renderizados alterando os valores dos `chunks`.
10 |
11 | 
12 |
13 | ###### Imagens do menu de configurações do jogo Minecraft. Copyright MOJANGO.
14 |
15 | Avançar [6.3-6 LOD Group](./6.3.6.lodgroup.md)
--------------------------------------------------------------------------------
/PT/3_BASICO/3.comments.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [3.3 Comentários](#)
2 |
3 | ## Comentários
4 |
5 | Comentários são linhas de código que não serão executadas, ou seja, ficarão visíveis apenas no momento do desenvolvimento.
6 |
7 | Existem duas formas para comentar seu código no C#
8 |
9 | ```csharp
10 | // usando duas barras - comenta apenas uma linha
11 |
12 | /* usando barra asterísco
13 | comenta uma ou mais linhas */
14 | ```
15 |
16 | Comentários te ajudam a organizar e entender melhor seu próprio código.
17 |
18 | ```csharp
19 | /* condição para capturar um Pokémon */
20 | void CatchCondition(){
21 | //se eu tiver uma pokébola
22 | if(pokeball >= 1){
23 | //então eu capturo um Chimchar!
24 | Debug.Log("You got a Chimchar!");
25 | }
26 | }
27 | ```
28 |
29 | Avançar [3.4 Variáveis](./4_var.md)
--------------------------------------------------------------------------------
/PT/3_BASICO/7/7.10.destroyim.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [7.10 DestroyImediate](#)
2 |
3 | ## DestroyImediate
4 |
5 | ```csharp
6 | Component.DestroyImediate();
7 | ```
8 |
9 | O componente `DestroyImediate` destrói objetos instantaneamente. Você **NÃO DEVE** utilizar esse método *in game*
10 |
11 | O `Destroy` que vimos a pouco é o recomendado para esses casos. Isso ocorre porque diferente do `Destroy` o `DestroyImediate` apaga e seta todas as informações do objeto para `null` imediatamente, podendo comprometer outras partes do código que ainda estarão executando os dados desse objeto.
12 |
13 | ```csharp
14 | private GameObject _pleaseDontUse;
15 |
16 | Destroy(_pleaseDontUse);
17 | ```
18 |
19 | A própria Unity só recomenda usar esse método em casos específicos como manipular elementos do editor.
20 |
21 | Avançar [7.11 DontDestroyOnLoad](./7.11.dontdestroy.md)
--------------------------------------------------------------------------------
/PT/3_BASICO/7/7.9.destroy.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [7.9 Destroy](#)
2 |
3 | ## Destroy
4 |
5 | ```csharp
6 | Component.Destroy();
7 | ```
8 |
9 | O componente `Destroy` destrói objetos. Por exemplo, para dar a impressão ao jogador que ele coletou um item como uma chave ou uma moeda nós temos que fazer o objeto desaparecer de cena. Existem algumas formas de fazer isso e uma delas é usando o método `Destroy`.
10 |
11 | ```csharp
12 | private GameObject _coin;
13 |
14 | Destroy(_coin);
15 | ```
16 |
17 | Um outro exemplo clássico onde o `Destroy` pode ser utilizado é nos jogos onde o cenário possui objetos destrutiveis (vasos, baús, barris, caixas, etc) que o jogador pode bater e quebrar.
18 |
19 | Esse método ajuda a economizar a mémoria RAM já que você não vai manter objetos que não tem mais utilidade sendo renderizados.
20 |
21 | Avançar [7.10 DestroyImediate](./7.10.destroyim.md)
--------------------------------------------------------------------------------
/PT/4_INTER/1/1_uicomponents.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [4.1 UI Componets](#)
2 |
3 | ## UI Components
4 |
5 | Como vimos no módulo anterior a Unity utiliza componentes para facilitar a criação e integração de mecânicas. Com a UI não é diferente.
6 |
7 | ### Componentes de Interface
8 |
9 | 1. [Button](./1.1_button.md)
10 | 2. [Dropdown](./1.2_dropdown.md)
11 | 1. [Effects 🚧](#)
12 | 1. [Image](./1.4_image.md)
13 | 1. [Input Field 🚧](./1.5_inputfield.md)
14 | 1. [Mask](./1.6_mask.md)
15 | 1. [Rect Mask 2D](./1.7_rectmask.md)
16 | 1. [Raw Image](./1.8_rawimg.md)
17 | 1. [Scrollbar](./1.9_scrollbar.md)
18 | 1. [Scroll Rect](./1.10_scrollrect.md)
19 | 1. [Selectable 🚧](#)
20 | 1. [Slider 🚧](#)
21 | 1. [Text](./1.13_text.md)
22 | 1. [Toggle](./1.14_toggle.md)
23 | 1. [Toggle Group](./1.15_togglegroup.md)
24 |
25 | ### Extensões de Componentes de Interface
26 |
27 | 1.[Text Mesh Pro](./1.16_textmesh.md)
--------------------------------------------------------------------------------
/PT/4_INTER/1/1.16_textmesh.md:
--------------------------------------------------------------------------------
1 | [Home](../HomePT.md) • [4.1-16 Text Mesh Pro](#)
2 |
3 | ## Text Mesh Pro
4 |
5 | ```csharp
6 | using TMPro;
7 | ```
8 |
9 | `Text Mesh Pro` é uma versão mais robusta dos tradicionais textos presentes na Unity. Conhecido também como `TMP`, esses elementos de UI se assemelham mais a *Game Objects* tradicionais do que a textos simples. Apesar de basicamente realizar a mesma tarefa, que é apresentar textos, o TMP é capaz de receber Shaders, multiplas fontes, Sprites 2D, Elementos 3D, estilizações customizadas e muito mais.
10 |
11 | Podemos comparar esse package com o `HTML` e `CSS`, por exemplo para criar um botão com `HTML` tudo que você precisa fazer é usar a tag `