Как сделать ртс в юнити

Обновлено: 07.07.2024

Самое главное что вы должны знать о графике — это то, из чего она состоит.

Графика строится из набора изображений, который смешивается друг с другом по определенному закону, который приближает визуализацию финального изображения к реальному (либо стилизованному, если так задумано). Так устроен любой рендерер(и корона и вирей и редшифт и октан и все все все) и движок Unity работает точно по такому же принципу. Если кратко, то берем базовые цвета поверхностей, перемножаем их с освещенностью, добавляем отражения и спекуляр. Это общеизвестные факты, но без них никуда, любой 3дшник должен это знать и использовать!

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

В 2019 году мы имеем стандартные тени такого вида

Справа из ассетстора за деньги, называется NGSS. Речь идет о Реалтаймовых тенях, а не о запеченных.

Объемный свет

Нативного решения у юнити вообще нет, поэтому сравнивать не буду. Просто покажу, что есть несколько вариантов решений в ассетсторе на примере своей игры:

Есть бесплатный вариант AURA, есть платные решения. AURA мне по нескольким причинам не понравилась, в первую очередь из-за своей стабильности, поэтому я пользуюсь платным ассетом: HxVolumetricLighting.

Постобработка

У юнити есть есть PostProcessStackV2 и он в целом справляется со своей задачей, но кое чего всё равно не хватает, это хорошего AO, точнее HBAO+. Это ScreenSpace Ambient Occlusion, который не создает теней на объектах разнесенных по глубине.

Кроме самозатенения тут есть и очень интересная возможность Color Bleeding — эмуляция вторичного отражения света, которое добавляет картинке жизни, в простонародье - вторичка(от Древнегреческого Secondary GI).

Шейдеры

Ну и в конце концов не стандартными материалами едиными живём, шейдеры тоже нужно делать уникальные и для этого совсем не обязательно писать код, потому что есть Amplify Shader Editor, нодовый редактор, который может освоить любой 3дмаксер, майер, блендераст и прочие синемешники. :) без обид, блендер клёвый!

В частности можно сделать вот такой вот шейдер стекла из картинки выше, а на картинке ниже то, как он выглядит в редакторе:

Как вы могли заметить, это мало чем отличается от стандартных материал эдиторов популярных 3д пакетов, и на самом деле переход с них на редактор шейдеров в юнити очень прост, достаточно просто изучить список доступных нод, а принцип всего остально тот же самый. Но вы не представляете насколько классно после часов страданий ожиданий в 3дмаксике результатов настройки материала - видеть всё в режиме реального времени да ещё и вращать всё на одном месте камерой.

Для кого-то это покажется несущественным, но для меня наличие данных возможностей — единственное, что позволяет вообще делать графику на юнити, а не там где вы возможно подумали, потому что главное в Юнити это всё таки удобство и стоимость разработки с малым числом людей и бюджетом, а для нас — инди — это самое главное. Как известно: дьявол кроется в деталях и я перечислил те из них, которые считаю самыми важными. Всё остальное это уже стандартный подход: замоделить модельки, затекстурить модельки, сделать шейдер и т. п. По данной теме итак предостаточно информации.

PS: Покатились астедава! :)))

Интересно! Спасибо! Подскажи, пожалуйста, а почему не UE? Предполагаю, что из-за расходной составляющей. Или нет? Тогда интересно узнать Твоё мнение. Заранее благодарен за ответ!

Геймплей явно страдает, это мне стало ясно из видео. Да и цена для пазла дороговато. Но графика вполне.

Руслан Латыпов Интересно! Спасибо! Подскажи, пожалуйста, а почему не UE? Предполагаю, что из-за расходной составляющей. Или нет? Тогда интересно узнать Твоё мнение. Заранее благодарен за ответ!

Сергей Патюк Геймплей явно страдает, это мне стало ясно из видео. Да и цена для пазла дороговато. Но графика вполне.


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


