Войти
Urho3DФорумРАССКАЖИТЕ ПРО ВАШИ ПРОЕКТЫ

Демо графических возможностей движка. (109 стр)

Страницы: 1106 107 108 109 110 111 Следующая »
#1620
12:05, 20 окт. 2020

innuendo
> и как ты сделал префаб?
программерский префаб, т.е. не для редактора
сделал набор xml-ек, где описываются объекты, собранные из движковых составляющих.
потом на старте приложение парсит эти xml-ки
потом в нужном месте кода я цыганю объект описания из списка, скармливаю его функции-конструктору, которая по описанию создаёт и наполняет объект, возвращает ноду.
я сейчас подумал, что у себя в редакторе у меня тоже были, типа, "префабы", не так красочно и удобно, как в юнити, но я писал в окне название объекта, потом генерил его мышкой в редакторе.
я вообще уже тут это всё рассказывал, но никому не понравилась идея. А так, если как в примерах, в коде задолбаешься объекты в игре создавать ручками, да :)


#1621
20:20, 29 окт. 2020

А у меня тут вот что:
https://gamedev.ru/flame/forum/?id=186190&page=65&m=5276568#m964

#1622
(Правка: 21:36) 21:34, 29 окт. 2020

StepEver
> А у меня тут вот что:
Оу, с возвращением в игродел, да еще с боевым проектом)

у меня начатый скроллер давний на урхо, простаивает за не имением идей (своей изюминки), тупо клон не хочется..

#1623
7:56, 30 окт. 2020

Zamir
Это не боевой проект, это тестовый проект, с целью отвлечься, развлечься и найти слабые места в разработке. На данный момент это: 1. код, его много 2. моделирование, это долго. Я разрываюсь уже между тем, чтобы сделать редактор для материалов, и тем, чтобы пойти повыпрашивать у Глума его редактор.
Я просто что подумал... мне пока даже с такой ущербной графикой, картинка нравится. Вот думаю, может из этого сделать сабж? Правда, понадобится время, которого у меня нет. Я-то планировал пару недель потратить, а они уже прошли, мне надо срочно возвращаться к делам.
Если делать демо, то в игру надо напихать все возможные фичи движка :)

#1624
16:01, 30 окт. 2020

StepEver
> повыпрашивать у Глума его редактор.
Долго не придется, у него он открытый)

#1625
16:04, 30 окт. 2020

StepEver
> Если делать демо, то в игру надо напихать все возможные фичи движка :)
У меня тройное дежавю))

#1626
19:47, 30 окт. 2020

Я вот сейчас ковыряю рендерер Урхи и понимаю, что проблема-то не в том, что мало фич. Скорее наоборот, их слишком много и они слишком не в ту сторону.

#1627
23:04, 30 окт. 2020

Zamir
> У меня тройное дежавю))
Есть возможность убить 2-3 зайцев, а тут у меня как раз пулемёт оказался :)

Eugene
> вот сейчас ковыряю рендерер Урхи и понимаю, что проблема-то не в том, что мало фич. Скорее наоборот, их слишком много и они слишком не в ту сторону.
А можешь рассказать, что не так, и чего не хватает. И что лишнее? И вообще твоё видение, как всё должно быть, и как надо сделать?

#1628
2:35, 31 окт. 2020

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

#1629
(Правка: 3 ноя. 2020, 10:03) 19:05, 2 ноя. 2020

Дисклеймер: все ниженаписанное посвящено "среднему уровню рендерера".
Низкий уровень (GPU abstraction) сделан приемлемо.
Высокий уровень (компоненты и ресурсы) тоже приемлемо.
"Приемлемо" означает, что на тех уровнях конечно есть проблемы, но они не столько серьезные, сколько изредка бесящие.
А вот средний уровень, который отвечает за связку этих двух уровней, за превращение сцены и ресурсов в команды GPU — мне очень не нравится.

Рендерер урхи никогда не делался с какой-то долгострочной архитектурой. Это просто ворох фич, которые добавлялись туда на протяжении десяти лет. В результате имеем фичи, которые (1) никак не покрыты тестами/сэмплами и возможно сломаны, (2) нужны полутора китайцам и (3) мешают какому-либо рефакторингу.

Например, в урхе есть shadow map reuse. Не в том плане, что шадоумапа переиспользуется между кадрами (ха-ха, было бы глупо ожидать что-то полезное), а что все источники используют одну и ту же шадоу-мапу, перетирая ее. Из-за этого по умолчанию отключены тени на полупрозрачных объектах.

