Искать на сайте Unity

Republique Remastered доступна в Unity 5 Learn Project

17 апреля 2015 г. через Игры | 6 мин. читать
Охваченные темы
Поделиться

Is this article helpful for you?

Thank you for your feedback!

Приветствуем вас, разработчики Unity! Пару месяцев назад мы опубликовали Remastering Republique: Путешествие в Unity 5, серию видео, статей и постов в блоге, где рассказали о нашей работе над проектом.

Сегодня мы делаем еще один шаг и делимся нашим проектом в Unity Asset Store! Надеемся, что для сообщества это станет отличной возможностью узнать, что действительно возможно с Unity 5 и как это можно использовать в настоящей игре.

В файле проекта вы найдете несколько частей Republique: Brigs, Atrium и Terminus. Вы также увидите несколько функций Unity 5: Reflection Probes, Enlighten, новые функции анимации и аудио и др.

Вот краткий обзор того, с чем вы сможете познакомиться.

ENLIGHTEN

image04

image00

Atrium в Republique стал первым местом, с которым мы начали работать, начав переход на Unity 5. Многие студии создают прототипы, взяв простые невыразительные части и трансформируя их, используя новую технологию, к которой приглядываются. Мы сделали прямо противоположное! Atrium – это главное место Эпизода 1, оно, бесспорно, одно из наших самых любимых, и мы хотели увидеть, как будут выглядеть такие места после миграции на Unity 5. Мы были приятно удивлены теми улучшениями, которые есть в Enlighten.

image07

Эмиссия является одним из новейших дополнений Unity 5. Здесь вы можете увидеть, что, увеличивая интенсивность эмиссии для материалов, которые освещаются флуоресцентным светом, вы получаете значительно более яркую сцену освещения отраженным светом. И вы получите мгновенную обратную связь, если используете запекание. Это огромная экономия времени, когда вы работаете с освещением.

image06

В примере с материалом вы можете заметить, что эмиссия является новой фичей.ина может быть легко анимирована путем добавления Animation track, который все это контролирует.

image10

image09

Здесь вы можете увидеть, что, увеличивая Indirect Intensity в меню, сцена динамически обновляется и становится ярче. Это, также как и все остальное, отображается в режиме реального времени.

image05

Reflection probes позволяют металлу вести себя практически также, как и в реальности, освещая предметы вокруг. Если вы проверите проекты Box, то увидите, что они более аккуратно отражают пространство вокруг.

image12

Здесь вы можете видеть, что, если мы берем колонну, делаем ее металлической и повышаем коэффициент отражения, получается пространственно точное отражение.

image11 

Подобным образом, если вы уменьшаете гладкость, отражение становится грубым или размытым.

image01

АУДИО В UNITY 5

image03

Аудиомикшер в Unity 5 позволяет классифицировать аудио и определять выходы, чтобы получить больше гибкости в том, как аудио направляется и микшируется, а также в том, как используются эффекты. Ambience раскладывается на подгруппы 2D и 3D в группе Ambience. Естественно, окружающий звук 3D направляется в подгруппу 3D, чтобы аудио, которое относится к, например, пожару в автобусе в 3D, относился к соответствующей подгруппе. В каждой группе объем и высоту можно регулировать, аудиофильтры можно использовать и исправлять, а также можно добавлять соло или отключать отдельные группы в режиме реального времени. Чтобы убедиться в этом, просто кликните Edit in Play Mode в верхнем правом углу аудиомикшера, когда игра запущена. Например, мы добавили для вас SFX Reverb в группу Footsteps, чтобы можно было делать настройки, когда игра запущена.

image02

Как только вы будете удовлетворены тем, как все работает, вы можете сохранить снэпшот настроек вашего аудиомикшера. Снэпшоты очень полезны при сохранении вашего микса, так как позволяют создавать разнообразные профили звука.

MECANIM

Когда вы готовы нажать «играть», вы можете перейти в Hope и использовать WASD, чтобы контролировать камеру. Мы добавили несколько анимаций, но так как мы сделали открытым Mecanim API, вы сможете создавать любые виды инструментов для создания и редактирования ассетов Mecanim.

image08

В этом проекте есть кнопка для повторного создания Animator, который используется при первом клике на Hope. Скрипт создает аналогичный Animator в папке проекта. Код для создания контроллера очень прост:

[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]

Вот что представляет собой краткий обзор Republique Remastered для Unity 5 Learn Project! Мы надеемся, что этот проект будет полезным для вас, и мы призываем вас экспериментировать и узнавать новое. Мы, Camouflaj, желаем всем вам удачи!

 
*Примечание: визуальная четкость файла проекта может немного отличаться от оригинальной игры Republique Remastered.

17 апреля 2015 г. через Игры | 6 мин. читать

Is this article helpful for you?

Thank you for your feedback!

Охваченные темы
Unity, логотипы Unity и другие торговые знаки Unity являются зарегистрированными торговыми знаками компании Unity Technologies или ее партнеров в США и других странах (подробнее здесь). Остальные наименования и бренды являются торговыми знаками соответствующих владельцев.