HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Страницы (250): « Первая ... « 242 243 244 245 [246] 247 248 249 250 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32373
Нанёс повреждений: 392 ед.

Рейтинг



Все, что по смыслу должно динамически обновляться - будет это делать, да.

Добавлено 10-06-2024 в 23:40:

Цитата:
FiEctro писал:
Это глобальные эвенты их создаёт фреймворк движка, а пользовательские скрипты на них подписываются. Соответственно если объект удаляется то он просто отписывается от них и всё. Если всё же другие объекты на него ссылались ну они будут возвращать Null тогда, хотя я обычно делаю проверку. Как бы ничего страшного игра не крашнется если где то случайно разработчик ссылается на несуществующий объект, просто консоль сообщит ему это.

Ты меня опять не понял. Если объект удаляется - будет ли вызван какой-то эвент?
В Шоте, к слову нет никаких глобальных подписок со стороны движка - всё в ведении пользователя и компилятора. То есть там есть 5-6 глобальных вызовов, из которых, собственно всё и происходит.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 221041

Старое сообщение 10-06-2024 20:40
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 13005
Возраст: 32

Рейтинг



Цитата:
Дядя Миша писал:
Ты меня опять не понял. Если объект удаляется - будет ли вызван какой-то эвент?


Вроде нет. Но ты можешь создать свой эвент для таких вещей если я тебя правильно понял.
https://stackoverflow.com/questions...s-are-destroyed

Цитата:
Дядя Миша писал:
В Шоте, к слову нет никаких глобальных подписок со стороны движка - всё в ведении пользователя и компилятора. То есть там есть 5-6 глобальных вызовов, из которых, собственно всё и происходит.


А как быть если я хочу активировать мой код при создании скрипта, при первом кадре скрипта, при каждом такте физики, при каждом кадре или в конце кадрта?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Сообщить модератору | | IP: Записан
Сообщение: 221042

Старое сообщение 10-06-2024 21:44
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32373
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
А как быть если я хочу активировать мой код при создании скрипта, при первом кадре скрипта, при каждом такте физики, при каждом кадре или в конце кадрта?

все необходимые функции присутствуют. Но на них не надо подписываться.
Это всё в настраивается прямо из кода на шоте.
Да, собственно у тебя же есть сорцы - поизучай.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 221045

Старое сообщение 11-06-2024 06:38
-
Camblu_Buildovich
Житель форума

Дата регистрации: Jan 2011
Проживает: Город/село/деревня
Сообщений: 346
Возраст: 31

Рейтинг



Цитата:
Так товарищи. Настало время открыть вам страшную правду. Я не настоящий пограммист, как некоторые думают. Настоящему пограммисту вообще всё равно какой код писать. Они в любую задачу погружаются с интересом и работают над ней. Им главное - новизна ощущений. По принципу "О! а я с таким ещё не работал! Интересно!". Ну вот по этому критерию я совсем не настоящий Нет у меня желания обмазываться каждой новинкой и погружаться в неё. В действительности существовал ряд направлений в которых мне было очень интересно ковыряться и разбираться, но достаточно ограниченный.

Так товарищи. Настало время открыть вам страшную правду. Я не настоящий маппер, как некоторые думают. Настоящему мапперу вообще всё равно какую карту делать. Они в любую задачу погружаются с интересом и работают над ней. Им главное - новизна ощущений. По принципу "О! а я с таким ещё не работал! Интересно!". Ну вот по этому критерию я совсем не настоящий Нет у меня желания обмазываться каждой новинкой и погружаться в неё. В действительности существовал ряд направлений в которых мне было очень интересно ковыряться и разбираться, но достаточно ограниченный.
Дядь Миш, главное - движок пили. Видно же, что тебе самому интересно. И протести его итерации на хомячках, типа меня, чтобы точно знать уровень грунта насколько твоя мысль вхождения для не-программеров жизнеспособна.

__________________
Я когда был маленький и только-только увидел Quake я сразу же решил сделать его продолжение и даже придумал для него название: Quake 2!
А потом я узнал что Quake 2 и даже Quake 3 только што вышел.
Вот я расстроился

Отредактировано Camblu_Buildovich 11-06-2024 в 20:43

Сообщить модератору | | IP: Записан
Сообщение: 221047

Старое сообщение 11-06-2024 20:40
- За что?
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 13005
Возраст: 32

Рейтинг



Так товарищи. Настало время открыть вам страшную правду. Я не настоящий гейм дизайнер, как некоторые думают. Настоящему гейм дизайнеру вообще всё равно какой диздок писать. Они в любуй созвон погружаются с интересом и работают над проектом. Им главное - новизна ощущений. По принципу "О! а на таких плантациях ещё не работал! Интересно!". Ну вот по этому критерию я совсем не настоящий Нет у меня желания созваниваться с каждым кабанчиком и погружаться в катарсис. В действительности существовал ряд хонк-хонков в которых мне было очень интересно ковыряться и разбираться, но достаточно ограниченный.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Отредактировано FiEctro 11-06-2024 в 21:16

Сообщить модератору | | IP: Записан
Сообщение: 221049

Старое сообщение 11-06-2024 21:14
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32373
Нанёс повреждений: 392 ед.

Рейтинг



Очередной важный прорыв совершён сегодня. Движок, как вы знаете, наследуется от Xash3D, а тот в свою очередь - от семейства движков ID Software. В этом нет ничего плохого, на самом деле подавляющее большинство, так или иначе наследует если не кодобазу, то хотя бы идеи Кармака. И конечно наследуется не только хорошее, но и плохое.
Когда речь идёт об идеях, то что-то можно просто не брать. Когда мы имеем дело с какой-то древней кодобазой, то туда попадает разное.
В частности - биты контентсов (содержимого). Ну все наверное про них в курсе, кто имел дело с этими движками. Весь ужас в том, что этих контентсов не так уж и много - всего 32 штуки, поскольку они хранятся в 32-х разрядной целочисленной переменной, но это-то ещё ладно, обычно такого кол-ва хватает за глаза в рамках одной игры. Проблема в том, что к этим контентсам привязан весь workflow - их смотрят компиляторы, движок, при этом вы даже можете толком не знать какие биты используются тулзами и для чего. К тому же они запечены уже в готовой геометрии.

Подобные на первый взгляд простейшие вещи вычищать из среды невероятно сложно, у меня это заняло почти пять лет - начиная с 2019-го года. Правда надо признать, что я не особенно торопился на этот счёт.
Итак, как же мне удалось от них избавиться?
Для утилит введено понятие контентсов компилятора - их всего-навсего три шутки: небо, солид и ликвид. Большего компиляторам и не требуется, им вполне достаточно такого абстрактного разделения.
Движок знает ровно один контент - CONTENTS_SOLID. Я бы конечно мог избавиться и от него, но тогда бы получилось как в вашей любимой Unity - по дефолту вся геометрия не коллидит и игрок бы вываливался с уровня почём зря. Не думаю, что кому-то бы понравилась такая "гибкость".
Так что один бит захардкоден и навряд ли вызовет неудобства, а остальные 31 бит - полностью в вашем распоряжении.
Вы можете создавать разные типы воды, окон, решёток, вообщем всё что угодно для фильтрации коллизии.

Да, самое главное забыл сказать - контентсы можно переопределять не перекомпилируя уровни, модели и всё прочее. Единственное что вам понадобится пересобрать - это игровой код виртуальной машины, т.к. эти контентсы там используются в качестве маски для трассировки. Ну оно и понятно. А вот ресурсы трогать не нужно, т.к. биты контентсов существуют только в материалах и каждый раз загружаются из текстовых скриптов. В форматах моделей они не записаны.
Единственное, повторюсь нельзя переопределять CONTENTS_SOLID.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 221052

Старое сообщение 12-06-2024 11:17
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 13005
Возраст: 32

Рейтинг



Цитата:
Дядя Миша писал:
Я бы конечно мог избавиться и от него, но тогда бы получилось как в вашей любимой Unity - по дефолту вся геометрия не коллидит и игрок бы вываливался с уровня почём зря.


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



Цитата:
Дядя Миша писал:
их всего-навсего три шутки: небо, солид и ликвид.


Есть триггеры ещё, это вроде и не солид, и не ликвид и не небо.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Отредактировано FiEctro 12-06-2024 в 11:37

Сообщить модератору | | IP: Записан
Сообщение: 221053

Старое сообщение 12-06-2024 11:31
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32373
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
Есть триггеры ещё, это вроде и не солид, и не ликвид и не небо.

Верно. Но, как я уже и сказал - можно задавать сразу несколько бит для коллизии. Мы у триггера ставим CONTENTS_TRIGGER, а CONTENTS_SOLID - убираем. Вот и получается, что на триггеры реагирует только определённый тип трассы. И всё - в ведении пользователя. У меня ничего не прибито гвоздями, как на картинке выше. Пользователь сам определяет типы контентсов и за что они отвечают. Но разумеется есть полноценные примеры использования.

Добавлено 12-06-2024 в 16:38:

Кстати, можно создавать такие штуки, которые одновременно и вода и триггер, к примеру.

Добавлено 12-06-2024 в 16:39:

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

Добавлено 12-06-2024 в 17:04:

На самом деле - спасибо за картинку. Ты лишний раз подтвердил мой тезис как эти маски коллизии тяжело оторвать от движка. Я по правде говоря полагал, что в Юнити-то уж они полностью в ведении пользователя.
Оказалось - нифига подобного. Какие дали, такие и юзай.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 221054

Старое сообщение 12-06-2024 14:04
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 13005
Возраст: 32

Рейтинг



Дядя Миша
Ты наверное мои посты не читаешь.

Цитата:
FiEctro писал:
Ещё в Юнити есть слои (к слову слои есть преднастроенные, и пользовательские


Преднастроенные можно настроить по своему, ну или вообще их не использовать. Галочки что с чем взаимодействует тоже можно настраивать.

А у тебя пользователь может создавать свои физические слои?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Отредактировано FiEctro 12-06-2024 в 14:12

Сообщить модератору | | IP: Записан
Сообщение: 221055

Старое сообщение 12-06-2024 14:09
- За что?
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4471
Возраст: 34

Рейтинг



Цитата:
Дядя Миша писал:
Кстати, можно создавать такие штуки, которые одновременно и вода и триггер, к примеру.

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

Сообщить модератору | | IP: Записан
Сообщение: 221056

Старое сообщение 12-06-2024 14:14
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32373
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
Ещё в Юнити есть слои (к слову слои есть преднастроенные, и пользовательские

Так я об этом и речь веду, что фактически они все движковые - там скорее всего точно такая же битовая матрица и половина занята захардкодеными битами для нужд самого движка. Ну и чуть-чуть оставлено пользователю.
Именно с этим я и боролся. У меня только один бит отдан под нужды движка да и то - весьма условно.

Цитата:
FiEctro писал:
А у тебя пользователь может создавать свои физические слои?

Ну да.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 221057

Старое сообщение 12-06-2024 14:55
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4471
Возраст: 34

Рейтинг



XashNT же уже умеет овербрайты?

Сообщить модератору | | IP: Записан
Сообщение: 221143

Старое сообщение 17-06-2024 09:05
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32373
Нанёс повреждений: 392 ед.

Рейтинг



Crystallize умеет всё что можно сделать в шейдерах.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 221147

Старое сообщение 17-06-2024 13:35
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32373
Нанёс повреждений: 392 ед.

Рейтинг



Ещё в самом начале разработки, в 2019-м году я принял концепцию организации рендерера, которую можно условно назвать "всё - модель".
Это значит что любой набор полигонов, объединённый по какому-то признаку наследуется от абстрактного интерфейса модели. И каждый такой набор обязан так же иметь игровой объект, к которому он привязан.
На первый взгляд концепция может показаться спорной, тем не менее она себя отлично зарекомендовала. Говорю это сейчас, когда наконец-то достигнут полный функционал рендеринга из первой халфы - модель мира, статичные движущиеся модели, модели со скелетной анимацией, модели с повертексной анимацией, декали на статичной геометрии, декали на моделях со скелетной анимацией, спрайты, лучи, партикли и трейсеры.
В этом наборе не хватает только декалей на моделях с вершинной анимацией и декалей на спрайтах, но как вы понимаете - оно не сильно нужно, я это отложил на потом. Потому что практикуемый подход позволяет их добавить в любой момент не затрагивая остальные участки кода.

Каждая модель может использовать информацию из мировой модели для эффективного отсечения видимости, подавая на вход тесселятора список из видимых поверхностей. Поверхностей в каждой модели может быть сколько угодно. У поверхности есть материал (ссылка на систему материалов), объем для отсечения по фрустуму и для поиска в трёхмерном пространстве (например пересчение с источниками света), некоторый уникальный набор данных - как правило связанный с освещением, индексы источников света, которые взаимодействуют с данной поверхностью, и ссылка на VBO, хранящий её геометрию. Ссылка на шейдер находится уже внутри материала и задаётся пользователем. Там же находятся GL-стейты и юниформы, связанные с реальными данными. Данные могут быть как встроенными (например текущее время или позиция объекта), так и определёнными пользователем. Ну да я об этом уже не раз писал.

Сам тесселятор представляет из себя очень простой механизм. Он состоит из двух списков. Первый список - это непрозрачные поверхности, второй, соответственно прозрачные. Одна и та же модель может эмитить свои поверхности в разные списки в зависимости от того, какие режимы отображения выставлены в материале пользователем. Дополнительно полупрозрачные поверхности ещё сортируются по дальности от наблюдателя. Ну а сама отрисовка - полностью абстрактный механизм, это просто цикл перебора списка поданых на растеризацию поверхностей, бинд материала (включает в себя бинд шейдера, текстурных юнитов, юниформов и выставление GL-стейтов) и вызов VBO на отрисовку.
То есть этот механизм един для абсолютно всех поверхностей и не содержит никаких условий для каких-то особых типов рендеринга.
Собственно это тот самый момент, который меня больше всего нервировал в старом ксаше - невозможность формирования абстрактного списка для отрисовки. Потому что у нас были отдельные вызовы для отрисовки партиклей, лучей, декалей, была проблема с полупрозрачными мешами внутри студиомоделей, наконец у каждого типа моделей были свои собственные, непересекающиеся наборы юниформов.
Всё это было крайне тяжело поддерживать и расширять. Теперь же это абстрактный универсальный конвейер, где любой тип модели имеет полный набор возможностей. То есть мы можем дать освещение лучам, партиклям. трейсерам, если нам вдруг по смыслу это понадобится.
Ну скажем партикли будут не искрами, а пылинками - разумеется в таком случае им понадобится нормальное освещение. Да и туман наложить неплохо бы. Теперь всё это полностью контролируется из текстовых описаний самих материалов - лезть в ядро движка нет никакой нужды.

Из недописанного в рендерере осталась только мультипроходность (зеркала, порталы, мониторы, тени) и пост-процессы. Точнее говоря, сама мультипроходность в рендерер заложена ещё на этапе его проектирования, но надо дописать сами проходы. Просто пока не возникало такой необходимости.
По здравом размышлении я принял решение не использовать отложенный рендеринг, т.к. в моём случае он не даёт никаких преимуществ. Форвард прекрасно справляется. Но это отдельная тема, о которой я расскажу в другой раз.

Добавлено 18-06-2024 в 12:36:

Ещё хотелось бы отметить, что в переносе старых эффектов немаловажную роль играет тот факт, что теперь весь этот антураж должен быть аппаратно ускорен. В смысле - записан в VBO и трансформирован на GPU. Иначе полностью теряется смысл в разработке движка на "модерновой" версии OpenGL. Модерновой версией, насколько я помню начали называть API 3.0 и выше. Когда уже официально запретили использование glBegin.

Правда стоит отметить что на данный момент XashNT всё же использует бегины - для рендеринга консоли и сетевого графика. Но вся внутриигровая ситуация и HUD - реализованы на VBO. Постепенно я полностью откажусь от вызовов glBegin и тогда можно будет переключиться на Core-context, что по идее положительно скажется на работе с видеокартами от Intel (хотя XashNT на них и сейчас довольно неплохо работает).

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 221151

Старое сообщение 18-06-2024 09:36
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 13005
Возраст: 32

Рейтинг



Цитата:
Дядя Миша писал:
По здравом размышлении я принял решение не использовать отложенный рендеринг, т.к. в моём случае он не даёт никаких преимуществ. Форвард прекрасно справляется. Но это отдельная тема, о которой я расскажу в другой раз.


Кстати в Юнити можно каждой камере выбирать отложенный рендеринг или форвард. Грубо говоря одна камера у тебя может работать в одном режиме, другая во втором. Редко, но иногда бывает полезно.

Ещё можно комбинировать изображение с 2х камер, например чтобы отрисовать 3д интефейс поверх обычного изображения.

Ещё в Юнити был очень прикольный шейдер фейковых спотлайтов, ты их мог ставить практически неограниченное количество и это даже работало на древних мобильниках. Так же им можно было делать пятно тени под NPC. Естественно ни каких шадоумап у него не было, по для левелдизайна штука супер.

https://docs.unity3d.com/ru/2018.4/...-Projector.html

А ещё им можно было делать простые декали но с сильными ограничениями.

Цитата:
Дядя Миша писал:
была проблема с полупрозрачными мешами внутри студиомоделей


Вот да, в Юнити это тоже проблема, сортировка и освещение моделей с 8ми битной альфой (как мне объяснили это ограничение Z-буфера). С монохромной альфой сортируются они неплохо, и освещение и тени есть. А вот 8битную приходится комбинировать в 2 прохода с 8мибитной, сортируется тоже не очень, зато есть освещение и тени. Надеюсь в Ксаше проработаешь этот момент.

В DX12 рендере вроде в Юнити как бы с этим получше дела обстоят, уже можно прически и шерсть делать такими плейнами, но там похоже тоже используется какой то хитрый хак.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Отредактировано FiEctro 18-06-2024 в 11:42

Сообщить модератору | | IP: Записан
Сообщение: 221153

Старое сообщение 18-06-2024 11:26
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 17:12. Новая тема    Ответить
Страницы (250): « Первая ... « 242 243 244 245 [246] 247 248 249 250 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024