__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
То что я написал - оно ближе к кушному AI. Но с возможностью проложить чёткий путь до врага или любой другой цели и заранее знать, если это невозможно.
Добавлено 23-04-2024 в 16:14:
Цитата:
FiEctro писал: Ноды вручную расставлять не надо
Технически надо, но я расставление нод повесил на точки спавна монстров и info_player_start. Так что для дизайнера этот головняк полностью снят.
Это дополнительная категория нод. Они могут использоваться в двух сценариях. Первый сценарий, это когда такая нода порождает вокруг себя соседей и так пока не заполнит всё пространство. Сама она при этом в навигационной сетке не участвует, это что-то вроде точки спавна.
Она так же остается в карте, на тот случай если мы захотим пересчитать сетку, не пересчитывая всю карту.
Второй сценарий - эти ноды могут иметь какие-то особые метки.
ну например - нода в воде или нода в воздухе. В таком случае компилятор графа ничего с ними не делает, но мы можем получить их координаты из игрового кода, чтобы не тратить энтити на подобные вещи.
Добрался до важного момента - пора сделать освещение персонажей.
Да, вы уже видели в кваке, что они корректно освещаются, но не всё так просто. В кваке ведь только прямой свет. А нам надо собрать ещё и отраженный. Проще всего это сделать через амбиент-кубы, но их ещё надо расставить должным образом. В этом моменте и кроется основная хитрость.
Дядя Миша писал: Да, вы уже видели в кваке, что они корректно освещаются, но не всё так просто.
На интелах они не очень корректно освещались.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша писал: параллельно учусь писать AI для NPC и
Это радует. АИ в ку2 был совсем примитивным. Монстры частенько тупили и теряли игкрока. Планируется модель поведения монстров близкая к ку2 или что-то своё? А что с физикой игрока? Помнится там игрок на вращающихся энтитях застревал или съезжал с них.
XonXT писал: Планируется модель поведения монстров близкая к ку2 или что-то своё?
Близкая к ку2 но без хаотичного тыканья в стены. Единственная проблема - если монстры атакуют толпой, то им зачастую некуда бежать - вокруг напарники. И стрелять тоже проблематично - в ку2 аппроксимация попаданий вокруг коробки. Я бы конечно мог заморочиться и сделать полигональный трейс, но пока не уверен, надо ли. И вот из-за этого получается, что передние стреляют, а задние стоят и ждут, пока до них дойдет очередь.
Цитата:
XonXT писал: А что с физикой игрока? Помнится там игрок на вращающихся энтитях застревал или съезжал с них.
Дядя Миша писал: но без хаотичного тыканья в стены
Просто не надо делать стены, похожие на двери, и никто в них тыкаться не будет.
__________________
To start the match, Let's draw the sketch, Then add some magic from your heart!
Take gold and blue, Take silver too and put a sparkle in your art!
I love that dress, I love It, YES!!! I love the way It makes me feel.
I love the shoes, I love to choose, It was a dream and now It's real!
Похоже ни один из форматов, представленных в прошлогодней сентябрьской демке до следующего обновления не доживёт.
Формат исполняемых файлов виртуальной машины - поменялся. Причём поменялся уникальным образом. То что собрано новым компилятором - будет работать в старой версии (если не юзать одну фичу), а то что собрано старым компилятором - в новой версии работать увы не будет. Но зато виртуальная машина неплохо прибавила в производительности.
Формат CSM - обновился до версии 3. Причём я это обновление задумал ещё с апреля прошлого года, но тогда в нём не было смысла.
Формат уровней - тоже поменялся, для поддержки травы-растительности, всяких мелких детайлов вообще. Появился инстансинг.
Ну вот правда форматы анимированных моделей и спрайтов остались практически без изменений.
Дядя Миша
Кстати не думал так же о ландшафте основаном на маршевых кубах как в роблоксе? Если уж замарочился дисплейсментами из хл2 или кривыми из ку3.
И ещё хотел спросить, у твоей ВМ есть возможность разбивать выполнение кода на несколько потоков?
Цитата:
Дядя Миша писал: Формат уровней - тоже поменялся, для поддержки травы-растительности, всяких мелких детайлов вообще. Появился инстансинг.
Полноценный? Инстансинг для материалов?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша писал: В каком смысле - для материалов? Для мешей. Инстансинг, это когда один и тот же объект рисуется сотни раз за один вызов.
GPU instancing is a draw call optimization method that renders multiple copies of a mesh
with the same material in a single draw call. Each copy of the mesh is called an instance.
ХМ, похоже ты прав. Походу он включается только когда меши одинаковые. А когда разные но с одним и тем же материалом получается не работает? Не знал.
Я почему то считал что оно работает именно для разных мешей с одинаковым материалом. Поскольку в Юнити оно включается именно в настройках материала.
И кстати ещё такой вопрос, а инстансинг может работать для мешей со скелетной анимацией?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
У меня про инстансинг заботится сам движок и компилятор. Допустим ты ему даёшь на отрисовку деревья. Много-много деревьев. Очевидно их лучше всего нарисовать через инстансинг. Да вот беда - у каждого дерева минимум две текстуры, листва и кора. Компилятор это видит и расчленяет каждое дерево на две инстанс-группы. В одном будет только листва, в другом - только кора. Настройки меша (позиция, углы, скейл), они при этом берут из общей текстуры-контейнера, в которой всё это хранится и которая читается в вертексном шейдере. Так же для инстансов возможно освещение по одной точке (как в халфе, только лучше качеством), возможно им задавать коллизию и спавнить по поверхности. Но можно и вручную каждый кустик поставить. Ещё инстансы умеют автоматически опускаться на пол при компиляции.
Цитата:
FiEctro писал: а инстансинг может работать для мешей со скелетной анимацией?
Вообще - может, но я наврядли это сделаю, т.к. оно мне нарушит тиеричность архитектуры. Имеется в виду, что если ты собрался всех монстров выводить при помощи инстансинга, то это во первых поломает внутреннюю архитектуру движка, т.к. предположит некую-внешнюю инстанс-текстуру, которая не относится ни к одному примитиву.
А во вторых их выгоднее всё же куллить по одиночке, а не рисовать всех за раз. Но я допускаю, если в каком-то движке нет нормального куллинга, то они могут их так рисовать.
Сегодня наконец-то был совершён важный прорыв. Теперь XashNT может обрабатывать в качестве геометрии для видимости модели, а не только браши. Т.е. мы можем сделать уровень моделью, пропустить его сквозь BSP-дерево и он правильно портализуется и разобьется на сектора, как будто был сделан из брашей. Технология пока ещё сырая и необкатанная, но в пределе XashNT позволит отказаться от брашей полностью. Это не значит, что он перестанет их поддерживать. Это значит уйдет требования наличия на уровне минимального кол-ва брашей, как это есть сейчас - например коробки-скайбокса. Иными словами можно будет целиком и полностью создавать уровни в Блендере или Максе. А в формате map или source останутся только точечные энтити.
Дядя Миша писал: Иными словами можно будет целиком и полностью создавать уровни в Блендере или Максе.
Даже, если на уровне будут дыры?
__________________
Kiss my ass if you don't like my Ford!
------------------------------------------ Game Area51 Update 1
First Person Shooter Released Jul 24, 2017
The game is a 3d shooter with the elements of the quest.