Unity 3D против Unreal Engine | Сравнение рабочего процесса, графики и многого другого!

Ситуация:

  • У меня сетка 100 на 100 плиток.
  • на каждой плитке есть список юнитов, которые в данный момент стоят на ней.
  • в этой сетке случайным образом ходят 500 единиц команды 1 и 500 единиц команды 2.
  • пока они ходят, они попадают в список юнитов каждого тайла, на котором они находятся.

проблема: Каждый отряд должен проверить, скажем, квадрат 6 на 6 плиток вокруг плитки, на которой он находится, чтобы проверить, есть ли поблизости враг.

мое решение. каждый отряд проверяет, на какой плитке он находится, и только когда он меняет плитки, он проверяет 36 плиток вокруг своей текущей плитки и проверяет весь свой список отрядов, чтобы проверить ближайших врагов .

Вопрос.

  1. разве нет лучшего способа сделать это? Потому что, когда мне нужно, чтобы мои юниты имели большую зону видимости, скажем, 15 типов, мне нужно проверить 1000 единиц * 15 типов * 15 миль = газиллион .
  2. Существует ли очень недорогой способ использования в единстве некоего базового кругового коллайдера без необходимости использования твердых тел и т. Д.?
  • \ $ \ begingroup \ $ Глупый вопрос: имеет ли значение, имеет ли тайл 1 вражеский отряд или 1000? Потому что, если нет, то вы можете создать модель карты, которая содержит список игроков на каждой плитке, а затем сверяться с ним. Итак, независимо от того, сколько юнитов игрока 1 находится на тайле, в новой модели карты это все равно только игрок 1. \ $ \ endgroup \ $

Да, Unity содержит физическую функцию OverlapSphere. Для этого требуются объекты, имеющие коллайдеры, но не твердые тела. О производительности этого трудно судить, пока вы не примените это в своей реализации.

Если вы столкнетесь с проблемами производительности, я бы посоветовал вам реализовать какой-то quad / octree, как это предлагается в этом связанном вопросе. Кроме того, существует ряд алгоритмов, определенных для поиска ближайшего соседа, вы должны прочитать их и посмотреть, что соответствует требованиям вашего проекта.

Ваше устройство потеряло соединение с интернетом.

Создание задания

Статистика

Список всех наград проекта

Выбор проекта для репоста

Уровень 5


NilasAran_39

NilasAran_39

NilasAran_39


Как создать стратегию на Юнити?

Как создать стратегию на Юнити? что для этого нужно знать и куда тыкать? И вообще где по этой теме можно найти гайды, и прочия профит.

BrEd Pitt

BrEd Pitt

BrEd Pitt


Ответ

BrEd Pitt

BrEd Pitt


alexprey

alexprey


Nosferoh

Nosferoh


Devion

Devion


Lorem ipsum dolor

Как создать спрайт для Unity

Редактирование спрайтов в Unity

Средство визуализации спрайтов в Unity

Отобразить спрайт в Unity помогает компонент Sprite Renderer. Его нужно добавлять в GameObject через меню Components:

Components → Rendering → Sprite Renderer

Когда создается 3D-графика, тогда способов отразить объемный объект очень много. Например, внешний вид объекта будет зависеть от его положения на экране, освещенности, перемещения, положения камеры и др. С 2D-объектами этого всего нет.

Однако важно, чтобы соблюдался приоритет между спрайтами. То ест ь в ажно определить , какой спрайт может накладываться на другой спрай т в случаях их пересечения. Sprite Renderer как раз отвечает за соблюдение приоритетности. Делается это при помощи применения технологии сортировки слоев. То есть спрайты с низким приоритетом располагаются на низших слоях и могут перекрываться спрайтами с более высоким приоритетом.

Заключение

  • Paint Net;

  • Krita;

  • SAI 2;

  • GIMP;

  • Clip Studio Paint;

  • и др.

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Читайте также: