<?xml version="1.0" encoding="utf-8"?>
<!-- generator="Joomla! - Open Source Content Management" -->
<feed xmlns="http://www.w3.org/2005/Atom"  xml:lang="pt-br">
	<title type="text">Unity 3D - RibaFS Portal</title>
	<subtitle type="text">Servidores linux, Programação web (PHP, Joomla, CakePHP, Laravel), Programação Mobile (Phaser, PhoneGap, Monaca, Unity, etc) entre outros.</subtitle>
	<link rel="alternate" type="text/html" href="http://backup"/>
	<id>http://backup/portal/mobile/unity-3d.feed</id>
	<updated>2019-09-07T19:02:56-03:00</updated>
	<author>
		<name>RibaFS Portal</name>
	</author>
	<generator uri="https://www.joomla.org">Joomla! - Open Source Content Management</generator>
	<link rel="self" type="application/atom+xml" href="http://backup/portal/mobile/unity-3d.feed?type=atom"/>
	<entry>
		<title>Jogos para Unity 3D</title>
		<link rel="alternate" type="text/html" href="http://backup/portal/mobile/unity-3d/jogos-para-unity-3d.html"/>
		<published>2017-07-11T17:44:49-03:00</published>
		<updated>2017-07-11T17:44:49-03:00</updated>
		<id>http://backup/portal/mobile/unity-3d/jogos-para-unity-3d.html</id>
		<author>
			<name>Ribamar FS</name>
		</author>
		<summary type="html">&lt;p&gt;&lt;strong&gt;Alguns pequneos Jogos de Exemplo&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Criados com o Unity 5&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a title=&quot;Asteroides2DFinalPt.zip&quot; href=&quot;http://backup/portal/../down/mobile/unity3d/Asteroides2DFinalPt.zip&quot;&gt;Asteroides2DFinalPt.zip&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a title=&quot;Chickenator.zip&quot; href=&quot;http://backup/portal/../down/mobile/unity3d/Chickenator.zip&quot;&gt;Chickenator.zip - &lt;/a&gt;Este jogo foi criado seguindo a vídeo aula no &lt;a href=&quot;https://www.youtube.com/watch?v=3Hq3z7a33MM&quot;&gt;https://www.youtube.com/watch?v=3Hq3z7a33MM&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a title=&quot;JogodaVelha.zip&quot; href=&quot;http://backup/portal/../down/mobile/unity3d/JogodaVelha.zip&quot;&gt;JogodaVelha.zip&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;</summary>
		<content type="html">&lt;p&gt;&lt;strong&gt;Alguns pequneos Jogos de Exemplo&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Criados com o Unity 5&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a title=&quot;Asteroides2DFinalPt.zip&quot; href=&quot;http://backup/portal/../down/mobile/unity3d/Asteroides2DFinalPt.zip&quot;&gt;Asteroides2DFinalPt.zip&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a title=&quot;Chickenator.zip&quot; href=&quot;http://backup/portal/../down/mobile/unity3d/Chickenator.zip&quot;&gt;Chickenator.zip - &lt;/a&gt;Este jogo foi criado seguindo a vídeo aula no &lt;a href=&quot;https://www.youtube.com/watch?v=3Hq3z7a33MM&quot;&gt;https://www.youtube.com/watch?v=3Hq3z7a33MM&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a title=&quot;JogodaVelha.zip&quot; href=&quot;http://backup/portal/../down/mobile/unity3d/JogodaVelha.zip&quot;&gt;JogodaVelha.zip&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;</content>
		<category term="Unity 3D" />
	</entry>
	<entry>
		<title>Input Manager</title>
		<link rel="alternate" type="text/html" href="http://backup/portal/mobile/unity-3d/input-manager.html"/>
		<published>2017-07-11T17:30:24-03:00</published>
		<updated>2017-07-11T17:30:24-03:00</updated>
		<id>http://backup/portal/mobile/unity-3d/input-manager.html</id>
		<author>
			<name>Ribamar FS</name>
		</author>
		<summary type="html">&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt;&lt;b&gt;Input Manager no Unity 3D&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt;Para criar mais duas entradas no Input&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt;Edit – Project Settings – Input&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt;Mudar Size para 17, criando duas novas entradas&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt;Alterar as duas últimas assim (Forward e Right):&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/inputmanager.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt;Apenas mudando Negative Button e Positive Button em ambas para &lt;b&gt;s &lt;/b&gt;e &lt;b&gt;w&lt;/b&gt; e &lt;b&gt;a&lt;/b&gt; e &lt;b&gt;d&lt;/b&gt;&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; line-height: 100%;&quot;&gt;Usando:&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; line-height: 100%;&quot;&gt;float forward = Input.GetAxis(“Forward”);&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; line-height: 100%;&quot;&gt;float right = Input.GetAxis(“Right”);&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; line-height: 100%;&quot;&gt;movement = new Vector3(movement.x + right, movement.y, movement.z + forward);&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; line-height: 100%;&quot;&gt;tranfrorm.Translate(movement * Time.deltaTime * movementVelocity, Space.World);&lt;/p&gt;</summary>
		<content type="html">&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt;&lt;b&gt;Input Manager no Unity 3D&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt;Para criar mais duas entradas no Input&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt;Edit – Project Settings – Input&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt;Mudar Size para 17, criando duas novas entradas&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt;Alterar as duas últimas assim (Forward e Right):&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/inputmanager.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; line-height: 100%;&quot;&gt;Apenas mudando Negative Button e Positive Button em ambas para &lt;b&gt;s &lt;/b&gt;e &lt;b&gt;w&lt;/b&gt; e &lt;b&gt;a&lt;/b&gt; e &lt;b&gt;d&lt;/b&gt;&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; line-height: 100%;&quot;&gt;Usando:&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; line-height: 100%;&quot;&gt;float forward = Input.GetAxis(“Forward”);&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; line-height: 100%;&quot;&gt;float right = Input.GetAxis(“Right”);&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; line-height: 100%;&quot;&gt;movement = new Vector3(movement.x + right, movement.y, movement.z + forward);&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; line-height: 100%;&quot;&gt;tranfrorm.Translate(movement * Time.deltaTime * movementVelocity, Space.World);&lt;/p&gt;</content>
		<category term="Unity 3D" />
	</entry>
	<entry>
		<title>Programando em C# para Unity 3D</title>
		<link rel="alternate" type="text/html" href="http://backup/portal/mobile/unity-3d/programando-em-c-para-unity-3d.html"/>
		<published>2017-07-11T17:30:24-03:00</published>
		<updated>2017-07-11T17:30:24-03:00</updated>
		<id>http://backup/portal/mobile/unity-3d/programando-em-c-para-unity-3d.html</id>
		<author>
			<name>Ribamar FS</name>
		</author>
		<summary type="html">&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot; align=&quot;center&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Programando em C# para Unity&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Help&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Ao trabalhar ou estudar sobre programação no Unity mantenha sempre esta janela aberta: &lt;a href=&quot;http://docs.unity3d.com/ScriptReference/&quot;&gt;http://docs.unity3d.com/ScriptReference/&lt;/a&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Use e abuse da busca para encontrar detalhes sobre a programação.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Também fique atento às dicas do Editor quando autocompleta o código.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;GameObject&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O comportamento dos GameObjects é controlado pelos componentes que são anexados a eles. O Unity considera os script como componentes e estes dão interatividade aos objetos do jogo.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Script&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Criar uma pasta chamada Scripts em Assets:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Clicar em Assets&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Do lado direito clicar com o botão direito – Create – Folder (com nome Scripts)&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Abrir a pasta criada com um duplo clique&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Clicar com botão direito do mouse na área livre&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Create – C# Script com nome JogadorScript&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;O Unity suporta nativamente 3 linguagens de programação. Quando criamos um script precisamos especificar que linguagem ele usará. Podemos usar JavaScript, CSharp ou Boo.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;Quando criamos um script em C# ou Boo e o abrimos no editor, ele já nos mostra uma pequena estrutura com uma classe e a definição de duas funções: Start() e Update(). Se for JavaScript ele não tem classe, apenas as funções.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;Recomenda-se que cada script contenha somente uma classe e seja somente sobre um único assunto.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;Cada script somente pode usar uma linguagem de programação, mas nós podemos usar scripts das 3 linguagens se quisermos em um único jogo, o que não é comum nem recomendado.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;Neste tutorial iremos utilizar a linguagem C# (Csharp).&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Inicialização de Variáveis Públicas do tipo GameObject&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Estas variáveis devem ser completadas pelo Inspector, arrastando para elas um GameObject da Hierarquia ou um Prefab do Assets.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Anexar o Script à Main Camera&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Como estes scripts iniciais usarão apenas comandos da Console, anexaremos à Main Camera. Arraste o nome do script e solte sobre a Main Camera na Hierarquia.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Boa Prática&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Nomear as variáveis tipo GameObject com o sufixo Prefab:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;public GameObject balaPrefab;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Tecla de Atalho para Help Online no Monodevelop&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Selecione a palavra sobre a qual quer ajuda e tecle&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Ctrl + '&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Orientação a Objetos&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Objetos são instanciados (clonados) de classes. Uma classe é justamente um arquivo que traz as definições de seu objeto.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Quando rodamos nosso jogo no Unity cada inimigo deve ser equipado com uma cópia do objeto.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Abrir o Script no Editor&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Ao efetuar um duplo clique no nome do script ele é aberto no editor Monodevelop. O Unity, para facilitar nossa vida, já mostra um template de script com alguns comandos como abaixo:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using UnityEngine;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using System.Collections;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public class JogadorScript : MonoBehaviour {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Use this for initialization&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Start () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Update is called once per frame&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Update () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Renomear Script&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Quando criamos um script o Unity dá o nome NewBehaviourScript a ele.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Devemos renomer o mesmo antes que perca o foco. Caso demoremos a fazer isso, após renomear e quando abrir o nome da classe estará como o nome original do script, ou seja, NewBehaviourScript. Precisará renomear a classe para que tenha o mesmo nome do script e funcione corretamente.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Includes&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;As duas primeiras linhas:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using UnityEngine;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using System.Collections;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Incluem as bibliotecas do Unity para que fiquem disponíveis no script.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Classe&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;A linha:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public class JogadorScript : MonoBehaviour {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Cria uma classe que herda da MonoBehaviour.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Toda script tem uma classe criada obrigatoriamente com o mesmo nome do script.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Base para a Linguagem C#&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;As bases de uma linguagem orientada a objetos são as variáveis e os métodos. Em CSharp qualquer código deve ficar dentro de uma classe.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Orientação a Objetos&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Como C# é uma linguagem orientada a objetos é mais coerente usarmos o termo método no lugar de função.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Variáveis&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;É uma pequena seção da memória do computador onde guardamos valores. Podemos comparar as variáveis a gavetas. Cada gaveta guarda o nome da variável, o tipo, a visibilidade e o valor.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/progcs.jpeg&quot; alt=&quot;&quot; /&gt; &lt;br clear=&quot;left&quot; /&gt; &lt;b&gt;Definição/Criação de Variável&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;private int velocidade;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int espaco;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Inicializando Variável&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;velocidade = 60;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;espaco = 2;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Usando/Chamando Variável&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;tempo = espaco / velocidade;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Final de Linha&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Toda linha de código em C# termina com ponto e vírgula (;).&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Exemplo:&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;public int number1 = 2;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O C# exige que uma variável seja inicializada (receba valor) antes de ser usada.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Visibilidade/Modificadores de Acesso&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;public – são variáveis que podem ser acessadas também por outros scripts. Aparecem no Inspector para atribuição e alteração&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;private – são acessíveis somente no script onde são criadas. Não aparecem no Inspector&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;local – são acessíveis somente dentro da função onde foram criadas. Não aparecem no Inspector&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;Quando não especificamos a visibilidade é assumida private, que é a default.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;No JavaScript, para ser public, basta que seja criada fora de função.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;Exemplo:&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;public int nomeVariavel = 3;&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;ou&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;public void Start()&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Comentários&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Comentários de linha única&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;/* Comentários&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;para várias&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;linhas&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;*/&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Indentação&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Importante para a organização e legibilidade do código&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Start(){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;    if(x == 0){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;        y = 3;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;    }&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Editar Script&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Edite o script e adicione as variáveis abaixo da linha da definição da Classe. Assim:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using UnityEngine;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using System.Collections;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public class VeriaveisScript : MonoBehaviour {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt; // Definição das variáveis&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int velocidade;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int distancia;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int tempo;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Start () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt; // Inicialização&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;distancia = 120;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;tempo = 2;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt; // Usando&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;velocidade = distancia / tempo;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (“A velocidade é de “ + velocidade);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O comando print é mostrado apenas na barra de status e na janela Console.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Selecionar a janela Console e clicar em Play.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public class MetodoScript : MonoBehaviour {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int arma = 0;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Use this for initialization&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Start () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;SacarArma ();&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Update is called once per frame&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void SacarArma () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Armas com codigo: 1-espada, 2-flecha, 3-revolver, 4-rifle&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;arma = Random.Range (1, 5);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;switch(arma){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;case 1:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Voce encontrou a espada&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;break;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;case 2:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Voce encontrou a flecha&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;break;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;case 3:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Voce encontrou o revolver&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;break;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;case 4:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Voce encontrou o rifle&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;break;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;default:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Voce nao encontrou nada&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;break;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Execute algumas vezes.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Tipos de Dados&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;int – inteiros&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;float – ponto flutuante, são números decimais. Em C# devem ter seus valores escritos com um f ao final, para distinguir dos inteiros. Ex: float speed = 3.2f;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;string – são dados do tipo texto&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Visibilidade – Níveis de Acesso&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Nomes de Variáveis e Métodos&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Alguns nomes são proibidos, pois tem seu uso reservado pelo Unity, como é o caso de algumas letras:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;x, y, z&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Que são usadas internamente pelo transform.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Expressões e Precedência&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Precisamos aprender a manipular as expressões em programação, assim como em Matemática. Aprender sobre a ordem de precedência, quem é executado primeiro, quem depois, etc. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Exemplo:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;int variavelInt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;float variavelInt2;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;variavelInt2 = 3;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;variavelInt = 10 + 3 * variavelInt2;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Melhor é fazer assim, usando parêntesis, caso contrário dará um resultado errado:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;variavelInt = (10 + 3) * variavelInt2;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Comando Condicional - if&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Criar um script chamado IfScript. Remova o script Variaveis da Main Camera e anexe este.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;A mais comum forma de tomar decisões é usando o comando if.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Operador NOT&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;if(!variavel)...&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using UnityEngine;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using System.Collections;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public class IfScript : MonoBehaviour {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Definição das variáveis&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int velocidade;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int distancia;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int tempo;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Use this for initialization&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Start () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Inicialização&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;distancia = 180;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;tempo = 10;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;velocidade = distancia / tempo;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;if(velocidade &amp;gt; 70){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (“Desacelere, pois sua velocidade é de “ + velocidade);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Execute.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Atribuição&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;= é usado para atribuir, para gravar um valor em uma variável. Exemplo:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;velocidade = 5; // Diz que a variável recebeu 5, agora tem 5 armazenado nela&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;== usado nas comparações com if, para comparar uma variável com um valor ou com outra variável. Exemplo:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;if (x == 3)&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;ou&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;if ( x == z)&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Operadores &lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Operadores de Comparação&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;==, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;=, !=&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Operadores Lógicos&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&amp;amp;&amp;amp; - AND&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;|| - OR&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;! - NOT&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Operadores Matemáticos&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;+, -, *, /, %, ++, --&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;*=, +=, /=, -=, %=&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Comando Switch - &lt;/b&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span lang=&quot;pt-PT&quot;&gt;Instruções switch agem como condicionais if. Elas serão úteis para quando você quiser comparar uma única variável contra uma série de constantes.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Este comando substitui vários ifs em algumas vezes.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Crie um script SwitchScript contendo:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using UnityEngine;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using System.Collections;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public class SwitchScript : MonoBehaviour {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int arma = 0;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Start () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Armas com codigo: 1-espada, 2-flecha, 3-revolver, 4-rifle&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;arma = Random.Range (1, 5);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;switch(arma){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;case 1:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Voce encontrou a espada&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;break;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;case 2:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Voce encontrou a flecha&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;break;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;case 3:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Voce encontrou o revolver&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;break;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;case 4:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Voce encontrou o rifle&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;break;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;default:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Voce nao encontrou nada&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;break;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Execute várias vezes.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Métodos&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;É onde acontecem as ações. Um método contem um trecho de código, é um pequeno programa dentro do script.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Geralmente o código nos scripts é executado uma linha por vez.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Quando criamos nosso código geralmente queremos executá-lo mais de uma vez e queremos poder executar apenas um trecho de código.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O código dos métodos inicia na próxima linha após o início da chave e termina na linha imediatamente anterior ao final da chave.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Métodos são usados para oferecer comportamento aos GameObjects e também para reutilizar código.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Todo código executável em scripts está dentro de métodos.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Se nosso código executa algumas tarefas várias vezes ele está nos dizendo que devemos criar um método e apenas chamá-lo sempre que quisermos executar o código.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Exemplo: precisamos multiplicar dois números em várias partes do código. Então criamos um pequeno método chamado ProdutoDois() e apenas o chamamos quando precisarmos multiplicar os dois numeros.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Editar o script e adicionar duas variáveis:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int numberOne = 2;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int numberTwo = 9;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Insira no método Update():&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;if (Input.GetKeyUp(KeyCode.Return)) // Quando teclar Enter&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;ProductTwo(); // irá processar o método&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Adicionar abaixo do método Update():&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void ProductTwo(){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Debug.Log(numberOne * numberTwo);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Um método também quando chamado ele processa todo o código do seu conteúdo.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Métodos tem duas chaves, no início uma chave abrindo e ao final fechando a chave.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Os métodos que criamos somente serão executados quando forem chamados. Os métodos do Unity Start e Update são executados automaticamente pelo próprio Unity.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Chamando/executando um Método&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;ProductTwo();&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Um método pode ter muitas linhas de código em seu interior. Um método é chamado um pequeno programa dentro de outro.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Tipos de Métodos:&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Simples&lt;/b&gt;, apenas executando um trecho de código:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void ProductTwo(){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Debug.Log(numberOne * numberTwo);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Método que recebe parâmetros&lt;/b&gt; – recebe variáveis e processa em seu conteúdo&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void ProductTwo(int x, int y){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Debug.Log(x * y);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Método que Retorna valores&lt;/b&gt; – pode receber variáveis e retorna o valor de uma variável de certo tipo&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int ProductTwo(int x, int y){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;int produto = (x * y);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;return produto;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Nomes de Métodos&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;-visibilidade&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;-tipo de dados que o método retornará&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;-nome do método, CamelCase e seguido de ()&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;-código delimitado por chaves { }&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;visibilidade tipoDeRetorno NomeMetodo(){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;corpo do método;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void – usado quando o método não retorna nada.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Parâmetros – usados na definição da função: firstNumber e secondNumber.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Argumentos – usados na chamada da função: 3 e 4.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O comando return deve ser o último comando da função.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Estruturas de Laço&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Laço for&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Crie um script chamado ForScript contendo:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using UnityEngine;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using System.Collections;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public class ForScript : MonoBehaviour {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Start () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;BuscaInimigo ();&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Update is called once per frame&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void BuscaInimigo () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;for (int i=0; i &amp;lt; 5; i++) {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Valor de i &quot; + i);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;foreach – laço que mostra os elementos de um array&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;pre class=&quot;western&quot;&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;using UnityEngine;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; &lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;using System.Collections;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; &lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;public class ForeachLoop : MonoBehaviour {&lt;br /&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/code&gt; &lt;code class=&quot;western&quot;&gt;    &lt;/code&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;void Start ()  {&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; &lt;code class=&quot;western&quot;&gt;        &lt;/code&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;string[] strings = new string[3];&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt; &lt;code class=&quot;western&quot;&gt;        &lt;/code&gt; &lt;code class=&quot;western&quot;&gt;        &lt;/code&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;strings[0] = &quot;First string&quot;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt; &lt;code class=&quot;western&quot;&gt;        &lt;/code&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;strings[1] = &quot;Second string&quot;;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; &lt;code class=&quot;western&quot;&gt;        &lt;/code&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;strings[2] = &quot;Third string&quot;;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; &lt;code class=&quot;western&quot;&gt;        &lt;/code&gt; &lt;code class=&quot;western&quot;&gt;        &lt;/code&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;foreach(string item in strings) {&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; &lt;code class=&quot;western&quot;&gt;            &lt;/code&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;print (item);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt; &lt;code class=&quot;western&quot;&gt;        &lt;/code&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; &lt;code class=&quot;western&quot;&gt;    &lt;/code&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; &lt;br /&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Execute e veja o resultado.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Arrays/Matrizes&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Um array é tipo uma variável e é uma forma de uma variável conter mais de um tipo de dados.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Criar 3 empty GameObjects chamados:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;gato, cachorro e porco&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Criar a tag Inimigo&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Selecionar os 3 e adicionar a tag a eles&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Exemplo:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public GameObject[ ] players;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using UnityEngine;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using System.Collections;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public class ArrayScript : MonoBehaviour&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;{&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public GameObject[] players;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Start (){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;players = GameObject.FindGameObjectsWithTag(&quot;Inimigo&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;for(int i = 0; i &amp;lt; players.Length; i++){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Debug.Log(&quot;Inimigo numero &quot;+i+&quot; tem o nome &quot;+players[i].name);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Classes&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Classes contém variáveis e métodos e processam seus dados.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Em Unity praticamente não lidamos com a classe pois ele já cria para nós, mas todo script já vem com uma classe, cujo nome é o mesmo do script.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span lang=&quot;pt-PT&quot;&gt;Como usar classes para armazenar e organizar suas informações e como criar construtores para trabalhar com partes de sua classe&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Componente Script&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Lembrar que um script é um componente no Unity que deve ser anexado a um GameObject para funcionar. Ao anexar o nome do script aparece ao final das propriedades do Objeto no Inspector. Também aparecem as variáveis public.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Os scripts é que dão interatividade e vida aos jogos.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Variáveis armazenam dados.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Métodos permitem a execução de tarefas.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Sintaxe dos pontos&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;transform.position.x;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Alterações das Propriedades&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Podemos alterar as propriedades do Inspector tanto na cena quanto quando o jogo está executando. Alterações quando executando aparecem imediatamente mas se perdem logo que o jogo é parado.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O valor entrado nas variáveis no Inspector sobrescreve o valor original do script.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Resetando Mudanças&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Para desfazer mudanças feitas nas variáveis de um objeto, melhor de um componente, basta clicar com o botão direito na pequena roldana à direita do nome do componente e clicar em Reset.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Nomes de Variáveis&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Crie nomes simples e claros para suas variáveis.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Lembre da convenção:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;-quando formado por uma única palavra, ele deve ser toda em minúscula:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;private int speed;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;-quando palavra composta, a primeira é com tudo minúsculo e a segunda iniciada com maiúscula, camelCase:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;private int speedPlayer;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Nomes de Métodos&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Seguem as mesmas regras, apenas com () ao final, mas assim CamelCase, diferente das variáveis devem iniciar com maiúscula como Start().&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Nomes de Classes&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Estes também devem ser CamelCase mas com inicial maiúscula.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Onde Declarar Variáveis&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O local do código onde a variável é declarada é importante em termos de visibilidade.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Variáveis declaradas no início do script, logo abaixo da declaração da classe&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Escopo das Variáveis&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using UnityEngine;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using System.Collections;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public class LearningScript : MonoBehaviour {// --------Bloco 1&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public string block1 = &quot;Bloco 1&quot;;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Use this for initialization&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Start () { // -------- Bloco 2&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Debug.Log (block1);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;string block2 = &quot;Bloco 2&quot;;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Debug.Log (block2);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;{// --------- Bloco 3&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Debug.Log (block1);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Debug.Log (block2);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;string block3 = &quot;Bloco 3&quot;;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;} // Final Bloco 3&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;} // Final Bloco 2&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Metodo(){// --- Bloco 4&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;string block4 = &quot;Bloco 4&quot;;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Debug.Log (block4);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}// Final Bloco 4&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;} // Final Bloco 1&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Bloco 3 – criado apenas com as chaves.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Tente mostrar a variével block3 no segundo bloco ou a block4 no bloco 3 e veja que o editor já reclama.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O escopo é determinado pela chaves dos blocos. As chaves limitam um bloco de código.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Variável é o primeiro bloco de código em C#.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Método é o segundo.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Editor&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Quando tentamos trabalhar com uma variável ou método que ainda não foi declarado o editor já nos alerta mudando a cor do mesmo para vermelho. Logo que corrigimos fica preto.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Sintaxe do Ponto&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;GameObject.Component&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;GameObject.Component.variavel ou metodo&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Funções de Inicialização&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;As funções que são executadas automaticamente pelo Unity, sem interferência do programador.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Método Start()&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Chamado pelo Unity somente uma vez a cada execução do jogo. Primariamente usado para inicializar ou configurar as variáveis.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Método Update()&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;A maioria do código dos scripts vai dentro deste método. A cena é mostrada várias vezes por segundo, que é chamado de Frames por Segundo – FPS. Após a exibição de cada frame, o método Update() é chamado pelo Unity para executar seu código.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Permite ao jogo detectar entradas (inputs), cliques do mouse, teclas pressionadas, a cada frame.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;O método Update() é adequado para uso de movimentação através de teclas.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;awake() e start()&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p lang=&quot;pt-PT&quot; style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Update() e FixedUpdate()&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;a name=&quot;result_box2&quot;&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span lang=&quot;pt-PT&quot;&gt;Como efetuar mudanças a cada frame/quadro com a atualização usando as funções Update e FixedUpdate e suas diferenças.&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Mostrando os métodos de Inicialização em Ação&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Debug.Log(&quot;ExecutionOrder::global&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;void Awake() {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Debug.Log(&quot;ExecutionOrder::Awake&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;void Start () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Debug.Log(&quot;ExecutionOrder::Start&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;void Update () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Debug.Log(&quot;ExecutionOrder::Update&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;void FixedUpdate() {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Debug.Log(&quot;ExecutionOrder::FixedUpdate&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;void LateUpdate() {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Debug.Log(&quot;ExecutionOrder::LateUpdate&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;void OnRenderObject() {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Debug.Log(&quot;ExecutionOrder::OnRenderObject&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Objetos Internos do Unity&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Um script unity é escrito em uma linguagem de programação, com seus recursos básicos e também conta com classes e funções/métodos da biblioeca do Unity. Um script em C# tem diferenças básicas de um script em JavaScript mas tem em comum os recursos da biblioteca do Unity que ambas utilizam.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;transform&lt;/b&gt;&lt;/p&gt;