Ну то есть у нас есть опция, которая (1) нихрена не дает в современном мире, (2) добавляет еще один параметр в уже имеющийся комбинаторный взрыв вариаций, который надо держать в уме при любых изменениях, и как следствие (3) тупо мешает добавить что-то реально полезное, например атласы шадоу-мап, самим своим существованием. Надо признать что это не единственная проблема с атласами, но ладно. Ах да, еще shadow map reuse (4) является хреновым дефолтным выбором, так как вредит качеству в ущерб мнимой эффективности. Но это несущественно.

Или например туман по высоте (который типа в пропастях делают). Он нигде не используется в сэмплах, нужен в 5% игр, зато он безусловно жрет ресурсы и удваивает затраты на компиляцию и загрузку пиксельных шейдеров. Здорово, правда?

Шейдеры тоже очень не-гибкие. Шейдер может принимать глобальные дефайны, это хорошо. Еще шейдер может принимать дефайны, которые явно заданы в материале. И все.
Все остальные комбинации дефайнов буквально захардкожены и не могут быть легко изменены.
Cм выше про комбинаторный взрыв комбинаций для любых параметров кроме глобальных параметров и параметров материала.

Хочешь, чтобы шейдер автоматически смотрел на наличие/отсутствие текстуры или цвета в вершине? Нельзя, создавай технику. Про зависимость шейдера от каких-то свойств Drawable или ресурсов можно тоже забыть. В результате имеем комбинаторный взрыв техник при добавлении любого материала (что мы и видим в репе).

А еще Render Path в XML. Хочешь в зависимости от настройки включать/выключать какую-то часть ренедерера? Молись, чтобы тебе хватило встроенных тегов, потому что иначе из кода повлиять на рендер нельзя. Копипасть render path XML для каждой комбинации или втыкай костыли в View.cpp.


Я потерял всякую надежду там что-то аккуратно зарефакторить и лениво переписываю средний уровень ренедерера с нуля.

Основная идея — иметь меньше опций, меньше хардкода, по возможности универсальные шейдеры на DX/GL, и более легкое расширение/допиливание под свои нужды. В первую очередь за счет выкидывания XML render path и использования кода для управления логикой работы программы.

#1630
21:54, 2 ноя. 2020

Eugene
> А еще Render Path в XML. Хочешь в зависимости от настройки включать/выключать
> какую-то часть ренедерера? Молись, чтобы тебе хватило встроенных тегов, потому
> что иначе из кода повлиять на реднер нельзя
Когда-нибудь я доберусь до системы материалов, и освою её... Пока становится страшновато от её сложности.

#1631
22:47, 2 ноя. 2020

Тени на прозрачных объектах нужны.

#1632
8:10, 3 ноя. 2020

Eugene
> Хочешь в зависимости от настройки включать/выключать какую-то часть ренедерера?
Так ведь постэффекты аппендятся в рендерпас в коде же? о_о Я так понял, любой рендерпас можно наапендить с нуля в коде.

> Копипасть render path XML для каждой комбинации или втыкай костыли в View.cpp.
Мне идея дефольных настроек чего бы то ни было в xml нравится. Не идеал, но даёт определённую гибкость.

Эм. Я так понял, речь тут частично идёт про какой-то форк? Пока меня тут не было, я временами читал тред. Ребяты, я слаб во всех этих движковых тонкостях, я максимум копался в верхнем слое, когда что-то работало не так. Смотритии… я хочу сделать демку. Сабж. И я так понял, под форк он тоже пойдёт. Спрашивал я именно про демку, потому что в движок я не полезу, это выше моих сил, и я хреновый программист по складу ума. Но зато я могу напридумывать красивую картинку и прочие выепоны, и всё это более-менее складно разложить в коде и описаниях - если есть в этом потребность. Можно попробовать сделать что-то типа примера. Я просто сейчас смотрю на минусы в разработке игр под Урху на верхнем уровне. Что меня тормозит. И там, как бы, тоже дофига всего. UI тяжёл и глючит(вчера словил интересный баг: после переключения между окнами и включения видимости курсора UI вообще никак не реагирует на мышь). Система добавления объектов на сцену: или ты всё руками лепишь, или грузишь заранее заготовленную в редакторе сцену. Переключение между сценами. Редактор материалов. В общем, сегодня заканчивается 3-я неделя разработки, у меня ещё не готов весь геймплей. Три недели, Карлы! Отчаяние моё велико.

#1633
9:50, 3 ноя. 2020

Eugene
убери мат, один день

#1634
10:06, 3 ноя. 2020

Suslik

Только не надо, пожалуйста, удалять посты
Страницы: 1106 107 108 109 110 111 Следующая »
Urho3DФорумРАССКАЖИТЕ ПРО ВАШИ ПРОЕКТЫ