HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Страницы (245): « Первая ... « 212 213 214 215 [216] 217 218 219 220 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Crystallize
Житель форума

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

Рейтинг



Цитата:
FiEctro писал:
Так там неймспейсы разные

А прогеры это соблюдают?

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

Старое сообщение 30-10-2023 13:12
- За что?
FiEctro
Кот Арсис

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

Рейтинг



Дядя Миша
Ну вот моды в халф лайфе конфликтуют между собой? Пакеты работают примерно так же, только локально.

Цитата:
Crystallize писал:
А прогеры это соблюдают?


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

Я видал не мало проектов на Юнити и сам немного удивлён как она может справляться просто с титаническим количество ассетов и рекламных СДК которые по идее должны уже давным давно конфликтовать друг с другом поскольку функционал у них примерно тот же.

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

Отредактировано FiEctro 30-10-2023 в 13:50

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

Старое сообщение 30-10-2023 13:42
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
FiEctro писал:
Ну вот моды в халф лайфе конфликтуют между собой?

Но моды не используются ВМЕСТЕ. Они используются ПО ОЧЕРЕДИ.
А твои пакеты именно что вместе используются.

Цитата:
FiEctro писал:
и сам немного удивлён как она может справляться просто с титаническим количество ассетов и рекламных СДК

Ну вот ты к примеру подключишь одновременно пять разных плеер-контроллеров и, так сказать, что? Они все будут одновременно контролировать игрока?

Добавлено 30-10-2023 в 18:21:

Я могу ещё понять, если принято какое-то соглашение об универсальных интерфейсах ввода-вывода и на этой вот базе и построены все ассеты.
Скажем есть ассет аптечка, у которой есть эвент OnTouch и эвент AddHealth.
Ну и все объекты по очереди могут вызвать оба этих эвента или их проигноировать. В противном же случае твоя аптечка должна что-то модифицировать в классе игрока напрямую, про который она ничего не знает. В старом ксаше, да и в спирите можно с натяжкой назвать такой абстракцией систему ввода-вывода и префиксов, где на каждый префикс можно было повесить какое-то действие, но это было совершенно неинтуитивно. В хл2 чуть получше с этим, но опять же - кол-во событий может сильно различаться. В принципе это всё реализуется на Шоте, если продумать концепцию. А концепцию лучше продумывать для абстрактного SDK, а не для уже существующего набора энтить.

Добавлено 30-10-2023 в 18:23:

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

Добавлено 30-10-2023 в 18:23:

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

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 30-10-2023 15:23
-
Crystallize
Житель форума

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

Рейтинг



Цитата:
Дядя Миша писал:
Но моды не используются ВМЕСТЕ. Они используются ПО ОЧЕРЕДИ.

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

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

Старое сообщение 30-10-2023 16:22
- За что?
FiEctro
Кот Арсис

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

Рейтинг



Цитата:
Дядя Миша писал:
Ну вот ты к примеру подключишь одновременно пять разных плеер-контроллеров и, так сказать, что? Они все будут одновременно контролировать игрока?


Да, выглядеть это будет плохо, но они будут пытаться его контролировать.

Более того я сам писал как то такую систему состоящую из нескольких плеер контроллеров, где надо было менять физику и управление игрока радикально.

Цитата:
Дядя Миша писал:
Я могу ещё понять, если принято какое-то соглашение об универсальных интерфейсах ввода-вывода и на этой вот базе и построены все ассеты.
Скажем есть ассет аптечка, у которой есть эвент OnTouch и эвент AddHealth.
Ну и все объекты по очереди могут вызвать оба этих эвента или их проигноировать. В противном же случае твоя аптечка должна что-то модифицировать в классе игрока напрямую, про который она ничего не знает.


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

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

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


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

Цитата:
Дядя Миша писал:
И в принципе подобный подход обесценивает продумывание логики игры. Некоторым кажется, что достаточно накидать ассетов и готово. А потом удивляемся, чего всё глючит, тормозит и в текстурах застревает.


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

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

Отредактировано FiEctro 30-10-2023 в 16:59

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

Старое сообщение 30-10-2023 16:51
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Crystallize писал:
А вот моды на Морровинд использовались одновременно. И они друг с другом конфликтовали

А вот в UT'99 были мутаторы. И они друг с другом не конфликтовали. Потому что их делала одна команда, которая протестировала их работу во всех вариациях. Чего нельзя сказать про моды от сторонних разработчиков.

Цитата:
FiEctro писал:
Ты и без ассетов раньше вирусы подхватывал, не выдумывай глупости

Я напоминаю одно время тут стабильно выкладывали демки на Юнити полные вирусов. Уж не из-за ассетов ли? Я даже удивлялся, годами вирусов не цепляешь, скачал демку и пошло-поехало.

Цитата:
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: Записан
Сообщение: 217000

Старое сообщение 30-10-2023 18:44
-
FiEctro
Кот Арсис

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

Рейтинг



Цитата:
Дядя Миша писал:
Я напоминаю одно время тут стабильно выкладывали демки на Юнити полные вирусов. Уж не из-за ассетов ли? Я даже удивлялся, годами вирусов не цепляешь, скачал демку и пошло-поехало.


Сам подумай, ассет это шарп скрипт. Как шарпами другие экзешники заразить? Эта просто какая то сторонняя дрянь была которая прописывалась на все подряд экзешники.

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


Стандарт это пайплайн. Написал скрипт -> указал ему права -> повесил его на объект -> задал ссылки и константы в интерфейсе скрипта -> оформил префаб. Всё, можешь делать хоть 1000 аптечек в разных жанрах с разным кодом. Потому что аптечка это абстрактный класс, а не прибитый евентами гвоздями хардкод который надо переписывать только потому что поменяли модельку.

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

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

Старое сообщение 30-10-2023 19:57
- За что?
(_-=ZhekA=-_)
Житель форума

Дата регистрации: Jan 2006
Проживает: Москва
Сообщений: 3897
Возраст: 36

Рейтинг



Цитата:
FiEctro писал:
Сам подумай, ассет это шарп скрипт. Как шарпами другие экзешники заразить? Эта просто какая то сторонняя дрянь была которая прописывалась на все подряд экзешники.



Стандарт это пайплайн. Написал скрипт -> указал ему права -> повесил его на объект -> задал ссылки и константы в интерфейсе скрипта -> оформил префаб. Всё, можешь делать хоть 1000 аптечек в разных жанрах с разным кодом. Потому что аптечка это абстрактный класс, а не прибитый евентами гвоздями хардкод который надо переписывать только потому что поменяли модельку.

Прям одна аптечка на все случаи жизни, а что если рюкзак, навыки, что тоже подойдет?

__________________
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.

http://button.moddb.com/download/medium/125531.png

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

Старое сообщение 30-10-2023 20:07
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
FiEctro писал:
Как шарпами другие экзешники заразить?

Ты вспоминай что вирусы через VB-Script как-то распространялись долгое время. Напакостить-то разными способами можно.

Цитата:
FiEctro писал:
Написал скрипт -> указал ему права -> повесил его на объект -> задал ссылки и константы в интерфейсе скрипта -> оформил префаб

Это уже ближе к Doom3 который кстати и является родоначальником такого подхода. У меня проще устроено, как и в самой кваке - есть набор характеристик, класснейм и всё это прибито гвоздями к инстансу скрипта.
Можно конечно и усложнить, но без своего редактора пока не хочу всё это трогать.

Цитата:
(_-=ZhekA=-_) писал:
а что если рюкзак

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

Добавлено 30-10-2023 в 23:24:

Вот для примера такой def файл из Doom3 для зомби.
Здесь есть сразу несколько сущностей:
def-файл который я приложил
скриптовой код на doomscript
абстрактный код монстров в игровой библиотеке
настройки монстра на конкретной карте

собственно мне не нравится здесь то, что эти настройки привязаны к абстрактному файлу, а не к модели. Ведь именно модель и определяет поведение монстра. Куда логичнее вшить все настройки в саму модель, а на скриптовом языке написать data-driven код монстра. Собсно всё. Моделлер делает новую модельку, там же указывает основные параметры.
Подменяем модельку - получаем нового монстра. При этом в коде можно вообще не соображать. Пока так вижу это всё.
Хотя предложенная модель никоим образом не называется как единственная.
Она в любом случае будет не в движке, а в скриптах.

Вложение: monster_zombie_fat.zip (2.4 кб)
Этот файл был скачан 98 раз.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 30-10-2023 20:24
-
FiEctro
Кот Арсис

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

Рейтинг



Цитата:
Дядя Миша писал:
собственно мне не нравится здесь то, что эти настройки привязаны к абстрактному файлу, а не к модели. Ведь именно модель и определяет поведение монстра.


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

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

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

А вот евенты, аттачменты и анимации модели совсем не принадлежат и могут многократно раз меняться. Ты даже не представляешь как часто нам приходилось вешать скелет от одной модели на другую и подгонять его.

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

Отредактировано FiEctro 31-10-2023 в 06:28

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

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

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

Рейтинг



Цитата:
FiEctro писал:
А если тебе нужен монстр с той же моделью но другими параметрами?

Приведи пример такого монстра. Какие именно параметры у него будут другими?

Цитата:
FiEctro писал:
левелдизайнер меняет модельку и с ней слетают все её свойства

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

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

Вообще не понял какая тут связь.

Цитата:
FiEctro писал:
Нет, всётаки префабы лучше, может они выглядят не так красиво

Так я не против префабов. Пусть будут.

Цитата:
FiEctro писал:
Бывают случаи например когда нужно удалить какую то кость в реальном времени.

Не было таких случаев. Да и нельзя кости удалять.

Цитата:
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: Записан
Сообщение: 217008

Старое сообщение 31-10-2023 06:45
-
(_-=ZhekA=-_)
Житель форума

Дата регистрации: Jan 2006
Проживает: Москва
Сообщений: 3897
Возраст: 36

Рейтинг



Цитата:
Дядя Миша писал:
Не было таких случаев. Да и нельзя кости удалять.

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

__________________
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.

http://button.moddb.com/download/medium/125531.png

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

Старое сообщение 31-10-2023 08:10
- За что?
FiEctro
Кот Арсис

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

Рейтинг



Цитата:
Дядя Миша писал:
Приведи пример такого монстра. Какие именно параметры у него будут другими?


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

Цитата:
Дядя Миша писал:
Почему слетают? Применяются свойства новой модели.


Когда они меняются, разве не слетают?

Цитата:
Дядя Миша писал:
В той же халфе, например, как ты помнишь, скорость монстров определялась скоростью их анимации и это было очень удобно.


Рут моушен да, в Юнити он тоже есть. Если честно я так и не разобрался как с ним работать, результат выходил всегда кривым и забагованым, слишком много возни с ним особенно когда используешь ИК.

Цитата:
Дядя Миша писал:
Вообще не понял какая тут связь.


Связь в том что одна и та же модель на сцене может использоваться с разным контекстом.

Цитата:
Дядя Миша писал:
Не было таких случаев. Да и нельзя кости удалять.


Ты просто с ними не сталкивался.

Цитата:
Дядя Миша писал:
Так пользователь большинство этих параметров и вовсе не трогает никогда.


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

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

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


В целом согласен. Что евенты это часть анимаций, да это верно, но анимации не всегда могут быть частью модели. Иногда это может быть голый скелет который ретаргетится на скелет другой модели. А вот уже какой модели выполнять какие анимации решает скрипт Аниматора. Не все программисты и гейм дизайнеры могут смыслить в моделинге настолько хорошо чтобы сделать это ручками в 3д пакете.

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

Отредактировано FiEctro 31-10-2023 в 08:44

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

Старое сообщение 31-10-2023 08:31
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
FiEctro писал:
Например у одного монстра одна пушка, у второго другая и в другой руке

И что? Руки-то не меняются. А пушки цепляются к конкретным аттачментам в самой модели\либо к частичной иерархии костей. Оно и в халфе так было.

Цитата:
FiEctro писал:
Связь в том что одна и та же модель на сцене может использоваться с разным контекстом.

Естественно может.

Цитата:
FiEctro писал:
Ты просто с ними не сталкивался.

Гланды через задницу мне действительно удалять не приходилось.

Цитата:
FiEctro писал:
Кости в Юнити это такие же объекты как и лампочки и всё остальное

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

Цитата:
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: Записан
Сообщение: 217011

Старое сообщение 31-10-2023 12:40
-
FiEctro
Кот Арсис

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

Рейтинг



Цитата:
Дядя Миша писал:
Должен быть какой-то компромисс в контролировании костей.


Ну можно наверное сделать какой то объект боне контроллера который с определённым весом мог управлять костью/группой костей или наоборот к ней липнуть. Это уже своё что то надо придумывать. В любом случае это удобнее зашитых аттачментов.

Цитата:
Дядя Миша писал:
И что? Руки-то не меняются. А пушки цепляются к конкретным аттачментам в самой модели\либо к частичной иерархии костей. Оно и в халфе так было.


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

Цитата:
Дядя Миша писал:
Это тоже пришло из третьего дуума.


Не знаю как в третьем думе, возможно Юнитевцы там всё и подсмотрели.

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


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

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

Отредактировано FiEctro 31-10-2023 в 13:15

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

Старое сообщение 31-10-2023 13:03
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 03:34. Новая тема    Ответить
Страницы (245): « Первая ... « 212 213 214 215 [216] 217 218 219 220 » ... Последняя »   Предыдущая тема   Следующая тема
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