&lt;pre class=&quot;western&quot; style=&quot;margin-bottom: 0.5cm;&quot;&gt;transform.Translate(1, 1, 1);&lt;br /&gt;





transform.Translate(&lt;a href=&quot;http://docs.unity3d.com/ScriptReference/Vector3-forward.html&quot;&gt;Vector3.forward&lt;/a&gt; * &lt;a href=&quot;http://docs.unity3d.com/ScriptReference/Time-deltaTime.html&quot;&gt;Time.deltaTime&lt;/a&gt;);&lt;br /&gt;





transform.Translate(&lt;a href=&quot;http://docs.unity3d.com/ScriptReference/Vector3-up.html&quot;&gt;Vector3.up&lt;/a&gt; * &lt;a href=&quot;http://docs.unity3d.com/ScriptReference/Time-deltaTime.html&quot;&gt;Time.deltaTime&lt;/a&gt;, &lt;a href=&quot;http://docs.unity3d.com/ScriptReference/Space.World.html&quot;&gt;Space.World&lt;/a&gt;);&lt;/pre&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Vector2&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Vector2(float x, float y);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Instantiate&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;var spawnPoint = new Vector2(Random.Range(x1, x2), transform.position.y);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Instantiate(asteroidePrefab, spawnPoint, Quaternion.identity);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Quaternion&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Quaternion(float x, float y, float z, float w);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Ver a referência completa dos objetos do Unity aqui:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;a href=&quot;http://docs.unity3d.com/ScriptReference/&quot;&gt;http://docs.unity3d.com/ScriptReference/&lt;/a&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Quando acessamos esta página acima, à direita e acima aparecem as 3 linguagens para que selecionemos a que queremos perquisar.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Quaternions - &lt;/b&gt;É a posição e o ângulo de um objeto a ser rotacionado. Para realizar a rotação de objetos no espaço tridimensional são utilizados quaterniões.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Para representar a direção que um objeto aponta no espaço não basta apenas representar sua posição, é necessário atribuir um ângulo a ela. Em jogos quando um objeto é criado, é definida a sua posição e um ângulo inicial a ele. Quando desejamos fazer alguma rotação nesse objeto, realizamos com base em sua posição e seu ângulo atual, ou seja, em seu quaternião.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Destroy &lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Destroy(gameObject, 20); // Destroi objeto após 20 segundos&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt; Exemplos de Scripts para Jogos&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;&lt;br /&gt; &lt;br /&gt; Movimento&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Tiro&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Limitando na Tela&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Criando um Labirinto via Código&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;using UnityEngine;&lt;br /&gt; using System.Collections;&lt;br /&gt; &lt;br /&gt; public class Grade : MonoBehaviour {&lt;br /&gt; // Referência - http://docs.unity3d.com/Manual/InstantiatingPrefabs.html&lt;br /&gt; public GameObject cubo;&lt;br /&gt; private int x,y;&lt;br /&gt; &lt;br /&gt; void Start() {&lt;br /&gt; LabirintoX(-9, 9, -5, -4);&lt;br /&gt; LabirintoX(-9, 9, 0, 4);&lt;br /&gt; LabirintoY(-4, 4, 0, 9);&lt;br /&gt; LabirintoY(-4, 4, 0, -9);&lt;br /&gt; LabirintoY(-4, 3, 0, -6);&lt;br /&gt; LabirintoX(-5, 3, 0, 3);&lt;br /&gt; LabirintoX(-5, 3, 0, 2);&lt;br /&gt; LabirintoX(1, 5, 0, -3);&lt;br /&gt; LabirintoX(1, 5, 0, -2);&lt;br /&gt; LabirintoX(1, 5, 0, -1);&lt;br /&gt; LabirintoX(1, 5, 0, 0);&lt;br /&gt; LabirintoX(-4, 3, 0, -3);&lt;br /&gt; LabirintoX(-4, -1, 0, -2);&lt;br /&gt; LabirintoX(-4, -1, 0, -1);&lt;br /&gt; LabirintoX(-4, -1, 0, 0);&lt;br /&gt; //LabirintoX(-4, 0, 0, -1);&lt;br /&gt; /*&lt;br /&gt; y = -4;&lt;br /&gt; for(x=-9;x &amp;lt;=9;x++){&lt;br /&gt; if(x == -6) continue;&lt;br /&gt; Instantiate(cubo, new Vector3(x, y, 0), Quaternion.identity);&lt;br /&gt; }*/&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; void LabirintoX(int x1, int x2, int pulo, int y){&lt;br /&gt; for(x=x1;x &amp;lt;=x2;x++){&lt;br /&gt; if(pulo != 0 &amp;amp;&amp;amp; x == pulo) continue; &lt;br /&gt; Instantiate(cubo, new Vector3(x, y, 0), Quaternion.identity);&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; void LabirintoY(int y1, int y2, int pulo, int x){&lt;br /&gt; for(y=y1;y &amp;lt;=y2;y++){&lt;br /&gt; if(pulo != 0 &amp;amp;&amp;amp; y == pulo) continue; &lt;br /&gt; Instantiate(cubo, new Vector3(x, y, 0), Quaternion.identity);&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Corrigindo Erros/Debugando&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;i&gt;&lt;b&gt;Editor Monodevelop&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;O editor Monodevelop ajuda muito na correção de erros. Alguns erros ele acusa logo no script. Tão logo digitemos o nome de uma variável para usá-la e antes de a definir, ele nós alerta deixando o nome em vermelho. Isso significa que ele exige que toda variável só pode ser usada quando definida/criada antes.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Ele também nos ajuda auto-completando a sintaxe de métodos e objetos internos do Unity.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;i&gt;&lt;b&gt;Unity&lt;br /&gt; &lt;/b&gt;&lt;/i&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;Quando salvamos um script e voltamos para o Unity geralmente, havendo erro no script, o Unity avisa do erro com mais detalhes que o editor. Ele mostra o erro, o script e a linha, além de outras informações úteis e isso em vermelho na barra de status. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;Algumas vezes ele não mostra detalhes sobre o erro, apenas a mensagem. Quando isso acontecer devemos acessar a Console e clicar na mensagem para receber mais detalhes.&lt;br /&gt; &lt;br /&gt; &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;b&gt;Ferramentas&lt;br /&gt; &lt;/b&gt;&lt;/i&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;A console ajuda muito na correção de erros.&lt;br /&gt; Podemos usar o comando Debug.Log para mostrar uma mensagem em uma região do script que desconfiamos de erro, ou mostrar o valor de uma variável.&lt;br /&gt; Exemplos:&lt;br /&gt; Debug.Log(“Teste”);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; font-style: normal; font-weight: normal; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Debug.Log(“Velocidade vale: ” + speed);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;i&gt;&lt;b&gt;Variáveis public&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Quando declaramos uma variável public e do tipo GameObject no script, precisamos atribuir um prefab ou objeto a ela pelo Inspector do Unity. Quando esquecemos de fazer isso recebemos a mensagem: &lt;b&gt;Null Reference Exception&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Pacote com Scripts em C#&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;a title=&quot;scripts.zip&quot; href=&quot;http://backup/portal/../down/mobile/unity3d/scripts.zip&quot;&gt;scripts.zip&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</summary>
		<content type="html">&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot; align=&quot;center&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Programando em C# para Unity&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Help&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Ao trabalhar ou estudar sobre programação no Unity mantenha sempre esta janela aberta: &lt;a href=&quot;http://docs.unity3d.com/ScriptReference/&quot;&gt;http://docs.unity3d.com/ScriptReference/&lt;/a&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Use e abuse da busca para encontrar detalhes sobre a programação.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Também fique atento às dicas do Editor quando autocompleta o código.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;GameObject&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O comportamento dos GameObjects é controlado pelos componentes que são anexados a eles. O Unity considera os script como componentes e estes dão interatividade aos objetos do jogo.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Script&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Criar uma pasta chamada Scripts em Assets:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Clicar em Assets&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Do lado direito clicar com o botão direito – Create – Folder (com nome Scripts)&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Abrir a pasta criada com um duplo clique&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Clicar com botão direito do mouse na área livre&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Create – C# Script com nome JogadorScript&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;O Unity suporta nativamente 3 linguagens de programação. Quando criamos um script precisamos especificar que linguagem ele usará. Podemos usar JavaScript, CSharp ou Boo.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;Quando criamos um script em C# ou Boo e o abrimos no editor, ele já nos mostra uma pequena estrutura com uma classe e a definição de duas funções: Start() e Update(). Se for JavaScript ele não tem classe, apenas as funções.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;Recomenda-se que cada script contenha somente uma classe e seja somente sobre um único assunto.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;Cada script somente pode usar uma linguagem de programação, mas nós podemos usar scripts das 3 linguagens se quisermos em um único jogo, o que não é comum nem recomendado.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;Neste tutorial iremos utilizar a linguagem C# (Csharp).&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Inicialização de Variáveis Públicas do tipo GameObject&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Estas variáveis devem ser completadas pelo Inspector, arrastando para elas um GameObject da Hierarquia ou um Prefab do Assets.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Anexar o Script à Main Camera&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Como estes scripts iniciais usarão apenas comandos da Console, anexaremos à Main Camera. Arraste o nome do script e solte sobre a Main Camera na Hierarquia.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Boa Prática&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Nomear as variáveis tipo GameObject com o sufixo Prefab:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;public GameObject balaPrefab;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Tecla de Atalho para Help Online no Monodevelop&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Selecione a palavra sobre a qual quer ajuda e tecle&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Ctrl + '&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Orientação a Objetos&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Objetos são instanciados (clonados) de classes. Uma classe é justamente um arquivo que traz as definições de seu objeto.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Quando rodamos nosso jogo no Unity cada inimigo deve ser equipado com uma cópia do objeto.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Abrir o Script no Editor&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Ao efetuar um duplo clique no nome do script ele é aberto no editor Monodevelop. O Unity, para facilitar nossa vida, já mostra um template de script com alguns comandos como abaixo:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using UnityEngine;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using System.Collections;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public class JogadorScript : MonoBehaviour {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Use this for initialization&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Start () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Update is called once per frame&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Update () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Renomear Script&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Quando criamos um script o Unity dá o nome NewBehaviourScript a ele.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Devemos renomer o mesmo antes que perca o foco. Caso demoremos a fazer isso, após renomear e quando abrir o nome da classe estará como o nome original do script, ou seja, NewBehaviourScript. Precisará renomear a classe para que tenha o mesmo nome do script e funcione corretamente.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Includes&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;As duas primeiras linhas:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using UnityEngine;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using System.Collections;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Incluem as bibliotecas do Unity para que fiquem disponíveis no script.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Classe&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;A linha:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public class JogadorScript : MonoBehaviour {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Cria uma classe que herda da MonoBehaviour.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Toda script tem uma classe criada obrigatoriamente com o mesmo nome do script.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Base para a Linguagem C#&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;As bases de uma linguagem orientada a objetos são as variáveis e os métodos. Em CSharp qualquer código deve ficar dentro de uma classe.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Orientação a Objetos&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Como C# é uma linguagem orientada a objetos é mais coerente usarmos o termo método no lugar de função.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Variáveis&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;É uma pequena seção da memória do computador onde guardamos valores. Podemos comparar as variáveis a gavetas. Cada gaveta guarda o nome da variável, o tipo, a visibilidade e o valor.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/progcs.jpeg&quot; alt=&quot;&quot; /&gt; &lt;br clear=&quot;left&quot; /&gt; &lt;b&gt;Definição/Criação de Variável&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;private int velocidade;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int espaco;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Inicializando Variável&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;velocidade = 60;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;espaco = 2;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Usando/Chamando Variável&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;tempo = espaco / velocidade;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Final de Linha&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Toda linha de código em C# termina com ponto e vírgula (;).&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Exemplo:&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;public int number1 = 2;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O C# exige que uma variável seja inicializada (receba valor) antes de ser usada.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Visibilidade/Modificadores de Acesso&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;public – são variáveis que podem ser acessadas também por outros scripts. Aparecem no Inspector para atribuição e alteração&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;private – são acessíveis somente no script onde são criadas. Não aparecem no Inspector&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;local – são acessíveis somente dentro da função onde foram criadas. Não aparecem no Inspector&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;Quando não especificamos a visibilidade é assumida private, que é a default.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;No JavaScript, para ser public, basta que seja criada fora de função.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;Exemplo:&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;public int nomeVariavel = 3;&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;ou&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;public void Start()&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Comentários&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Comentários de linha única&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;/* Comentários&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;para várias&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;linhas&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;*/&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Indentação&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Importante para a organização e legibilidade do código&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Start(){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;    if(x == 0){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;        y = 3;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;    }&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Editar Script&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Edite o script e adicione as variáveis abaixo da linha da definição da Classe. Assim:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using UnityEngine;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using System.Collections;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public class VeriaveisScript : MonoBehaviour {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt; // Definição das variáveis&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int velocidade;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int distancia;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int tempo;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Start () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt; // Inicialização&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;distancia = 120;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;tempo = 2;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt; // Usando&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;velocidade = distancia / tempo;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (“A velocidade é de “ + velocidade);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O comando print é mostrado apenas na barra de status e na janela Console.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Selecionar a janela Console e clicar em Play.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public class MetodoScript : MonoBehaviour {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int arma = 0;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Use this for initialization&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Start () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;SacarArma ();&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Update is called once per frame&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void SacarArma () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Armas com codigo: 1-espada, 2-flecha, 3-revolver, 4-rifle&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;arma = Random.Range (1, 5);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;switch(arma){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;case 1:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Voce encontrou a espada&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;break;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;case 2:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Voce encontrou a flecha&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;break;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;case 3:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Voce encontrou o revolver&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;break;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;case 4:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Voce encontrou o rifle&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;break;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;default:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Voce nao encontrou nada&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;break;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Execute algumas vezes.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Tipos de Dados&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;int – inteiros&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;float – ponto flutuante, são números decimais. Em C# devem ter seus valores escritos com um f ao final, para distinguir dos inteiros. Ex: float speed = 3.2f;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;string – são dados do tipo texto&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Visibilidade – Níveis de Acesso&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Nomes de Variáveis e Métodos&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Alguns nomes são proibidos, pois tem seu uso reservado pelo Unity, como é o caso de algumas letras:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;x, y, z&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Que são usadas internamente pelo transform.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Expressões e Precedência&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Precisamos aprender a manipular as expressões em programação, assim como em Matemática. Aprender sobre a ordem de precedência, quem é executado primeiro, quem depois, etc. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Exemplo:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;int variavelInt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;float variavelInt2;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;variavelInt2 = 3;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;variavelInt = 10 + 3 * variavelInt2;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Melhor é fazer assim, usando parêntesis, caso contrário dará um resultado errado:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;variavelInt = (10 + 3) * variavelInt2;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Comando Condicional - if&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Criar um script chamado IfScript. Remova o script Variaveis da Main Camera e anexe este.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;A mais comum forma de tomar decisões é usando o comando if.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Operador NOT&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;if(!variavel)...&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using UnityEngine;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using System.Collections;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public class IfScript : MonoBehaviour {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Definição das variáveis&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int velocidade;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int distancia;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int tempo;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Use this for initialization&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Start () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Inicialização&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;distancia = 180;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;tempo = 10;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;velocidade = distancia / tempo;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;if(velocidade &amp;gt; 70){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (“Desacelere, pois sua velocidade é de “ + velocidade);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Execute.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Atribuição&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;= é usado para atribuir, para gravar um valor em uma variável. Exemplo:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;velocidade = 5; // Diz que a variável recebeu 5, agora tem 5 armazenado nela&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;== usado nas comparações com if, para comparar uma variável com um valor ou com outra variável. Exemplo:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;if (x == 3)&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;ou&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;if ( x == z)&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Operadores &lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Operadores de Comparação&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;==, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;=, !=&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Operadores Lógicos&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&amp;amp;&amp;amp; - AND&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;|| - OR&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;! - NOT&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Operadores Matemáticos&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;+, -, *, /, %, ++, --&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;*=, +=, /=, -=, %=&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Comando Switch - &lt;/b&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span lang=&quot;pt-PT&quot;&gt;Instruções switch agem como condicionais if. Elas serão úteis para quando você quiser comparar uma única variável contra uma série de constantes.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Este comando substitui vários ifs em algumas vezes.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Crie um script SwitchScript contendo:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using UnityEngine;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using System.Collections;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public class SwitchScript : MonoBehaviour {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int arma = 0;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Start () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Armas com codigo: 1-espada, 2-flecha, 3-revolver, 4-rifle&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;arma = Random.Range (1, 5);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;switch(arma){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;case 1:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Voce encontrou a espada&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;break;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;case 2:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Voce encontrou a flecha&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;break;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;case 3:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Voce encontrou o revolver&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;break;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;case 4:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Voce encontrou o rifle&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;break;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;default:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Voce nao encontrou nada&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;break;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Execute várias vezes.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Métodos&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;É onde acontecem as ações. Um método contem um trecho de código, é um pequeno programa dentro do script.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Geralmente o código nos scripts é executado uma linha por vez.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Quando criamos nosso código geralmente queremos executá-lo mais de uma vez e queremos poder executar apenas um trecho de código.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O código dos métodos inicia na próxima linha após o início da chave e termina na linha imediatamente anterior ao final da chave.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Métodos são usados para oferecer comportamento aos GameObjects e também para reutilizar código.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Todo código executável em scripts está dentro de métodos.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Se nosso código executa algumas tarefas várias vezes ele está nos dizendo que devemos criar um método e apenas chamá-lo sempre que quisermos executar o código.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Exemplo: precisamos multiplicar dois números em várias partes do código. Então criamos um pequeno método chamado ProdutoDois() e apenas o chamamos quando precisarmos multiplicar os dois numeros.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Editar o script e adicionar duas variáveis:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int numberOne = 2;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int numberTwo = 9;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Insira no método Update():&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;if (Input.GetKeyUp(KeyCode.Return)) // Quando teclar Enter&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;ProductTwo(); // irá processar o método&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Adicionar abaixo do método Update():&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void ProductTwo(){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Debug.Log(numberOne * numberTwo);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Um método também quando chamado ele processa todo o código do seu conteúdo.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Métodos tem duas chaves, no início uma chave abrindo e ao final fechando a chave.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Os métodos que criamos somente serão executados quando forem chamados. Os métodos do Unity Start e Update são executados automaticamente pelo próprio Unity.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Chamando/executando um Método&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;ProductTwo();&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Um método pode ter muitas linhas de código em seu interior. Um método é chamado um pequeno programa dentro de outro.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Tipos de Métodos:&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Simples&lt;/b&gt;, apenas executando um trecho de código:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void ProductTwo(){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Debug.Log(numberOne * numberTwo);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Método que recebe parâmetros&lt;/b&gt; – recebe variáveis e processa em seu conteúdo&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void ProductTwo(int x, int y){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Debug.Log(x * y);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Método que Retorna valores&lt;/b&gt; – pode receber variáveis e retorna o valor de uma variável de certo tipo&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public int ProductTwo(int x, int y){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;int produto = (x * y);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;return produto;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Nomes de Métodos&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;-visibilidade&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;-tipo de dados que o método retornará&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;-nome do método, CamelCase e seguido de ()&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;-código delimitado por chaves { }&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;visibilidade tipoDeRetorno NomeMetodo(){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;corpo do método;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void – usado quando o método não retorna nada.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Parâmetros – usados na definição da função: firstNumber e secondNumber.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Argumentos – usados na chamada da função: 3 e 4.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O comando return deve ser o último comando da função.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Estruturas de Laço&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Laço for&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Crie um script chamado ForScript contendo:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using UnityEngine;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using System.Collections;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public class ForScript : MonoBehaviour {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Start () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;BuscaInimigo ();&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Update is called once per frame&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void BuscaInimigo () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;for (int i=0; i &amp;lt; 5; i++) {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;print (&quot;Valor de i &quot; + i);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;foreach – laço que mostra os elementos de um array&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;pre class=&quot;western&quot;&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;using UnityEngine;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; &lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;using System.Collections;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; &lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;public class ForeachLoop : MonoBehaviour {&lt;br /&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/code&gt; &lt;code class=&quot;western&quot;&gt;    &lt;/code&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;void Start ()  {&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; &lt;code class=&quot;western&quot;&gt;        &lt;/code&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;string[] strings = new string[3];&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt; &lt;code class=&quot;western&quot;&gt;        &lt;/code&gt; &lt;code class=&quot;western&quot;&gt;        &lt;/code&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;strings[0] = &quot;First string&quot;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt; &lt;code class=&quot;western&quot;&gt;        &lt;/code&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;strings[1] = &quot;Second string&quot;;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; &lt;code class=&quot;western&quot;&gt;        &lt;/code&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;strings[2] = &quot;Third string&quot;;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; &lt;code class=&quot;western&quot;&gt;        &lt;/code&gt; &lt;code class=&quot;western&quot;&gt;        &lt;/code&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;foreach(string item in strings) {&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; &lt;code class=&quot;western&quot;&gt;            &lt;/code&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;print (item);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt; &lt;code class=&quot;western&quot;&gt;        &lt;/code&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; &lt;code class=&quot;western&quot;&gt;    &lt;/code&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt; &lt;br /&gt;&lt;code class=&quot;western&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Execute e veja o resultado.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Arrays/Matrizes&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Um array é tipo uma variável e é uma forma de uma variável conter mais de um tipo de dados.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Criar 3 empty GameObjects chamados:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;gato, cachorro e porco&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Criar a tag Inimigo&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Selecionar os 3 e adicionar a tag a eles&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Exemplo:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public GameObject[ ] players;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using UnityEngine;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using System.Collections;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public class ArrayScript : MonoBehaviour&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;{&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public GameObject[] players;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Start (){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;players = GameObject.FindGameObjectsWithTag(&quot;Inimigo&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;for(int i = 0; i &amp;lt; players.Length; i++){&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Debug.Log(&quot;Inimigo numero &quot;+i+&quot; tem o nome &quot;+players[i].name);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Classes&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Classes contém variáveis e métodos e processam seus dados.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Em Unity praticamente não lidamos com a classe pois ele já cria para nós, mas todo script já vem com uma classe, cujo nome é o mesmo do script.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span lang=&quot;pt-PT&quot;&gt;Como usar classes para armazenar e organizar suas informações e como criar construtores para trabalhar com partes de sua classe&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Componente Script&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Lembrar que um script é um componente no Unity que deve ser anexado a um GameObject para funcionar. Ao anexar o nome do script aparece ao final das propriedades do Objeto no Inspector. Também aparecem as variáveis public.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Os scripts é que dão interatividade e vida aos jogos.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Variáveis armazenam dados.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Métodos permitem a execução de tarefas.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Sintaxe dos pontos&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;transform.position.x;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Alterações das Propriedades&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Podemos alterar as propriedades do Inspector tanto na cena quanto quando o jogo está executando. Alterações quando executando aparecem imediatamente mas se perdem logo que o jogo é parado.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O valor entrado nas variáveis no Inspector sobrescreve o valor original do script.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Resetando Mudanças&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Para desfazer mudanças feitas nas variáveis de um objeto, melhor de um componente, basta clicar com o botão direito na pequena roldana à direita do nome do componente e clicar em Reset.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Nomes de Variáveis&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Crie nomes simples e claros para suas variáveis.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Lembre da convenção:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;-quando formado por uma única palavra, ele deve ser toda em minúscula:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;private int speed;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;-quando palavra composta, a primeira é com tudo minúsculo e a segunda iniciada com maiúscula, camelCase:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;private int speedPlayer;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Nomes de Métodos&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Seguem as mesmas regras, apenas com () ao final, mas assim CamelCase, diferente das variáveis devem iniciar com maiúscula como Start().&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Nomes de Classes&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Estes também devem ser CamelCase mas com inicial maiúscula.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Onde Declarar Variáveis&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O local do código onde a variável é declarada é importante em termos de visibilidade.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Variáveis declaradas no início do script, logo abaixo da declaração da classe&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Escopo das Variáveis&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using UnityEngine;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;using System.Collections;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public class LearningScript : MonoBehaviour {// --------Bloco 1&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;public string block1 = &quot;Bloco 1&quot;;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;// Use this for initialization&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Start () { // -------- Bloco 2&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Debug.Log (block1);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;string block2 = &quot;Bloco 2&quot;;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Debug.Log (block2);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;{// --------- Bloco 3&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Debug.Log (block1);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Debug.Log (block2);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;string block3 = &quot;Bloco 3&quot;;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;} // Final Bloco 3&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;} // Final Bloco 2&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;void Metodo(){// --- Bloco 4&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;string block4 = &quot;Bloco 4&quot;;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Debug.Log (block4);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;}// Final Bloco 4&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;} // Final Bloco 1&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Bloco 3 – criado apenas com as chaves.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Tente mostrar a variével block3 no segundo bloco ou a block4 no bloco 3 e veja que o editor já reclama.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O escopo é determinado pela chaves dos blocos. As chaves limitam um bloco de código.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Variável é o primeiro bloco de código em C#.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Método é o segundo.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Editor&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Quando tentamos trabalhar com uma variável ou método que ainda não foi declarado o editor já nos alerta mudando a cor do mesmo para vermelho. Logo que corrigimos fica preto.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Sintaxe do Ponto&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;GameObject.Component&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;GameObject.Component.variavel ou metodo&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Funções de Inicialização&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;As funções que são executadas automaticamente pelo Unity, sem interferência do programador.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Método Start()&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Chamado pelo Unity somente uma vez a cada execução do jogo. Primariamente usado para inicializar ou configurar as variáveis.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Método Update()&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;A maioria do código dos scripts vai dentro deste método. A cena é mostrada várias vezes por segundo, que é chamado de Frames por Segundo – FPS. Após a exibição de cada frame, o método Update() é chamado pelo Unity para executar seu código.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Permite ao jogo detectar entradas (inputs), cliques do mouse, teclas pressionadas, a cada frame.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;O método Update() é adequado para uso de movimentação através de teclas.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;awake() e start()&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p lang=&quot;pt-PT&quot; style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Update() e FixedUpdate()&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;a name=&quot;result_box2&quot;&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span lang=&quot;pt-PT&quot;&gt;Como efetuar mudanças a cada frame/quadro com a atualização usando as funções Update e FixedUpdate e suas diferenças.&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Mostrando os métodos de Inicialização em Ação&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Debug.Log(&quot;ExecutionOrder::global&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;void Awake() {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Debug.Log(&quot;ExecutionOrder::Awake&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;void Start () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Debug.Log(&quot;ExecutionOrder::Start&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;void Update () {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Debug.Log(&quot;ExecutionOrder::Update&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;void FixedUpdate() {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Debug.Log(&quot;ExecutionOrder::FixedUpdate&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;void LateUpdate() {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Debug.Log(&quot;ExecutionOrder::LateUpdate&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;void OnRenderObject() {&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Debug.Log(&quot;ExecutionOrder::OnRenderObject&quot;);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;}&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Objetos Internos do Unity&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Um script unity é escrito em uma linguagem de programação, com seus recursos básicos e também conta com classes e funções/métodos da biblioeca do Unity. Um script em C# tem diferenças básicas de um script em JavaScript mas tem em comum os recursos da biblioteca do Unity que ambas utilizam.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;transform&lt;/b&gt;&lt;/p&gt;

&lt;pre class=&quot;western&quot; style=&quot;margin-bottom: 0.5cm;&quot;&gt;transform.Translate(1, 1, 1);&lt;br /&gt;





transform.Translate(&lt;a href=&quot;http://docs.unity3d.com/ScriptReference/Vector3-forward.html&quot;&gt;Vector3.forward&lt;/a&gt; * &lt;a href=&quot;http://docs.unity3d.com/ScriptReference/Time-deltaTime.html&quot;&gt;Time.deltaTime&lt;/a&gt;);&lt;br /&gt;





transform.Translate(&lt;a href=&quot;http://docs.unity3d.com/ScriptReference/Vector3-up.html&quot;&gt;Vector3.up&lt;/a&gt; * &lt;a href=&quot;http://docs.unity3d.com/ScriptReference/Time-deltaTime.html&quot;&gt;Time.deltaTime&lt;/a&gt;, &lt;a href=&quot;http://docs.unity3d.com/ScriptReference/Space.World.html&quot;&gt;Space.World&lt;/a&gt;);&lt;/pre&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Vector2&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Vector2(float x, float y);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Instantiate&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;var spawnPoint = new Vector2(Random.Range(x1, x2), transform.position.y);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Instantiate(asteroidePrefab, spawnPoint, Quaternion.identity);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Quaternion&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Quaternion(float x, float y, float z, float w);&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Ver a referência completa dos objetos do Unity aqui:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;a href=&quot;http://docs.unity3d.com/ScriptReference/&quot;&gt;http://docs.unity3d.com/ScriptReference/&lt;/a&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Quando acessamos esta página acima, à direita e acima aparecem as 3 linguagens para que selecionemos a que queremos perquisar.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Quaternions - &lt;/b&gt;É a posição e o ângulo de um objeto a ser rotacionado. Para realizar a rotação de objetos no espaço tridimensional são utilizados quaterniões.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Para representar a direção que um objeto aponta no espaço não basta apenas representar sua posição, é necessário atribuir um ângulo a ela. Em jogos quando um objeto é criado, é definida a sua posição e um ângulo inicial a ele. Quando desejamos fazer alguma rotação nesse objeto, realizamos com base em sua posição e seu ângulo atual, ou seja, em seu quaternião.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Destroy &lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Destroy(gameObject, 20); // Destroi objeto após 20 segundos&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt; Exemplos de Scripts para Jogos&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;&lt;br /&gt; &lt;br /&gt; Movimento&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Tiro&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Limitando na Tela&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Criando um Labirinto via Código&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;using UnityEngine;&lt;br /&gt; using System.Collections;&lt;br /&gt; &lt;br /&gt; public class Grade : MonoBehaviour {&lt;br /&gt; // Referência - http://docs.unity3d.com/Manual/InstantiatingPrefabs.html&lt;br /&gt; public GameObject cubo;&lt;br /&gt; private int x,y;&lt;br /&gt; &lt;br /&gt; void Start() {&lt;br /&gt; LabirintoX(-9, 9, -5, -4);&lt;br /&gt; LabirintoX(-9, 9, 0, 4);&lt;br /&gt; LabirintoY(-4, 4, 0, 9);&lt;br /&gt; LabirintoY(-4, 4, 0, -9);&lt;br /&gt; LabirintoY(-4, 3, 0, -6);&lt;br /&gt; LabirintoX(-5, 3, 0, 3);&lt;br /&gt; LabirintoX(-5, 3, 0, 2);&lt;br /&gt; LabirintoX(1, 5, 0, -3);&lt;br /&gt; LabirintoX(1, 5, 0, -2);&lt;br /&gt; LabirintoX(1, 5, 0, -1);&lt;br /&gt; LabirintoX(1, 5, 0, 0);&lt;br /&gt; LabirintoX(-4, 3, 0, -3);&lt;br /&gt; LabirintoX(-4, -1, 0, -2);&lt;br /&gt; LabirintoX(-4, -1, 0, -1);&lt;br /&gt; LabirintoX(-4, -1, 0, 0);&lt;br /&gt; //LabirintoX(-4, 0, 0, -1);&lt;br /&gt; /*&lt;br /&gt; y = -4;&lt;br /&gt; for(x=-9;x &amp;lt;=9;x++){&lt;br /&gt; if(x == -6) continue;&lt;br /&gt; Instantiate(cubo, new Vector3(x, y, 0), Quaternion.identity);&lt;br /&gt; }*/&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; void LabirintoX(int x1, int x2, int pulo, int y){&lt;br /&gt; for(x=x1;x &amp;lt;=x2;x++){&lt;br /&gt; if(pulo != 0 &amp;amp;&amp;amp; x == pulo) continue; &lt;br /&gt; Instantiate(cubo, new Vector3(x, y, 0), Quaternion.identity);&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; void LabirintoY(int y1, int y2, int pulo, int x){&lt;br /&gt; for(y=y1;y &amp;lt;=y2;y++){&lt;br /&gt; if(pulo != 0 &amp;amp;&amp;amp; y == pulo) continue; &lt;br /&gt; Instantiate(cubo, new Vector3(x, y, 0), Quaternion.identity);&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Corrigindo Erros/Debugando&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;i&gt;&lt;b&gt;Editor Monodevelop&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;O editor Monodevelop ajuda muito na correção de erros. Alguns erros ele acusa logo no script. Tão logo digitemos o nome de uma variável para usá-la e antes de a definir, ele nós alerta deixando o nome em vermelho. Isso significa que ele exige que toda variável só pode ser usada quando definida/criada antes.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Ele também nos ajuda auto-completando a sintaxe de métodos e objetos internos do Unity.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;i&gt;&lt;b&gt;Unity&lt;br /&gt; &lt;/b&gt;&lt;/i&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;Quando salvamos um script e voltamos para o Unity geralmente, havendo erro no script, o Unity avisa do erro com mais detalhes que o editor. Ele mostra o erro, o script e a linha, além de outras informações úteis e isso em vermelho na barra de status. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;Algumas vezes ele não mostra detalhes sobre o erro, apenas a mensagem. Quando isso acontecer devemos acessar a Console e clicar na mensagem para receber mais detalhes.&lt;br /&gt; &lt;br /&gt; &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;b&gt;Ferramentas&lt;br /&gt; &lt;/b&gt;&lt;/i&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;A console ajuda muito na correção de erros.&lt;br /&gt; Podemos usar o comando Debug.Log para mostrar uma mensagem em uma região do script que desconfiamos de erro, ou mostrar o valor de uma variável.&lt;br /&gt; Exemplos:&lt;br /&gt; Debug.Log(“Teste”);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; font-style: normal; font-weight: normal; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Debug.Log(“Velocidade vale: ” + speed);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;i&gt;&lt;b&gt;Variáveis public&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Quando declaramos uma variável public e do tipo GameObject no script, precisamos atribuir um prefab ou objeto a ela pelo Inspector do Unity. Quando esquecemos de fazer isso recebemos a mensagem: &lt;b&gt;Null Reference Exception&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Pacote com Scripts em C#&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0.5cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;a title=&quot;scripts.zip&quot; href=&quot;http://backup/portal/../down/mobile/unity3d/scripts.zip&quot;&gt;scripts.zip&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</content>
		<category term="Unity 3D" />
	</entry>
	<entry>
		<title>Sprite Editor</title>
		<link rel="alternate" type="text/html" href="http://backup/portal/mobile/unity-3d/sprite-editor.html"/>
		<published>2017-07-11T17:23:33-03:00</published>
		<updated>2017-07-11T17:23:33-03:00</updated>
		<id>http://backup/portal/mobile/unity-3d/sprite-editor.html</id>
		<author>
			<name>Ribamar FS</name>
		</author>
		<summary type="html">&lt;h4 style=&quot;margin-bottom: 0cm; text-align: left;&quot; align=&quot;center&quot;&gt;Sprite Editor do Unity 3D&lt;span style=&quot;font-size: x-large;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;O Unity tem uma ferramenta para a criação de jogos 2D, que é o Sprite Editor. Ele é usado em imagens que contém múltiplos sprites.&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal;&quot;&gt;-Importe a imagem com múltiplos sprites&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal;&quot;&gt;-Altere no Inspector seu tipo para Sprite&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal;&quot;&gt;-Altere SpriteMode para Multiple&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal;&quot;&gt;-Clique em Sprite Editor&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal;&quot;&gt;-Clique em Slice&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal;&quot;&gt;-Se satisfeito clique acima em Apply, caso contrário faça os ajustes, mude os names, etc e ao final clique em Apply.&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal;&quot;&gt;-Em Assets clique na setinha à direita do sprite para ver seus subs.&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Exemplo:&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/speditor1.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Precisamos configurar a imagem como&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Sprite&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Multiple&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always;&quot;&gt;Então clicar no botão Sprite Editor&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/spriteeditor.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Para separar as imagens para o Unity:&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;-Clicar acima no botão Slice&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Aparecerá então a janelinha:&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/speditor2.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Geralmente basta clicar em Slice abaixo.&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always;&quot;&gt;E ficará assim:&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/spriteeditor2.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Abaixo e à direita aparecem as propriedades do sprite selecionado, onde podemos ajustas a posição, nome e dimensões.&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Quando satisfeito clicar acima em Apply e feche a janela.&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Veja que a imagem agora tem uma pequena seta à direita:&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/speditor3.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Ao clicar na seta aparecem os sprites:&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/speditor4.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Para que apareçam os nomes completos dos sprites arraste o botão abaixo e à direita.&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal;&quot;&gt;Agora podemos usar cada um dos sprites em separado, arrastando para a cena.&lt;/p&gt;</summary>
		<content type="html">&lt;h4 style=&quot;margin-bottom: 0cm; text-align: left;&quot; align=&quot;center&quot;&gt;Sprite Editor do Unity 3D&lt;span style=&quot;font-size: x-large;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;O Unity tem uma ferramenta para a criação de jogos 2D, que é o Sprite Editor. Ele é usado em imagens que contém múltiplos sprites.&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal;&quot;&gt;-Importe a imagem com múltiplos sprites&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal;&quot;&gt;-Altere no Inspector seu tipo para Sprite&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal;&quot;&gt;-Altere SpriteMode para Multiple&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal;&quot;&gt;-Clique em Sprite Editor&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal;&quot;&gt;-Clique em Slice&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal;&quot;&gt;-Se satisfeito clique acima em Apply, caso contrário faça os ajustes, mude os names, etc e ao final clique em Apply.&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal;&quot;&gt;-Em Assets clique na setinha à direita do sprite para ver seus subs.&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Exemplo:&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/speditor1.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Precisamos configurar a imagem como&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Sprite&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Multiple&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always;&quot;&gt;Então clicar no botão Sprite Editor&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/spriteeditor.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Para separar as imagens para o Unity:&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;-Clicar acima no botão Slice&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Aparecerá então a janelinha:&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/speditor2.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Geralmente basta clicar em Slice abaixo.&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always;&quot;&gt;E ficará assim:&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/spriteeditor2.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Abaixo e à direita aparecem as propriedades do sprite selecionado, onde podemos ajustas a posição, nome e dimensões.&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Quando satisfeito clicar acima em Apply e feche a janela.&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Veja que a imagem agora tem uma pequena seta à direita:&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/speditor3.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Ao clicar na seta aparecem os sprites:&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/speditor4.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Para que apareçam os nomes completos dos sprites arraste o botão abaixo e à direita.&lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt; &lt;/p&gt;


&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal;&quot;&gt;Agora podemos usar cada um dos sprites em separado, arrastando para a cena.&lt;/p&gt;</content>
		<category term="Unity 3D" />
	</entry>
	<entry>
		<title>Criação de Terrenos</title>
		<link rel="alternate" type="text/html" href="http://backup/portal/mobile/unity-3d/criacao-de-terrenos.html"/>
		<published>2017-07-11T17:23:33-03:00</published>
		<updated>2017-07-11T17:23:33-03:00</updated>
		<id>http://backup/portal/mobile/unity-3d/criacao-de-terrenos.html</id>
		<author>
			<name>Ribamar FS</name>
		</author>
		<summary type="html">&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot; align=&quot;center&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Criação de Terrenos no Unity 3D&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Terrenos criam um background para jogos 3D no Unity.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O Unity 3D traz ferramentas que tornam fácil a criação de terrenos com um terreno, elevações, platôs, árvores, gramas, etc.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Criação de Terreno no Unity 3D 4.5.3:&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;GameObject – Create Other – Terrain&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Ele aparece assim:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/terreno1.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;Com ele selecionado, no Inspector aparece um componente Terrain (Script).&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Clique no último botão, Terrain Settings para visualizar as configurações do Terreno. Originalmente são estas:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/terreno2.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Configurações &lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Para trabalhar com mais conforto, vamos alterar Terrain Width para 200 e Terrain Length também para 200.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Agora rolamos o botão do meio do mouse para aumentar o zoom até aparecerem as limitações do terreno, como abaixo:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/terreno3a.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Alterando o Terreno&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;As Ferramentas de construção do terreno:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/uterreno1.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Pela ordem as ferramentas são:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Raise / Lower&lt;/b&gt; (ao clicar na primeira temos)&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/uterreno2.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Temos várias brochas e podemos alterar o Size e a Opacidade delas.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;A característica principal desta é que podemos arrastar para criar alguma elevação e se mantiver o botão pressionado a elevação continua sem limites.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Vejamos exemplos:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/terreno4.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Antes de começar a construir o terreno adicione uma luz direcional.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Posição da Câmera&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;É muito importante deixar a câmara numa posição que faça nosso terreno aparecer quando o play for pressionado, quando o jogo começar.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O terreno precisa ficar numa região coberta pela Main Camera.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Clique na Main Camera e se ela não aparecer tecle F. Ela aparecerá. Então clique no botão Move (das 4 setas) e mova a câmara para uma posição acima e à esquerda do terreno.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Se o tereno desaparecer faça o mesmo: clique em Terrain na hierarquia e tecle F.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Então mova ou mude o zoom do mesmo com o mouse.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Interessante é girar a luz para uma posição de maior destaque. Gire e execute para ver no que dá.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Paint Height&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/uterreno3.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;A diferença deste para o Raise/Lower é que tem mais um parâmetro, o height. Isso permite limitar a altura dos montes e picos, criando platôs. Reduza um pouco o Height e crie um monte:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Posso reduzir os existente e criar novos com a altura máxima escolhida.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/terreno5.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Segurando o Control&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Segurando o control o mouse sai deformando as elevações e destruindo até apagar.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Smooth Height&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/uterreno4.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Esta suavisa as formas das elevações. Podemos alterar size e opacidade.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Ao arrastar o mouse sobre as superfícies ele sai suavizando.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Opacity maior suavisa mais.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Paint Texture&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Com esta podemos importar uma textura existente ou várias e pintar a cor de uma sobre outra com uma das brochas e ainda podemos escolher a a força da pintura com o Target Strength.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/uterreno5.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Para importar Textura clique em Edite Textures – Add Texture.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Se observar em um projeto limpo não encontrará nenhuma textura para adicionar.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Adicionar Pacote de Terreno&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Clicar em Assets com o botão direito do mouse – Import Package – Terrain Assets&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;strong&gt;Import&lt;/strong&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Ele criará uma pasta Standard Assets na pasta Assets. Nesta pasta existem várias texturas para trabalhar com terreno.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Vamos novamente tentar importar a textura para o terreno.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Selecione o terreno na hierarquia – No Inspector clicar no Paint Textura (pincel) - Edite Textures – Add Texture – Texture - Select. Escolha uma textura e efetue um duplo clique sobre a mesma e depois clique em Add.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;Veja que nosso terreno já está todo coberto com a textura que selecionamos.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/terreno6.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Podemos importar uma segunda e mais outras para pintar o terreno atual e seus elementos. Veja&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/terreno7.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;A sua criatividade é quem determina os limites.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Place Tree&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Com esta adicionamos árvores para nosso terreno.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/uterreno6.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Clique em Edit Trees – Add Tree&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/uterreno7.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Clicar no pequeno círculo à direita de None (Game Object)&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;e selecionar Palm.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Efetuar um duplo clique em Palm e Add.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Agora configure o Size da Brush, a densidade, cor altura das árvores, etc. Então desenhe as árvores no terreno.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;Veja um exemplo:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/terreno8.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Ventos&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Nossas árvores sofrem até influência dos ventos, balançando seus galhos. Podemos configurar as características do vento mexendo nas configurações do componente Terain (Script) em Wind Settings.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Paint Details&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Com esta podemos adicionar grama, pedras, etc.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/uterreno8.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Veja&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/terreno9.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Podemos também importar texturas e objetos de terceiros.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;SkyBox&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Adicionar o ceu acima do terreno.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Para isso precisamos mexer em duas propriedades da Main Camera:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Clear Flags e Back Ground Color&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Um exemplo é alterar de Skybox para Cor sólida e alterar a cor no Back Ground Color.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Criar Skybox&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Selecionar a Main Camera&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Component – Rendering – Skybox&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Ele adiciona o componente ao final das propriedades da Main Camera.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Adicionar o pacote Skybox&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Precisamos adicionar este pacote que tem o material do ceu.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Assets – Import Package – Skyboxes – Import&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Selecionar Main Camera&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Inspector ao final Skybox&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Clicar no pequeno círculo à direita de Custom Skybox e selecionar Sunny1 SkyBox ou Sunny2 SkyBox.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Execuo o jogo no play para ver o ceu acima.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Existem materiais para noite enluarada entre outros.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Salvando o material do Skybox&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Para que um material escolhido para o Skybox fique definitivamente, precisamos avisar ao renderizador:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Edit – Render Settings – Skybox Material – indicar o mesmo da Main Camera.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Problemas&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;-Caso a grid do terreno desapareça, ficando todo brando (com luz), então não poderemos desenhar nada sobre o terreno. Volte para o estado com a grid (Ctrl+Z) ou refaça tudo.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;-A Main Camera deve estar posocionada adequadamente para que possamos desenhar os elementos do terreno.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;-A grama não pode ser desenhada em qualquer local no terreno.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;-Cuidado com o btão Flatten (Paint height), pois elimina todas as elevações do terreno.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Colisão em Árvores&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Selecione a árvore&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Adicione a colisão Capsula Collider&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt; &lt;/p&gt;</summary>
		<content type="html">&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot; align=&quot;center&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Criação de Terrenos no Unity 3D&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Terrenos criam um background para jogos 3D no Unity.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O Unity 3D traz ferramentas que tornam fácil a criação de terrenos com um terreno, elevações, platôs, árvores, gramas, etc.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Criação de Terreno no Unity 3D 4.5.3:&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;GameObject – Create Other – Terrain&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Ele aparece assim:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/terreno1.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;Com ele selecionado, no Inspector aparece um componente Terrain (Script).&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Clique no último botão, Terrain Settings para visualizar as configurações do Terreno. Originalmente são estas:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/terreno2.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Configurações &lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Para trabalhar com mais conforto, vamos alterar Terrain Width para 200 e Terrain Length também para 200.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Agora rolamos o botão do meio do mouse para aumentar o zoom até aparecerem as limitações do terreno, como abaixo:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/terreno3a.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Alterando o Terreno&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;As Ferramentas de construção do terreno:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/uterreno1.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Pela ordem as ferramentas são:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Raise / Lower&lt;/b&gt; (ao clicar na primeira temos)&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/uterreno2.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Temos várias brochas e podemos alterar o Size e a Opacidade delas.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;A característica principal desta é que podemos arrastar para criar alguma elevação e se mantiver o botão pressionado a elevação continua sem limites.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Vejamos exemplos:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/terreno4.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Antes de começar a construir o terreno adicione uma luz direcional.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Posição da Câmera&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;É muito importante deixar a câmara numa posição que faça nosso terreno aparecer quando o play for pressionado, quando o jogo começar.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O terreno precisa ficar numa região coberta pela Main Camera.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Clique na Main Camera e se ela não aparecer tecle F. Ela aparecerá. Então clique no botão Move (das 4 setas) e mova a câmara para uma posição acima e à esquerda do terreno.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Se o tereno desaparecer faça o mesmo: clique em Terrain na hierarquia e tecle F.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Então mova ou mude o zoom do mesmo com o mouse.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Interessante é girar a luz para uma posição de maior destaque. Gire e execute para ver no que dá.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Paint Height&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/uterreno3.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;A diferença deste para o Raise/Lower é que tem mais um parâmetro, o height. Isso permite limitar a altura dos montes e picos, criando platôs. Reduza um pouco o Height e crie um monte:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Posso reduzir os existente e criar novos com a altura máxima escolhida.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/terreno5.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Segurando o Control&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Segurando o control o mouse sai deformando as elevações e destruindo até apagar.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Smooth Height&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/uterreno4.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Esta suavisa as formas das elevações. Podemos alterar size e opacidade.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Ao arrastar o mouse sobre as superfícies ele sai suavizando.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Opacity maior suavisa mais.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Paint Texture&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Com esta podemos importar uma textura existente ou várias e pintar a cor de uma sobre outra com uma das brochas e ainda podemos escolher a a força da pintura com o Target Strength.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/uterreno5.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Para importar Textura clique em Edite Textures – Add Texture.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Se observar em um projeto limpo não encontrará nenhuma textura para adicionar.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Adicionar Pacote de Terreno&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Clicar em Assets com o botão direito do mouse – Import Package – Terrain Assets&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;strong&gt;Import&lt;/strong&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Ele criará uma pasta Standard Assets na pasta Assets. Nesta pasta existem várias texturas para trabalhar com terreno.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Vamos novamente tentar importar a textura para o terreno.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Selecione o terreno na hierarquia – No Inspector clicar no Paint Textura (pincel) - Edite Textures – Add Texture – Texture - Select. Escolha uma textura e efetue um duplo clique sobre a mesma e depois clique em Add.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;Veja que nosso terreno já está todo coberto com a textura que selecionamos.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/terreno6.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Podemos importar uma segunda e mais outras para pintar o terreno atual e seus elementos. Veja&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/terreno7.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;A sua criatividade é quem determina os limites.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Place Tree&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Com esta adicionamos árvores para nosso terreno.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/uterreno6.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Clique em Edit Trees – Add Tree&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/uterreno7.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Clicar no pequeno círculo à direita de None (Game Object)&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;e selecionar Palm.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Efetuar um duplo clique em Palm e Add.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Agora configure o Size da Brush, a densidade, cor altura das árvores, etc. Então desenhe as árvores no terreno.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;Veja um exemplo:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/terreno8.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Ventos&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Nossas árvores sofrem até influência dos ventos, balançando seus galhos. Podemos configurar as características do vento mexendo nas configurações do componente Terain (Script) em Wind Settings.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Paint Details&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Com esta podemos adicionar grama, pedras, etc.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/uterreno8.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Veja&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;img src=&quot;http://backup/portal/images/terreno9.png&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Podemos também importar texturas e objetos de terceiros.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;SkyBox&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Adicionar o ceu acima do terreno.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Para isso precisamos mexer em duas propriedades da Main Camera:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Clear Flags e Back Ground Color&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Um exemplo é alterar de Skybox para Cor sólida e alterar a cor no Back Ground Color.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Criar Skybox&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Selecionar a Main Camera&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Component – Rendering – Skybox&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Ele adiciona o componente ao final das propriedades da Main Camera.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Adicionar o pacote Skybox&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Precisamos adicionar este pacote que tem o material do ceu.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Assets – Import Package – Skyboxes – Import&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Selecionar Main Camera&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Inspector ao final Skybox&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Clicar no pequeno círculo à direita de Custom Skybox e selecionar Sunny1 SkyBox ou Sunny2 SkyBox.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Execuo o jogo no play para ver o ceu acima.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Existem materiais para noite enluarada entre outros.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Salvando o material do Skybox&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Para que um material escolhido para o Skybox fique definitivamente, precisamos avisar ao renderizador:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Edit – Render Settings – Skybox Material – indicar o mesmo da Main Camera.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Problemas&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;-Caso a grid do terreno desapareça, ficando todo brando (com luz), então não poderemos desenhar nada sobre o terreno. Volte para o estado com a grid (Ctrl+Z) ou refaça tudo.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;-A Main Camera deve estar posocionada adequadamente para que possamos desenhar os elementos do terreno.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;-A grama não pode ser desenhada em qualquer local no terreno.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;-Cuidado com o btão Flatten (Paint height), pois elimina todas as elevações do terreno.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Colisão em Árvores&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Selecione a árvore&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Adicione a colisão Capsula Collider&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt; &lt;/p&gt;</content>
		<category term="Unity 3D" />
	</entry>
	<entry>
		<title>Engine Unity 3D</title>
		<link rel="alternate" type="text/html" href="http://backup/portal/mobile/unity-3d/engine-unity-3d.html"/>
		<published>2017-07-11T16:32:44-03:00</published>
		<updated>2017-07-11T16:32:44-03:00</updated>
		<id>http://backup/portal/mobile/unity-3d/engine-unity-3d.html</id>
		<author>
			<name>Ribamar FS</name>
		</author>
		<summary type="html">&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;O que é o Unity 3D?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Unity 3D é uma nova peça de tecnologia que se esforça para tornar a vida de desenvolvedores de jogos melhor e mais fácil para jogo.   Unity é um motor de jogos ou uma ferramenta de criação de jogos que permite que pessoas criativas como você construam jogos de vídeo game.  Usando Unity, você pode construir jogos mais rápido e fácil do que nunca. No passado, a construção de jogos exigia um enorme pilha de cartões perfurados,  um computador que ocupava uma sala inteira e um sacrifício queimado para um deus antigo chamado Fortran. Hoje em dia temos Unity.  Considere-o o seu martelo - uma nova peça de tecnologia para o seu cinto de ferramentas criativas.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;Alguns Canais no Youtube&lt;/strong&gt; &lt;br /&gt; &lt;br /&gt;&lt;strong&gt;Equilibre Cursos&lt;/strong&gt; &lt;br /&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=GJL2xAV7qDY&amp;amp;list=PL_pppC5PqxveCQtTCXIzE75wnkZzFGsZO&quot;&gt;https://www.youtube.com/watch?v=GJL2xAV7qDY&amp;amp;list=PL_pppC5PqxveCQtTCXIzE75wnkZzFGsZO&lt;/a&gt;  &lt;br /&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PL_pppC5Pqxvc6irnJjAWCRTGKTLVpaIem&quot;&gt;https://www.youtube.com/playlist?list=PL_pppC5Pqxvc6irnJjAWCRTGKTLVpaIem&lt;/a&gt;  &lt;br /&gt; &lt;br /&gt;&lt;strong&gt;Pong para Unity 5&lt;/strong&gt; &lt;br /&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=J1ww4Y_NL0s&quot;&gt;https://www.youtube.com/watch?v=J1ww4Y_NL0s&lt;/a&gt;  &lt;br /&gt; &lt;br /&gt;&lt;strong&gt;Conhecendo o Unity 5&lt;/strong&gt; &lt;br /&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=qRjGPoSXUS8&quot;&gt;https://www.youtube.com/watch?v=qRjGPoSXUS8&lt;/a&gt;  &lt;br /&gt; &lt;br /&gt;E muitos outros canais no Youtube.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt; &lt;/p&gt;</summary>
		<content type="html">&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;O que é o Unity 3D?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Unity 3D é uma nova peça de tecnologia que se esforça para tornar a vida de desenvolvedores de jogos melhor e mais fácil para jogo.   Unity é um motor de jogos ou uma ferramenta de criação de jogos que permite que pessoas criativas como você construam jogos de vídeo game.  Usando Unity, você pode construir jogos mais rápido e fácil do que nunca. No passado, a construção de jogos exigia um enorme pilha de cartões perfurados,  um computador que ocupava uma sala inteira e um sacrifício queimado para um deus antigo chamado Fortran. Hoje em dia temos Unity.  Considere-o o seu martelo - uma nova peça de tecnologia para o seu cinto de ferramentas criativas.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;Alguns Canais no Youtube&lt;/strong&gt; &lt;br /&gt; &lt;br /&gt;&lt;strong&gt;Equilibre Cursos&lt;/strong&gt; &lt;br /&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=GJL2xAV7qDY&amp;amp;list=PL_pppC5PqxveCQtTCXIzE75wnkZzFGsZO&quot;&gt;https://www.youtube.com/watch?v=GJL2xAV7qDY&amp;amp;list=PL_pppC5PqxveCQtTCXIzE75wnkZzFGsZO&lt;/a&gt;  &lt;br /&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PL_pppC5Pqxvc6irnJjAWCRTGKTLVpaIem&quot;&gt;https://www.youtube.com/playlist?list=PL_pppC5Pqxvc6irnJjAWCRTGKTLVpaIem&lt;/a&gt;  &lt;br /&gt; &lt;br /&gt;&lt;strong&gt;Pong para Unity 5&lt;/strong&gt; &lt;br /&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=J1ww4Y_NL0s&quot;&gt;https://www.youtube.com/watch?v=J1ww4Y_NL0s&lt;/a&gt;  &lt;br /&gt; &lt;br /&gt;&lt;strong&gt;Conhecendo o Unity 5&lt;/strong&gt; &lt;br /&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=qRjGPoSXUS8&quot;&gt;https://www.youtube.com/watch?v=qRjGPoSXUS8&lt;/a&gt;  &lt;br /&gt; &lt;br /&gt;E muitos outros canais no Youtube.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt; &lt;/p&gt;</content>
		<category term="Unity 3D" />
	</entry>
	<entry>
		<title>Unity 3D - Navegação</title>
		<link rel="alternate" type="text/html" href="http://backup/portal/mobile/unity-3d/unity-3d-navegacao.html"/>
		<published>2017-07-11T16:32:44-03:00</published>
		<updated>2017-07-11T16:32:44-03:00</updated>
		<id>http://backup/portal/mobile/unity-3d/unity-3d-navegacao.html</id>
		<author>
			<name>Ribamar FS</name>
		</author>
		<summary type="html">&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot; align=&quot;center&quot;&gt;&lt;span style=&quot;font-size: x-large;&quot;&gt;&lt;b&gt;Unity - Navegação&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot; align=&quot;left&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Instalação do Unity&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot; align=&quot;left&quot;&gt; &lt;/p&gt;

&lt;h3 style=&quot;margin-bottom: 0cm; text-align: justify;&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Requisitos da versão 5 do Unity 3D&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;h4 class=&quot;western&quot; style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;Para desenvolvimento&lt;/strong&gt;&lt;/h4&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;OS&lt;/b&gt;: Windows XP SP2+, 7 SP1+, 8; Mac OS X 10.6+.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Não há suporte para o Windows Vista e as versões de servidor do Windows &amp;amp; OS X não foram testadas.&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;GPU&lt;/b&gt;: placa gráfica com recursos do DX9 (Shader Model 2.0). Qualquer placa fabricada a partir de 2004 deve funcionar.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;O restante depende mais da complexidade dos seus projetos.&lt;/p&gt;

&lt;h4 class=&quot;western&quot; style=&quot;text-align: justify;&quot;&gt;Outros requisitos de desenvolvimento de plataforma:&lt;/h4&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;iOS: computador com Mac e Xcode 4.3.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Android: Android SDK e Java Development Kit (JDK).&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Windows Store Apps / Windows Phone: Windows 8 Pro de 64 bits e Visual Studio 2012+.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;Blackberry: Java Runtime (JRE) de 32 bits.&lt;/p&gt;

&lt;h4 class=&quot;western&quot; style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;Para executar jogos Unity&lt;/strong&gt;&lt;/h4&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;Em geral, o conteúdo desenvolvido com o Unity pode funcionar muito bem em qualquer lugar; isso vai depender da complexidade do seu projeto. Mais detalhes dos requisitos:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Desktop:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;OS: Windows XP+, Mac OS X 10.6+, Ubuntu 10.10+, SteamOS+&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Placa gráfica: recursos do DX9 (Shader Model 2.0); em geral, qualquer placa fabricada a partir de 2004 deve funcionar.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;CPU: suporte para o conjunto de instruções SSE2.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O Web Player é compatível com IE, Chrome, Firefox, Safari e outros.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;iOS: requer iOS 4.3 ou posterior.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Android: OS 2.3.1 ou posterior; ARMv7 (Cortex) CPU; OpenGL ES 2.0 ou posterior.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;Blackberry: OS 10 ou posterior.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;a href=&quot;https://unity3d.com/pt/unity/system-requirements&quot;&gt;https://unity3d.com/pt/unity/system-requirements&lt;/a&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot; align=&quot;left&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Download&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;a href=&quot;http://unity3d.com/unity/download&quot;&gt;http://unity3d.com/unity/download&lt;/a&gt; (hoje, 27/10/2014, está na versão 4.5.5)&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Para instalar basta executar o arquivo baixado, sem dificuldades.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Na primeira execução exigirá um cadastro (gratuito) e escolha a versão free.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;A tela do Unity é dividida em paineis:&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;b&gt;Hierarchy&lt;/b&gt; – onde ficam todos os objetos de uma cena. Uma lista dos GameObjects da cena.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;b&gt;Inspector&lt;/b&gt; – onde aparecem as propriedades de um objeto/asset selecionado&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;b&gt;Project&lt;/b&gt; – onde ficam todos os assets: imagens, sprites, cenas, etc a disposição do jogo. Lista de assets, que age como uma biblioeca.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;b&gt;Scene&lt;/b&gt; – Tela onde adicionamos os objetos que comporão o jogo e são exibidos. Aqui é onde o jogo é construído, como uma fase do jogo ou menu.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;b&gt;Game&lt;/b&gt; – onde aparecerá o jogo em execução&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;b&gt;Console&lt;/b&gt; – aqui são exibidas as mensagens de erro e também na barra de status&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Assets&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;É qualquer recurso utilizado ou que poderá ser usado no jogo e fica no painel Project.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Assets 3D precisam ser criados externamente. O Unity3d aceita vindos do Maya, do 3D Studio Max, do Blender e do FilmBox.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Imagens: png, jpeg, tiff e psd.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Áudio: wav, aif, mp3 e ogg&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O Unity tem uma loja que vende assets e também oferece gratuitamente:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;a href=&quot;https://www.assetstore.unity3d.com/en/&quot;&gt;https://www.assetstore.unity3d.com/en/&lt;/a&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Sprite&lt;/b&gt; – é uma imagem 2D para jogos, que pode ser simples ou múltipla, quando contém outras sub imagens. &lt;span style=&quot;font-weight: normal;&quot;&gt;Sprite Renderer&lt;/span&gt; é um componente exclusivo de sprites.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Texturas&lt;/b&gt; – são imagens em geral no Unity. As imagens importadas para o Unity devem ter dimensões na potência de 2: 64x64, 128x128, 516x516, etc.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Licença&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Desenvolvedor Indie – grátis (somente para pessoa física e empresas com lucro anual menor que US$ 100,000)&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Versão Pro de teste para 30 dias grátis&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Edição Pro – US$ 1,500.00 (licença permanente e não tem limites quanto ao que fazer com os jogos criados).&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;A versão free permite criar jogos de forma completa sem problema, não é uma versão que expira, inclusive publica para desktop, web, para Android e iOS sem pagar um centavo.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Detalhes:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;a href=&quot;http://unity3d.com/unity/licenses&quot;&gt;http://unity3d.com/unity/licenses&lt;/a&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot; align=&quot;center&quot;&gt;&lt;b&gt;Navegação em ambiente 2D&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Zoom&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Para aumentar ou reduzir o zoom da cena inteira, aperte o botão do meio do mouse e gire para a frente ou para traz, tanto em ambiente 2D quanto 3D.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Transform&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Um dos recursos mais importantes para trabalhar com os objetos na cena é o Transform.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Selecionando a mãozinha podemos clicar com o botão esquerdo do mouse e &lt;b&gt;arrastar a cena completa&lt;/b&gt;, com todos os objetos dela.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Propositalmente as teclas de atalho seguem a ordem das teclas do teclado: QWERty, ou seja, a ordem das ferramentas é a mesma das teclas QWER do teclado tipo Querty.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Selecionando a cruz poderemos &lt;b&gt;mover&lt;/b&gt; ou selecionar o objeto selecionado. Quando o objeto está pequeno não aparecem as setas nas bordas para redimensionar. Então ampliamos o zoom, rolando para a frente o botão do meio do mouse, até que apareçam os 4 pontos azuis nos cantos. Então podemos usar os pontos azuis ou mesmo em qualquer posição intermediária. Podemos clicar sobre o objeto, no centro e arrastar o mesmo pela cena.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O terceiro botão, com as duas setas curvas, é usado na &lt;b&gt;rotação&lt;/b&gt; do objeto selecionado.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;Veja a seguir o mesmo objeto da imagem anterior mas com rotações sobre o mesmo. &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Redimensionamos&lt;/b&gt; o objeto selecionado com o último botão. Após selecionar este botão e selecionar o objeto veja abaixo que aparecem dois pequenos quadrados verdes, um na vertical e outro na horizontal. Clicamos no quadrado da vertical e arrastamos para ambliar o objeto nesta direção. Veja o mesmo objeto anterior redimensionado abaixo:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Inspector&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;Também podemos fazer alterações nos objetos usando o Inspector, entrando números diretamente nas respectivas caixas de texto. Tomemos o objeto anterior, vamos fazê-lo voltar ao estado anterior usando o Inspector:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Alteremos no Inspector para:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Position – (0,-4,0)&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Rotation – (0,0,0)&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Scale – (1,1,1)&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Alterando valores de X, Y e Z nas caixas de texto do Position, no Inspector&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Ao passar o ponteiro do mouse por cima de X, Y ou Z nas caixas de texto aparecem duas setinhas, uma para a esquerda e outra para a direita. Basta então que pressionemos o botão esquerdo e arrastemos para a esquerda ou para a direita para aumentar ou reduzir o valor.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Play&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Iniciar/Parar o Jogo&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Executar o Jogo&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Para executar o jogo podemos usar o atalho Ctrl+P.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Paineis Scene e Game&lt;/b&gt; – Alternar entre Cena ou Design e Game ou Execução&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Scene&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;No painel de Cena&lt;/b&gt;/Scene é onde são arrumados todos os assets do jogo em sua posição final. A cena é para onde arrastamos os assets para arrumar a nosso gosto.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Scenes&lt;/b&gt; – uma cena é basicamente um nível do jogo ou um menu.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Criar uma nova cena&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;File – New Scene ou teclar Ctrl+S&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Painel de Hierarquia&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;O painel de Hierarquia&lt;/b&gt; é onde os assets ficam organizados em uma cena. Onde ficam os objetos que já estão na cena e já fazem parte do jogo.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Inspector/Propriedades&lt;/b&gt; – aparecem as propriedades quando um objeto está selecionado no painel de Hierarquia&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;O painel Inspector&lt;/b&gt; deixa você inspecionar e ajustar todos os atributos de um asset selecionado no painel de Hierarquia. Desde posição, rotação, gravidade, cor, componentes, etc.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Projeto&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;O painel do Projeto&lt;/b&gt; é onde ficam todos os Assets que são ou podem ser usados no projeto.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Araste Fino&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Ao arrastar objeto na cena teclar V para ajuste fino.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Foco&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Em cenas com muitos objetos a visualização de algum sai da cena algumas vezes. Para deixar um objeto isolado com o foco na cena selecionamos ele na Hierarquia e teclamos F. Ele terá o foco na cena. Outra forma é efetuar um duplo clique sobre o nome do objeto na Hierarquia.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Arrastar a Cena&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;A mãozinha é usada para arrastar toda a cena. O botão do meio do mouse também pode ser utilizado para isso. Pressionar e arrastar para arrastar a cena.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Mover&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Selecione um objeto e clique no botão de movimento, aquele com 4 setas no Transformer.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Então clique numa das setas e arraste para mover na direção da seta.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Redimensionar&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Selecione o botão Scale e faça o mesmo, sendo que agora aumentando ou reduzindo o objeto.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Rotação&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Clique no botão Rotação e gire o objeto clicando e num dos círculos coloridos e arrastando.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Gizmo&lt;/b&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt; – bússola 3D, que mostra a orientação da câmera na cena e possibilita mudar a orientação da visão, bastando clicar em seus vértices. Mas use com cuidado. Caso perca o controle sem saber como voltar tecle Ctrl+Z.&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Layout&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Uma sugestão de layout, que ajuda bastante, visto que em tempo real já mostra as alterações da cena no painel Game abaixo.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O Unity é muito flexível para a criação de layouts dos paineis. Podemos escolher uma das opções em layout ou podemos criar o nosso apenas arrastando cada painel para a posição desejada. Para isso clicar na aba com o nome do painel e arrastar para a posição desejada.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Algo que dá um pouco de trabalho é posicionar um personagem em uma cena/terreno 3D. Usando o layout acima fica bem mais simples.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Resetar o layout para o layout original:&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Barra de ferramentas -&amp;gt; Window -&amp;gt;Layouts-&amp;gt;Revert Factory Settings&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Pasta Assets e Layout&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;A pasta assets é uma superpasta ou pasta raiz do projeto, que contem as demais pastas.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Alguns layouts não mostram a pasta Assets, mesmo ela estando lá, como é o caso do One-column e do Two-columns.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot; align=&quot;left&quot;&gt; &lt;/p&gt;</summary>
		<content type="html">&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot; align=&quot;center&quot;&gt;&lt;span style=&quot;font-size: x-large;&quot;&gt;&lt;b&gt;Unity - Navegação&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot; align=&quot;left&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Instalação do Unity&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot; align=&quot;left&quot;&gt; &lt;/p&gt;

&lt;h3 style=&quot;margin-bottom: 0cm; text-align: justify;&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Requisitos da versão 5 do Unity 3D&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;h4 class=&quot;western&quot; style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;Para desenvolvimento&lt;/strong&gt;&lt;/h4&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;OS&lt;/b&gt;: Windows XP SP2+, 7 SP1+, 8; Mac OS X 10.6+.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Não há suporte para o Windows Vista e as versões de servidor do Windows &amp;amp; OS X não foram testadas.&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;GPU&lt;/b&gt;: placa gráfica com recursos do DX9 (Shader Model 2.0). Qualquer placa fabricada a partir de 2004 deve funcionar.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;O restante depende mais da complexidade dos seus projetos.&lt;/p&gt;

&lt;h4 class=&quot;western&quot; style=&quot;text-align: justify;&quot;&gt;Outros requisitos de desenvolvimento de plataforma:&lt;/h4&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;iOS: computador com Mac e Xcode 4.3.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Android: Android SDK e Java Development Kit (JDK).&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Windows Store Apps / Windows Phone: Windows 8 Pro de 64 bits e Visual Studio 2012+.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;Blackberry: Java Runtime (JRE) de 32 bits.&lt;/p&gt;

&lt;h4 class=&quot;western&quot; style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;Para executar jogos Unity&lt;/strong&gt;&lt;/h4&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;Em geral, o conteúdo desenvolvido com o Unity pode funcionar muito bem em qualquer lugar; isso vai depender da complexidade do seu projeto. Mais detalhes dos requisitos:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Desktop:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;OS: Windows XP+, Mac OS X 10.6+, Ubuntu 10.10+, SteamOS+&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Placa gráfica: recursos do DX9 (Shader Model 2.0); em geral, qualquer placa fabricada a partir de 2004 deve funcionar.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;CPU: suporte para o conjunto de instruções SSE2.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O Web Player é compatível com IE, Chrome, Firefox, Safari e outros.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;iOS: requer iOS 4.3 ou posterior.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Android: OS 2.3.1 ou posterior; ARMv7 (Cortex) CPU; OpenGL ES 2.0 ou posterior.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;Blackberry: OS 10 ou posterior.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;a href=&quot;https://unity3d.com/pt/unity/system-requirements&quot;&gt;https://unity3d.com/pt/unity/system-requirements&lt;/a&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot; align=&quot;left&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Download&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;a href=&quot;http://unity3d.com/unity/download&quot;&gt;http://unity3d.com/unity/download&lt;/a&gt; (hoje, 27/10/2014, está na versão 4.5.5)&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Para instalar basta executar o arquivo baixado, sem dificuldades.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;Na primeira execução exigirá um cadastro (gratuito) e escolha a versão free.&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;A tela do Unity é dividida em paineis:&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;b&gt;Hierarchy&lt;/b&gt; – onde ficam todos os objetos de uma cena. Uma lista dos GameObjects da cena.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;b&gt;Inspector&lt;/b&gt; – onde aparecem as propriedades de um objeto/asset selecionado&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;b&gt;Project&lt;/b&gt; – onde ficam todos os assets: imagens, sprites, cenas, etc a disposição do jogo. Lista de assets, que age como uma biblioeca.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;b&gt;Scene&lt;/b&gt; – Tela onde adicionamos os objetos que comporão o jogo e são exibidos. Aqui é onde o jogo é construído, como uma fase do jogo ou menu.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;b&gt;Game&lt;/b&gt; – onde aparecerá o jogo em execução&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt;&lt;b&gt;Console&lt;/b&gt; – aqui são exibidas as mensagens de erro e também na barra de status&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Assets&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;É qualquer recurso utilizado ou que poderá ser usado no jogo e fica no painel Project.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Assets 3D precisam ser criados externamente. O Unity3d aceita vindos do Maya, do 3D Studio Max, do Blender e do FilmBox.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Imagens: png, jpeg, tiff e psd.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Áudio: wav, aif, mp3 e ogg&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O Unity tem uma loja que vende assets e também oferece gratuitamente:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;a href=&quot;https://www.assetstore.unity3d.com/en/&quot;&gt;https://www.assetstore.unity3d.com/en/&lt;/a&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Sprite&lt;/b&gt; – é uma imagem 2D para jogos, que pode ser simples ou múltipla, quando contém outras sub imagens. &lt;span style=&quot;font-weight: normal;&quot;&gt;Sprite Renderer&lt;/span&gt; é um componente exclusivo de sprites.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Texturas&lt;/b&gt; – são imagens em geral no Unity. As imagens importadas para o Unity devem ter dimensões na potência de 2: 64x64, 128x128, 516x516, etc.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Licença&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Desenvolvedor Indie – grátis (somente para pessoa física e empresas com lucro anual menor que US$ 100,000)&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Versão Pro de teste para 30 dias grátis&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Edição Pro – US$ 1,500.00 (licença permanente e não tem limites quanto ao que fazer com os jogos criados).&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;A versão free permite criar jogos de forma completa sem problema, não é uma versão que expira, inclusive publica para desktop, web, para Android e iOS sem pagar um centavo.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Detalhes:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;a href=&quot;http://unity3d.com/unity/licenses&quot;&gt;http://unity3d.com/unity/licenses&lt;/a&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot; align=&quot;center&quot;&gt;&lt;b&gt;Navegação em ambiente 2D&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Zoom&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Para aumentar ou reduzir o zoom da cena inteira, aperte o botão do meio do mouse e gire para a frente ou para traz, tanto em ambiente 2D quanto 3D.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Transform&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Um dos recursos mais importantes para trabalhar com os objetos na cena é o Transform.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Selecionando a mãozinha podemos clicar com o botão esquerdo do mouse e &lt;b&gt;arrastar a cena completa&lt;/b&gt;, com todos os objetos dela.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Propositalmente as teclas de atalho seguem a ordem das teclas do teclado: QWERty, ou seja, a ordem das ferramentas é a mesma das teclas QWER do teclado tipo Querty.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Selecionando a cruz poderemos &lt;b&gt;mover&lt;/b&gt; ou selecionar o objeto selecionado. Quando o objeto está pequeno não aparecem as setas nas bordas para redimensionar. Então ampliamos o zoom, rolando para a frente o botão do meio do mouse, até que apareçam os 4 pontos azuis nos cantos. Então podemos usar os pontos azuis ou mesmo em qualquer posição intermediária. Podemos clicar sobre o objeto, no centro e arrastar o mesmo pela cena.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O terceiro botão, com as duas setas curvas, é usado na &lt;b&gt;rotação&lt;/b&gt; do objeto selecionado.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;Veja a seguir o mesmo objeto da imagem anterior mas com rotações sobre o mesmo. &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Redimensionamos&lt;/b&gt; o objeto selecionado com o último botão. Após selecionar este botão e selecionar o objeto veja abaixo que aparecem dois pequenos quadrados verdes, um na vertical e outro na horizontal. Clicamos no quadrado da vertical e arrastamos para ambliar o objeto nesta direção. Veja o mesmo objeto anterior redimensionado abaixo:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Inspector&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;text-align: justify;&quot;&gt;Também podemos fazer alterações nos objetos usando o Inspector, entrando números diretamente nas respectivas caixas de texto. Tomemos o objeto anterior, vamos fazê-lo voltar ao estado anterior usando o Inspector:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Alteremos no Inspector para:&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Position – (0,-4,0)&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Rotation – (0,0,0)&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Scale – (1,1,1)&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Alterando valores de X, Y e Z nas caixas de texto do Position, no Inspector&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Ao passar o ponteiro do mouse por cima de X, Y ou Z nas caixas de texto aparecem duas setinhas, uma para a esquerda e outra para a direita. Basta então que pressionemos o botão esquerdo e arrastemos para a esquerda ou para a direita para aumentar ou reduzir o valor.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Play&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Iniciar/Parar o Jogo&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Executar o Jogo&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Para executar o jogo podemos usar o atalho Ctrl+P.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Paineis Scene e Game&lt;/b&gt; – Alternar entre Cena ou Design e Game ou Execução&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Scene&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;No painel de Cena&lt;/b&gt;/Scene é onde são arrumados todos os assets do jogo em sua posição final. A cena é para onde arrastamos os assets para arrumar a nosso gosto.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Scenes&lt;/b&gt; – uma cena é basicamente um nível do jogo ou um menu.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Criar uma nova cena&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;File – New Scene ou teclar Ctrl+S&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Painel de Hierarquia&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;O painel de Hierarquia&lt;/b&gt; é onde os assets ficam organizados em uma cena. Onde ficam os objetos que já estão na cena e já fazem parte do jogo.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Inspector/Propriedades&lt;/b&gt; – aparecem as propriedades quando um objeto está selecionado no painel de Hierarquia&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;O painel Inspector&lt;/b&gt; deixa você inspecionar e ajustar todos os atributos de um asset selecionado no painel de Hierarquia. Desde posição, rotação, gravidade, cor, componentes, etc.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Projeto&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;O painel do Projeto&lt;/b&gt; é onde ficam todos os Assets que são ou podem ser usados no projeto.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Araste Fino&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Ao arrastar objeto na cena teclar V para ajuste fino.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Foco&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Em cenas com muitos objetos a visualização de algum sai da cena algumas vezes. Para deixar um objeto isolado com o foco na cena selecionamos ele na Hierarquia e teclamos F. Ele terá o foco na cena. Outra forma é efetuar um duplo clique sobre o nome do objeto na Hierarquia.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Arrastar a Cena&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;A mãozinha é usada para arrastar toda a cena. O botão do meio do mouse também pode ser utilizado para isso. Pressionar e arrastar para arrastar a cena.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Mover&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Selecione um objeto e clique no botão de movimento, aquele com 4 setas no Transformer.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Então clique numa das setas e arraste para mover na direção da seta.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Redimensionar&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Selecione o botão Scale e faça o mesmo, sendo que agora aumentando ou reduzindo o objeto.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Rotação&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Clique no botão Rotação e gire o objeto clicando e num dos círculos coloridos e arrastando.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Gizmo&lt;/b&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt; – bússola 3D, que mostra a orientação da câmera na cena e possibilita mudar a orientação da visão, bastando clicar em seus vértices. Mas use com cuidado. Caso perca o controle sem saber como voltar tecle Ctrl+Z.&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; font-weight: normal; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; page-break-before: always; text-align: justify;&quot;&gt;&lt;b&gt;Layout&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Uma sugestão de layout, que ajuda bastante, visto que em tempo real já mostra as alterações da cena no painel Game abaixo.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;O Unity é muito flexível para a criação de layouts dos paineis. Podemos escolher uma das opções em layout ou podemos criar o nosso apenas arrastando cada painel para a posição desejada. Para isso clicar na aba com o nome do painel e arrastar para a posição desejada.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Algo que dá um pouco de trabalho é posicionar um personagem em uma cena/terreno 3D. Usando o layout acima fica bem mais simples.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Resetar o layout para o layout original:&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Barra de ferramentas -&amp;gt; Window -&amp;gt;Layouts-&amp;gt;Revert Factory Settings&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt; &lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;&lt;b&gt;Pasta Assets e Layout&lt;/b&gt;&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;A pasta assets é uma superpasta ou pasta raiz do projeto, que contem as demais pastas.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot;&gt;Alguns layouts não mostram a pasta Assets, mesmo ela estando lá, como é o caso do One-column e do Two-columns.&lt;/p&gt;

&lt;p style=&quot;margin-bottom: 0cm; text-align: justify;&quot; align=&quot;left&quot;&gt; &lt;/p&gt;</content>
		<category term="Unity 3D" />
	</entry>
</feed>
