A Unity é uma engine 3D popular entre desenvolvedores independentes. Suas principais atratividades são o baixo custo (comparada a outras soluções profissionais do mesmo calibre), a variedade de plataformas suportadas e a disponibilidade de um web player que roda direto da web os jogos feitos por ela.
Table of Contents
|
Características
- Multiplataforma - A versão 5 suporta: PC (Windows, windows store, MAC e Linux), videogames (PS3, PS4, PS Vita, Wii U, Xbox one XBox 360), mobile (IOS, Android, tizen, blackberry 10), tv (android tv e samsung smart tv) e wearable (oculus rift e gear vr)
- Possui um WebPlayer
- Possibilidade de se fazer programação com ela usando C#
Apesar desta engine ser comercial, há uma versão que pode ser baixada e usada gratuitamente. Alguns recursos da versão profissional não estão disponíveis para ela
- Possibilidade de ler e modificar os pixels de uma textura
- Efeitos de animação - Fade In, Fade out, etc.
- Uso de vídeo em textura (MovieClip)
Render Pipelines
Nas versões mais novas, a Unity vem com o pipeline de render embutido, que com o tempo foi ganhando funcionalidades, mas que agora, com a tendência de cada vez mais migrar funcionalidades para a GPU não irá mais atualizado. Em contraste há dois pipelines de render que foram introduzidos com a Unity 2018.3, o URP e o HDRP.
URP
O Universal Render Pipeline (URP), é o pipeline destinado a ser o novo pipeline padrão da Unity para novos projetos. Ele era conhecido como LWRP (LightWeight Pipeline Render Pipeline) e tem como principal característica ser suportado em todas as plataformas que a Unity suporta. Ele tem requisitos mais modestos em comparação com o HDRP, mas ainda assim tem bastante capacidade de personalização e tem atualizações a cada versão da engine.
HDRP
O Pipeline de Render de Alta Definição (High Definition Render Pipeline) foi feito para suportar recursos mais modernos das APIs gráficas, e que, nem sempre estão disponíveis em todas as plataformas que a Unity Suporta. Seu principal pré-requisito é o suporte a APIs com mesmo conjunto de features que o DirectX 11 (Shader Model 5.0) ou superior. Ele também tem suporte experimental (preview) a ray tracing.
Render Pipelines Personalizados
Há a possibilidade de criação de um render pipeline personalizado na Unity. Essa abordagem permite uma personalização maior, ao custo de não se poder aproveitar alguns recursos já disponível que são próprios pra URP ou HDRP.
Comparação das versões gratuitas e Pro da Unity
(Retirado do site da Unity)
Características | Unity Personal | Unity Professional |
---|---|---|
Motor com todas as características | sim | sim |
Livre de Royalties | sim | sim |
Todas as plataformas (limitações se aplicam) | sim | sim |
Splash Screen Customizável | não | sim |
Unity Cloud Build Pro - 12 meses | não | sim |
Unity Analytics Pro | não | sim |
Licença para Equipe | não | sim |
prioridade para o tratamento de bugs | não | sim |
Relatório de desempenho do jogo | não | sim |
Acesso a beta | não | sim |
Patrocínio e Revenda Ilimitados | não | sim |
Plataformas futuras inclusas | não | sim |
Editor de pele profissional | não | sim |
Loja de ativos nível 11 | não | sim |
Características da comunidade Professional | não | sim |
Acesso ao código fonte | não | pagando |
Suporte Premium | pagando | pagando |
Tutoriais
- Introdução à interface na Unity
- Trabalhando com terreno na unity
- Trabalhando com shaders na unity
- Trabalhando com sistemas de partícula na unity
- Trabalhando com 2D na unity
- Trabalhando com GUI na unity
Funcionalidas das versões mais recentes
VFX Graph
VFX Graph é um recurso suportado no HDRP e parcialmente suportado no URP. Ele permite a criação de efeitos, usando uma abordagem de nós, sendo o resultado um sistema de partículas que roda na GPU
https://docs.unity3d.com/Packages/com.unity.visualeffectgraph@12.0/manual/index.html Simples Tutorial do VFX Graph
Shader Graph
Permite a construção de shaders de forma visual usando a abordagem de nós. Recurso que está disponível nos pipelines de render URP e HDRP (mas não no embutido)
Timeline
xxxx
trechos de código
Lendo arquivos XML (útil para webplayer)
// lê sample.xml TextAsset xmlContent = Resources.Load<TextAsset> ("XML/Test/sample"); if (xmlContent == null) { Application.ExternalCall( "sendScoreCallback", "Erro no carregar xml de teste"); Debug.Log("Erro no carregar xml de teste"); } var reader = new StringReader(xmlContent.text);
Atribuindo um pai a um GameObject via scripting
Para atribuit um GameObject pai para um GameObject, basta especificar o transform do GameObject pai como pai no transform do GameObject Filho;
// GameObject paiObject; // GameObject filhoObject; filhoObject.transform.parent = paiObject.transform;
Trabalhando com o objeto WWW
xxx
Unity + Shaders
http://unity3d.com/pt/learn/tutorials/topics/graphics/gentle-introduction-shaders?playlist=17102 (em inglês)
Links
http://unity3d.com/ Site oficial da unity
http://unity3d.com/get-unity Download da Unity
https://www.facebook.com/notes/393848757301025/Perguntas%20Frequentes/1349559698396588/ Perguntas e respostas sobre a Unity
https://www.youtube.com/watch?v=ay0KvRcQkM8 Tutorial sobre como usar o WebPlayer da Unity e customizá-lo
https://www.youtube.com/channel/UCEbEugtl-gIHmFQFmlgNcKQ: Canal com vários tutoriais e informações sobre a Unity
https://unity.com/pt/how-to Série de artigos how-to e ebooks para auxiliar criadores a mexer com diversos aspectos da game engine
Tutoriais
https://unity3d.com/pt/learn/tutorials/modules/intermediate/scripting/properties Scripting na Unity