Elber писал: Насобирал всмысле просто насобирал или это все это в одном каком-то проекте? ИМХО разные скелеты рук игрока в одной игре - это хлам.
В особых случаях, если тебе очень нужна анимация с другого скелета - почти всегда можно сделать ретаргет скелета.
Собрал для мода: нож, пистолет, дробовик, автомат, снайперская, пулемет, гранатомет.
В принципе у меня только дробовик и автомат взяты не из модов на ТЧ. У остальных моделей не сравнивал скелеты, просто портировал.
Сейчас ковыряю скрипты чтобы это всё имело нужное кол-во патронов, калибр, слот и т.д. В скриптах тоже некоторые вещи вызывают затруднения. Из Грозы не получается сделать гранатомет. В идеале бы урок, как с нуля сделать новый вид патронов и оружие.
Ghoul [BB] писал: Видеопамять? Ну тоже сейчас менее гигабайта мало у кого осталось...
особенно у тебя самого
Добавлено 08-05-2019 в 13:10:
Ну что же. Сделал составную модель оружия. Рендеринг моделей предполагает изначально эту схему, игрок + випонмодель от третьего лица.
Я просто для вьюмодели сделал вьюмодель + руки, ничего более не меняя.
Руки мержатся так же как мержилась бы випонмодель от третьего лица в руках игрока. Таким образом изменения в коде минимальные, я просто в энтить вьюмодели записал в curstate.weaponmodel индекс модельки рук и всё сработало само-собой.
Правда с самой моделькой пришлось повозиться, чтобы компилятор не отрезал "лишние" кости, это делается через команду $bonemerge. Ну я потом расскжау подробно.
Elber писал: Оптимизация должна стремится к нулю, а быстродействие к бесконечности.
Помимо производительности - копирование и дублирование файлов с одинаковой датой в разные папки всегда не оптимально.
Добавлено 08-05-2019 в 00:46:
Все зависит от задач. Конкретно в П2 непись бегающий с пушкой в 10К поликов, с текстурами в 2048х2048 - не оправдывает затраты памяти.
1. Я не уверен, что оно сейчас работает, как надо, но в свое время ДМ заявлял, что хочет сделать отсечение одинаковых текстур ,если имя (и размер?) совпадают.
2. А объясни мне, какая разница, какая текстура натянута на пушку непися?ну, если игра загрузила одну такую текстуру, и использует её на всех таких оружиях. Я понимаю, когда было 3 разных модели и было логичным сжимать текстуры по размеру на моделях от третьего лица т.к. там было 3 разных текстуры.. ну, ладно, благодаря Мастеру, мы избавились от одной лишней world модели, заменив её простым переключением анимаций (на земле и в руках) для player модели, сэкономив треть машинных ресурсов...
Кстати, мне любопытно, как оно умудряется все быстро работать в Каунтер Страйке, а ведь там зачастую встречаются "любительские" модели оружия на 20 килополи для каждого из всех трёх ракурсов... такое ощущение, что люди, изготавливающие это, совершено не заморачиваются подобными вещами, как оптимизация.
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
Ghoul [BB] писал: но в свое время ДМ заявлял, что хочет сделать отсечение одинаковых текстур ,если имя (и размер?) совпадают.
На самом деле это очень стрёмная затея была, я не рискнул. Или совместимость сломаю или текстуры начнут путаться. Вот этот вариант с руками куда лучше, да и движок он не трогает.
Цитата:
Ghoul [BB] писал: ну, если игра загрузила одну такую текстуру, и использует её на всех таких оружиях
Ну вот с чего ты взял что игра использует эту текстуру на всех таких оружиях?
Каждой модельке принадлежат собственные текстуры это отголоски того подхода, когда все текстуры были встроены внутрь модели и о том, чтобы их расшарить не было и речи. То есть ксаш исходи из того, что у каждой модели своя текстура, даже если они визуально совпадают.
Цитата:
Ghoul [BB] писал: ну, ладно, благодаря Мастеру, мы избавились от одной лишней world модели, заменив её простым переключением анимаций (на земле и в руках) для player модели
Какому нахрен Мастеру Эту концепцию я разработал в 2004-м году, а Мастер утащил к себе в XDM по моей рекомендации.
Добавлено 08-05-2019 в 14:04:
Так ну чтоже. В настоящий момент я работаю над декалями. На первый взгляд они в порядке. Но есть масса нереализованных вещей.
Во первых нужна поддержка декалей с альфа-каналом. Декали с серой базой ВСЕГДА полупрозрачны, они как бы "вьедаются" в цвет поверхности на которой находятся. У них есть плюс - их не надо освещать отдельно, за счёт такого режима блендинга освещение получается как бы автоматически. Ну по сути они блендятся в том же режиме что и детальные текстуры. Так что поддержка декалей с альфа-каналом нужна. Но к ним надо дополнительно написать код освещения от динамических источников.
Во вторых для декалей на студиомоделях необходимо сделать аппаратное ускорение на видеокарте. Всё дело в том, что декали на скинненых мешах не клипаются, они фактически наследуют этот меш полностью. Потому что эффективно клипнуть декаль на меше со скиннингом не получится, будет некрасиво выглядеть. А мешы, сами понимаете какие бывают и по 20-30 тыщ вертексов. То есть получается идиотская ситуация, модели не тормозят, а декали на них тормозят, потому что через бегины рисуются.
В третьих на моделях щас идёт отрисовка декалей, отсортированных по материалу, а вовсе не по времени их нанесения, это тоже выглядит некрасиво.
В четвертых, самое главное, я хочу замутить корректные декали для полупрозрачных поверхностей. Наложить декаль на непрозрачную или прозрачную поверхность - вообщем-то разницы никакой, это делается одинаково. Но вот когда мы заглянем сквозь стекло сзади - мы увидим... Да собственно ничего мы не увидим. Не будет так декаль рисоваться.
В движке я это сделал, но там стёкла через блендинг, так что никаких проблем. А в параное стёкла пишутся в буффер глубины, а прозрачность через копию экрана, так что этот способ не сработает. Фактически декали придётся рисовать дважды - перед отрисовкой полигона и после отрисовки полигона, но выводится будут только видимые игроку.
Ну что же. Сделал составную модель оружия. Рендеринг моделей предполагает изначально эту схему, игрок + випонмодель от третьего лица.
Я просто для вьюмодели сделал вьюмодель + руки, ничего более не меняя.
Руки мержатся так же как мержилась бы випонмодель от третьего лица в руках игрока. Таким образом изменения в коде минимальные, я просто в энтить вьюмодели записал в curstate.weaponmodel индекс модельки рук и всё сработало само-собой.
Правда с самой моделькой пришлось повозиться, чтобы компилятор не отрезал "лишние" кости, это делается через команду $bonemerge. Ну я потом расскжау подробно.
ну я ж о себе в последнюю очередь думаю.
У меня и параноя не работает как надо. что ж теперь?
Кстати, о модельках и текстурах к ним: в counter-strike online используется какой-то хитрый метод: во всех моделях от первого лица руки используют мелкую текстурку 2на 2 пикселя с чёрной заливкой. А откуда-то подгружается нормальная полноцветная и полноразмерная текстурка рук, когда оно в игре. Может, такой способ тоже будет интересен. Моделька для примера в аттаче.
Добавлено 08-05-2019 в 16:05:
Цитата:
Дядя Миша писал: Да собственно ничего мы не увидим. Не будет так декаль рисоваться.
В движке я это сделал, но там стёкла через блендинг, так что никаких проблем. А в параное стёкла пишутся в буффер глубины, а прозрачность через копию экрана, так что этот способ не сработает. Фактически декали придётся рисовать дважды - перед отрисовкой полигона и после отрисовки полигона, но выводится будут только видимые игроку.
А может, для таких вещей просто рисовать двусторонние декали?
Вложение: v_f2000.rar (287.6 кб)
Этот файл был скачан 114 раз.
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
Elber писал: @Cybermax
Обращайся если нужна будет помощь в чем-либо.
Спасибо, обращусь, но чуть позже.
По поводу всех манипуляций с моделями, метод когда используется одна модель от третьего лица кажется мне единственно верной в идеале. https://www.youtube.com/watch?v=pTBkGovJIL8
Ghoul [BB] писал: А может, для таких вещей просто рисовать двусторонние декали?
Ну естественно двухсторонние, но это не поможет. т.к. стекло перезатрёт буффер глубины и перекроет нашу двухстороннюю декаль. Яж говорю у меня стёкла это солидные, непрозрачные объекты.
Цитата:
~ X ~ писал: Забавно. К идее, которую я озвучивал на ХЛру более 10 лет назад, снова вернулись.
Да нет ничего гениального в этой идее, она каждому в голову приходила хотя бы раз.
Цитата:
Cybermax писал: Спасибо, обращусь, но чуть позже.
Давайте пожалуйста обращаться в другом месте, спасибо.
Добавлено 09-05-2019 в 21:11:
Между прочим переписывание кода декалей, вскрыло совершенно ужасный баг с VAO\IBO, который там сидел с 2014-го года, и только сейчас, когда я начал деномически подгружать декали, наконец-то проявил себя во всей красе. Причём судя по всему то, что я исправил должно наконец-то заставить параною корректно работать и на старых железках, там где она раньше вылетала по необъяснимым (на тот момент) причинам. Я конечно собирался делать ревизию гл-стейта в любом случае, но честно говоря мне всё это даже в голову прийти не могло.
Ну чтожы, благодаря вчерашней работе над ошибками, P2 уже частично стартует на Radeon X1600
Там какие-то проблемы с выравниванием half-float в вертексных буфферах, не любит это дело радеон, ох не любит. Вплоть до вылетов.
Окончательно локализовал проблему. Всё дело в том, что X1600 не умеет в халф-флоаты, только эмуляция. Поэтому оно тормозит и вылетает.
Так же добавил декалям параллакс, теперь можно делать дырки в стенах