Pesquisar Unity

O projeto Republique Remastered para Unity 5 já está disponível!

17 de abril de 2015 em Jogos | 6 mín. ler
Tópicos abordados
Compartilhar

Is this article helpful for you?

Thank you for your feedback!

Saudações desenvolvedores Unity! Dois meses atrás a Camouflaj publicou "Remastering Republique: The Journey to Unity 5", uma série de videos, artigos e posts compartilhando nossa experiência durante o projeto.

Hoje nós vamos além compartilhando um pedaço do nosso jogo na Asset Store! Esperamos que isso se torne um recurso para a comunidade aprender sobre o que é possível com a Unity 5 e como vocês podem aplicar isso num jogo de verdade.

Você irá encontrar diversas áreas do Republique no projeto: A prisão, o átrio e Terminus. Você também poderá ver como utilizamos diversas features que já vem na Unity 5: Reflection Probes, Enlighten, novidades na animação e audio, e muito mais.

Aqui está um rápido tour de algumas das coisas que você irá encontrar.

ENLIGHTEN

image04

image00

O átrio do Republique foi a primeira parte em que trabalhamos como equipe quando migramos para a Unity 5. Muitos estúdios primeiro criam uma prova de conceito simples e sem graça e transformá-la usando a nova tecnologia que pretendem adotar. Nós fizemos o contrário! O átrio é o espaço principal do Episódio 1, sem dúvida uma de nossas fases favoritas, e queríamos ter certeza se migrar para a Unity 5 ia funcionar para as áreas de maior qualidade gráfica. Fomos surpreendidos positivamente pelas melhorias trazidas pelo Enlighten especialmente na luz que vem do topo da cena

 image07

Emissive Materials é uma das novidades da Unity 5. Aqui voce pode ser que aumentando a intensidade da emissão do material da luz fluorescente, a cena fica muito mais iluminada graças ao "bounce lightning" (ou seja, a luz rebatendo em superfícies e afetando outras superfícies). Você recebe feedback imediato se o continuous baking estiver habilitado. Isso poupa muito tempo quando você estiver iluminando seu ambiente.

image06

Aqui você pode ver o "emission value", que é uma numa feature, e que pode ser facilmente animada usando um animation que altera estes valores.

image10

image09

Aqui você pode ver que aumentando o Indirect Intensity na janela "lightning", a cena é atualizada dinamicamente e fica muito mais clara. Isso, como todo o resto, é feito em tempo real.

 image05

Reflection probes permitem que metais reajam de maneira similar aos metais do mundo real refletindo o ambiente ao seu redor. Se você clicar em "Box projections", a reflexão fica mais precisa, caso seu ambiente seja em formato de cubo.

image12

Aqui você pode ver que se selecionarmos o pilar e ajustar a superfície do material para metálica e aumentar sua reflexão, conseguimos uma reflexão espacialmente precisa.

image11 

Da mesma maneira, conforme diminuímos a configuração de "smoothness", a reflexão fica difusa.

image01

ÁUDIO NA UNITY 5

image03

O Audio Mixer da Unity 5 permite que você categorize os audios e especifique a saída permitindo mais flexibilidade em como o áudio é roteado e mixado, e como os efeitos são aplicados. No grupo 'Ambience', 'Ambience' foi dividido em sub-grupos 2D e 3D. Naturamente, áudio ambiente 3D é roteado para o sub-grupo 3D, dessa maneira o áudio associado a saída 3D seja executado de maneira apropriada baseado nas configurações do grupo. Dentro de cada grupo, o volume e tom pode ser ajustado, filtros de áudio podem ser aplicados e configurados, e você pode desligar ou manter ativo apenas membros específicos ou um grupo inteiro em tempo real. Não esqueça de clicar em 'Edit in Play Mode' no canto superior direito do Audio Mixer enquanto o jogo está rodando. Como exemplo, adicionamos o efeito 'SFX Reverb' ao grupo Footsteps para que você possa mexer enquanto o jogo está rodando.

image02

Quando você estiver satisfeito com o seu mix, você pode saltar um Snapshot do seu Mixer. Snapshots são muito úteis para salvar o seu mix, além de permitir que você crie diversos perfis de som, que no fim irão lhe fornecer um mix mais dinâmico.

MECANIM

Quando você apertar play e rodar o jogo, você pode clicar para que a Hope se mova pelo ambiente, e usar WASD para controlar a câmera. Incluímos diversas animações, porém estamos expondo a API do Mecanim, então você poderá criar todo tipo de ferramenta para criar e editar assets do Mecanim.

image08

Neste projeto, já um botão para recriar o Animator usado na personagem Hope com apenas um click. O script criar um Animator similar na pasta Project. O código para a criação do controller é bem simples:

[csharp][MenuItem ("Hope/Create Controller")]

static void CreateController () {

<i>// Creates the controller</i>

var controller = UnityEditor.Animations.AnimatorController.CreateAnimatorControllerAtPath ("Assets/HopeScriptCtrl.controller");

<i>// Add parameters</i>

controller.AddParameter("Walk", AnimatorControllerParameterType.Bool);

controller.AddParameter("TurnLeft", AnimatorControllerParameterType.Bool);

controller.AddParameter("TurnRight", AnimatorControllerParameterType.Bool);

controller.AddParameter("HalfTurn", AnimatorControllerParameterType.Bool);

<i>// Add StateMachines</i>

var rootStateMachine = controller.layers[0].stateMachine;

var stateMachineStand = rootStateMachine.AddStateMachine("Stand");

<i>// Add States</i>

var stateIdle = stateMachineStand.AddState("Idle");

var stateTurnLeft = stateMachineStand.AddState("TurnLeft");

var stateTurnRight = stateMachineStand.AddState("TurnRight");

var stateHalfTurn = stateMachineStand.AddState("HalfTurn");

var stateWalk = stateMachineStand.AddState("Walk");

stateIdle.motion = AssetDatabase.LoadAssetAtPath("Assets/Animations/Hope Animations/StandingIdleLooking.fbx", typeof(AnimationClip)) as Motion;

stateTurnLeft.motion = AssetDatabase.LoadAssetAtPath("Assets/Animations/Hope Animations/MoveStand90_L.fbx", typeof(AnimationClip)) as Motion;

stateTurnRight.motion = AssetDatabase.LoadAssetAtPath("Assets/Animations/Hope Animations/MoveStand90_R.fbx", typeof(AnimationClip)) as Motion;

stateHalfTurn.motion = AssetDatabase.LoadAssetAtPath("Assets/Animations/Hope Animations/MoveStand180.fbx", typeof(AnimationClip)) as Motion;

stateWalk.motion = AssetDatabase.LoadAssetAtPath("Assets/Animations/Hope Animations/MoveWalk_F.fbx", typeof(AnimationClip)) as Motion;

<i>// Add Transitions</i>

var idle2TurnLeft = stateIdle.AddTransition (stateTurnLeft);

var turnLeft2Idle = stateTurnLeft.AddTransition (stateIdle);

idle2TurnLeft.AddCondition(UnityEditor.Animations.AnimatorConditionMode.If, 0, "TurnLeft");

idle2TurnLeft.duration = 0.025f;

turnLeft2Idle.hasExitTime = true;

turnLeft2Idle.exitTime = 0.85f;

turnLeft2Idle.duration = 0.15f;

var idle2TurnRight = stateIdle.AddTransition (stateTurnRight);

var turnRight2Idle = stateTurnRight.AddTransition (stateIdle);

idle2TurnRight.AddCondition(UnityEditor.Animations.AnimatorConditionMode.If, 0, "TurnRight");

idle2TurnRight.duration = 0.025f;

turnRight2Idle.hasExitTime = true;

turnRight2Idle.exitTime = 0.85f;

turnRight2Idle.duration = 0.15f;

var idle2HalfTurn = stateIdle.AddTransition (stateHalfTurn);

var halfTurn2Idle = stateHalfTurn.AddTransition (stateIdle);

idle2HalfTurn.AddCondition(UnityEditor.Animations.AnimatorConditionMode.If, 0, "HalfTurn");

idle2HalfTurn.duration = 0.025f;

halfTurn2Idle.hasExitTime = true;

halfTurn2Idle.exitTime = 0.85f;

halfTurn2Idle.duration = 0.15f;

var idle2Walk = stateIdle.AddTransition (stateWalk);

var walk2Idle = stateWalk.AddTransition (stateIdle);

idle2Walk.AddCondition(UnityEditor.Animations.AnimatorConditionMode.If, 0, "Walk");

idle2Walk.duration = 0.025f;

walk2Idle.AddCondition(UnityEditor.Animations.AnimatorConditionMode.IfNot, 0, "Walk");

walk2Idle.duration = 0.25f;

}[/csharp]

E assim termina o resumo do projeto Republique Remastered para Unity 5! Esperamos que ele seja útil, e que ele inspire você a aprender mais por conta própria. Boa sorte de todos nós da Camouflaj!

Se você quiser jogar o Republique Remastered ele está disponível na Steam

 
*OBSERVAÇÃO: Fidelidade visual do projeto pode variar levemente da versão pública do Republique Remastered.

17 de abril de 2015 em Jogos | 6 mín. ler

Is this article helpful for you?

Thank you for your feedback!

Tópicos abordados