Полезное

Мы Вконтакте

Discord канал

#
Аватара пользователя
Пользователь
Сообщения: 8
А как на счёт коллизии? Если ландшафт большой, стоит использовать Per Poly Collision? Потому что если этого не делать, получится очень грубая и неудобная для поверхности коллизия.
Аватара пользователя
Пользователь
Сообщения: 3865
для статик мешь это выбирается здесь если что, не только для земли и пола, а вообще для всех случаев когда тебе нужна точная коллизия.

https://picua.org/images/2018/11/04/7bc ... 4f5ae5.png
Аватара пользователя
Пользователь
Сообщения: 50
Хм ...
А попробуй умножить TexCoord на 1/1445. ;)
Аватара пользователя
Пользователь
Сообщения: 8
Ну, если так, тогда я задам, пожалуй, последний вопрос на эту тему. А на таком ландшафте можно будет "играть"? Я имею ввиду, на нём можно будет, как на обычном, управлять юнитами, перемещать их без проблем, размещать какие-нибудь логические элементы, триггеры, входы в определённую зону?
Аватара пользователя
Пользователь
Сообщения: 3865
Gangster_228 писал(а):
Я имею ввиду, на нём можно будет, как на обычном, управлять юнитами, перемещать их без проблем


если добавишь нав меш, также как и на стандартном ландшафте.
Аватара пользователя
Пользователь
Сообщения: 11
Небольшой "лигбез" на тему Landscape VS StaticMeshActor

Скажу сразу, что все, что касаемо растительности.. И на Landscape и на StaticMeshActor используется инструмент Foliage Instanced Meshes.
Который при рендере картинки группирует траву и деревья так чтобы вывод их происходил за 1 Batch (проход).
Что сильно оптимизирует производительность. То есть в части расположения растительности в части оптимизации все одинаково. UE4 - единственный движок с такой возможностью, кстати.

Теперь к недостаткам StaticMeshActor, который используется в качестве ландшафта (SMAL в будущем):

1. SMAL - не имеет востроенную систему LOD и тесселяцию. Стало быть тебе придется каждый блок ландшафта делать в нескольких вариантах (3-4 как правило) чтобы получать LOD и хоть как-то оптимизировать процесс рендера SMAL.
2. SMAL- хранится в качестве сетки на жестком диске, Landscape в качестве набора масок и карты высот (все черно-белые).
Так что весит SMAL намного больше чем Landscape (генерируемая по карте высот и маскам сетка).
3. Если SMAL достаточно большая, то все ее вертексы будут рендериться постоянно. То есть на SMAL большого размера не работает OcclusionCooling (скрывание одних объектов за другими). И если твой SMAL порядка 1 миллиона вертексов (это не так уж и много для ландшафта), то ты все времы на рендер будешь выдавать 1 миллион вертексов, а кроме ландшафта есть еще куча всего.
4. Если ты решишь порезать SMAL на тайлы (блоки, состыкованные в общую сетку), и пореэжешь сетку, например на 1000 тайлов (прикинь сколько времени тебе для этого понадобится) то увеличишь тем самым время отрисовки сцены, ведь теперь каждый блок будет считаться отдельной сеткой и занимать по 1 батчу за проход. Да, при таком варианте блоки будут скрываться под механизмом Occlusion Cooling, но их будет все равно много, чтобы просадить fps. При показе 200 блоков это 200 батчей.
5. Рисование на SMAL не позволяет иметь больше 4 масок - VertexPaint позволяет создавать только 4 маски (RGBA каналы). В то время как на Landscape количество масок не ограничено.
6. SMAL не позволяет редактировать сетку в редакторе UE4, то есть при необходимости скорректировать сетку ты будешь пользоваться внешним 3D редактором каждый раз.

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

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



Так что если тебе кажется, что просто подгонка координат текстуры непомерно трудна (формула 1/размер ландшафта, в твоем случае 1/1445). И сделать открытый мир кусками SMAL намного проще чем Landscape (инструмента, придуманного неглупыми людьми как раз для этой цели), то удачи тебе в твоем нелегком труде левелдизайнера (который при таком раскладе не продлится долго, поверь).
Аватара пользователя
Пользователь
Сообщения: 3865
я думаю хороший левел дизайнер обязан уметь по всякому, и рисовать по static mesh вообще не очень хорошая идея в целом, как и использовать это, именно для ландшафта.
Аватара пользователя
Пользователь
Сообщения: 11
Цитата:
хороший левел дизайнер обязан уметь по всякому


Хороший и умеет. Но только не "по всякому", а грамотно.
Статики используются в качестве камней, скал и горных массивов в качестве декораций или же конструкций, которые предназначены для организации входов в пещеры. Ландшафт не может создавать поверхность с углом наклона больше 90 градусов. А скалы могут и навесать над склонами (иметь угол наклона к горизонтальной поверхности больше 90 градусов)
Короче говоря, грамотный дизайнер должен понимать что для чего использовать. Впрочем я пока на вижу здесь ни одного хорошего левелдизайнера если что.
По крайней мере не в UE4. Возможно в CryEngine и то сомневаюсь.
Аватара пользователя
Пользователь
Сообщения: 11


Канал хорошего дизайнера.
Аватара пользователя
Пользователь
Сообщения: 8
Всё понятно, спасибо что разъяснили. Кстати, насчёт вертексов. Я испугался за свой ландшафт, кинулся смотреть, насколько он громадный, а в нём оказалось всего-то 37 тысяч вертексов и 71 тысяча полигонов. Если в разговорах об оптимизации SMAL идут миллионы, то тысячи здесь вообще не число? Просто всё дело в том, что я бы с радостью перешёл на обычный Landscape, но у меня есть две проблемы. Во-первых, я использую SMAL, потому что в нём есть заранее отведённые дыры для зданий, строений и прочего подобного. И сами эти здания заточены только под такой ландшафт, так что попытка использовать их на другом - тщетна, ведь эти объекты должны стоять ровно, а они будут вечно торчать или не влезать. А во-вторых на моём ландшафте есть туннели, даже несколько. Вот уж, с чем Бог не шутит, вот как туннели-то вставить в ландшафт, который был подогнан из SMAL`a? К примеру, забиваем на Static Mesh Actor, делаем его карту высот и строим нормальный Landscape. И вот тут-то и вылазит наша проблема: объекты не будут стоять ровно, туннели просто невозможно подогнать, а некоторые вещи, такие как, например, обрывы и склоны в виде Static Mesh Actor, для которых уже были созданы дыры в SMAL, придётся убирать с карты вовсе, ведь они всё также будут торчать и вылезать. Я долго пытался сделать нормальный Landscape, но в итоге решил взять обычный меш, потому что решил, что поставить уже заточенные под него объекты на приблизительную его копию в виде карты высот - не удастся.

https://imgur.com/a/iXBeWTC Ссылка на скриншот с ландшафтом.


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница