Как отобразить текстуру?

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
Все здравствуйте.
Такой немного странный вопрос, хотел бы понять, как или чем можно отобразить текстуру на модели(на части модели, например экране).
Картинка представляет из себя 16 бит(насколько я знаю), я пытался отрисовать её в хинте при помощи такого странного способа

C-подобный:
new Handle:hBuffer = StartMessageOne("KeyHintText", client);
    BfWriteShort(hBuffer, Image); (16 бит) или BfWriteWord(hBuffer, Image)
    .....
    ..
    EndMessage();
По итогу ничего не понял. Возможно что-то и рисует, но как-то вяло, еле еле заметно.
Кто нибудь пробовал отобразить картинку на модели или экране?
 
Последнее редактирование:

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
Все здравствуйте.
Такой немного странный вопрос, хотел бы понять, как или чем можно отобразить текстуру на модели(на части модели, например экране).
Картинка представляет из себя 16 бит(насколько я знаю), я пытался отрисовать её в хинте при помощи такого странного способа

C-подобный:
new Handle:hBuffer = StartMessageOne("KeyHintText", client);
    BfWriteShort(hBuffer, Image); (16 бит) или BfWriteWord(hBuffer, Image)
    .....
    ..
    EndMessage();
По итогу ничего не понял. Возможно что-то и рисует, но как-то вяло, еле еле заметно.
Кто нибудь пробовал отобразить картинку на модели или экране?
Для хинта
 

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
Для хинта
Спасибо. Была мысль картинку текстом вставить, не знал как её приспособить.
Это он форматирует картинку как-бы в текст, если я правильно понял. Интересно. Html творит чудеса, как обычно.
 

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
Нет, это не то, явно. Да и вообще не работает, не форматирует, HTML видимо не поддерживает.

Мне нужно отобразить на изображении мини-карты(радаре) игрока, местоположение своего ENT(или похожих).
Или, что намного лучше для меня, сделать свою мини-карту(радар), но отображать её нужно на экране монитора игрока, а не на экране ENT.
Хотя можно и на экране ENT, так как у меня сейчас сделано, но этот экран двигается вместе с ENT, соответственно проблематично что либо отобразить на этом экране без отставания.
Смотрел исходный код радара в src, по идее можно сделать расширение, даже наконец-то среду настроил(vc2013), но это куча дополнительных проблем, причем огромная куча. А так да, код работает(в HL2), рисует любые картинки, и при помощи конфиг их можно регулировать как душе угодно. Есть исходник src2007(контры), и есть ворованный src csgo, но проблема будет прикрутить к движку css, да и не факт что не будет падать, исходного кода этой контры всё-равно нет, а без него ошибки обеспеченны.

Есть мысли как-то перевести картинку в байт-код, и отображать её при помощи BfWrite.....
Проблема в том что я никогда не имел дело с байтами, понимаю так, что картинку нужно вначале как-то прочитать(перевести) в байты(может быть при помощи BfRead...), потом уже попробовать записать её в полученном байт-коде.
Если один пиксел картинки = примерно 3 байтам(24 бита), то как это всё записать?

Кто имел с таким дело? Не поверю что никто не пытался, хотя бы раз, нарисовать картинку на своём экране монитора(HUD'е), свою картинку, не при помощи наложения какого-то оверлея, а именно нарисовать картинку(свою картинку), и именно в определённом месте.
 
Последнее редактирование:

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #6
Там устаревший. Наиболее актуальный - в сливе TF2, там он тоже по соседству располагается.
 

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
Всё! Для себя я эту проблему решил!
Я нашел способ как отображать текстуру, в данном случае я сделал текстуру дрона, на примере как у игроков(с указанием направления, лучом), для КТ-синий, для Т-красный. Отстаиваний нет, работает отлично. Правда на подъёмах бывает проваливается точка Дрона под саму миникарту, но это решаемо.
Есть у меня еще кучка неясностей, например как будет работать на клиентах, что вокруг чего крутить, дрон в центре и все крутится вокруг него, или карта стоит на месте а всё что, нужно просто отображается на этой карте, или же и карта крутится и дрон, короче вопросов много еще.
Еще остаётся найти какое-то основание, за что зацепиться, что бы преобразовать 3D координаты мира в 2D координаты миникарты(радара), вроде есть масштаб этих миникарт(текстур), есть левые верхние точки, например дуст2 (1024*1024) масштаб 4.4.
C-подобный:
    "pos_x"        "-2440"    // upper left world coordinate
    "pos_y"        "3383"
    "scale"        "4.4"
Это точно можно как-то использовать. В общем еще математика по полной, но самое главное - решена проблема с отображением маяков, я сейчас могу любой нужный мне объект показать на этой карте.
 

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
Вообще всё!
Нашел, так сказать, точку отсчета - отлично работает, работает на любой карте(естественно у которой есть в overviews текстовый файл с данными.
Пока не стал крутить карту вокруг Дрона, карта статична(это не совсем удобно), дальше посмотрю, может быть намучу еще что нибудь.
Основная проблема заключалась в том, что я не мог догадаться, мини-карту нужно просто разделить на 1024(размер текстуры), что-бы получить размер одного пикселя, и уже после этого можно использовать scale карты(который есть в overviews).
Возможно есть и другие варианты, но меня мой устроил вполне.
Обновление поставил 0.5 - скачки объекта(Дрона) на мини-карте немного заметны, но кто на это обратит внимание ☺️ .

Сообщения автоматически склеены:

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


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

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
Максимально постарался приблизить свою мини-карту к родной, контровской.
Отображается всё что только можно, даже дроны(на видео свободные дроны с зеленым спрайтом, активированный дрон - спрайтом типа мигающего маячка), все как положено, упавшая бомба выделяется маяком желтого цвета, установленная - маяком красного цвета. Для маяков бомбы специально написал код на расширяющийся круг с исчезанием его к максимальному радиусу(желтый и красный).
Работает на удивление без ошибок, единственно что при некоторых углах положения Дрона с моим HUD' ом, бывают пропадания всех или части спрайтов, думаю что это из за очень близкого расстояния спрайтов друг от друга.
Остаётся сделать выделение игроков ведущих радиопереговоры, спрайт для этого я сделал уже.
О! Только заметил что нужно еще сделать - нет обозначения бомб-плейсов, придется програмно определить место-положения и центры бомплейсов(спрайты с буквами я уже давно сделал).
Интересно, а как узнать что этот бомб-плейс к примеру А а не В или С? Где эти данные можно взять?
И еще одно заметил - вся миникарта-радар в зеркальном отражении, я это сразу и не заметил - прикольно.
 
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,982
@tonline_kms65_1, по индексу энтити: у какого индекс меньше, тот и А.
Игра сама буквы назначает обычно.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,982
просто у меня есть плагин, который эти самые бомплейсы спавнит
 

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
Сделать обозначение бомплейсов - сделал, но что интересно, перепутаны А и Б, не знаю, только у меня так, или так и должно быть.
Интересно, а если будет 3 бомплейс, он каким будет? Нужна карта, у которой есть свой overviews и есть 3 бомплейса, проверить как будет на ней отображаться бомплейс С.
Может быть отсчет начинается с большей id?
 

Вложения

  • БП_Ацтек.jpg
    БП_Ацтек.jpg
    634.2 КБ · Просмотры: 46
Последнее редактирование:

Vit_ amin

Добрая душа
Сообщения
1,504
Реакции
660
Сделать обозначение бомплейсов - сделал, но что интересно, перепутаны А и Б, не знаю, только у меня так, или так и должно быть.
Интересно, а если будет 3 бомплейс, он каким будет? Нужна карта, у которой есть свой overviews и есть 3 бомплейса, проверить как будет на ней отображаться бомплейс С.
Может быть отсчет начинается с большей id?
Бомблейсы на карте расставляются относительно названия навигационных зон (NavMesh) по которым ходят игроки под управлением ИИ, если на карте отсутствует navigation mesh, тогда первая буква латинского алфавита будут выбрана для первого попавшегося в цикле индекса func_bomb_target
 

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
@Vit_ amin,
C-подобный:
A[id 448]
B[id 447]
Вот такое получается.

Нужна карта с 3 бомб-плейсами, подскажи название карты, если знаешь.
 

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
de_dust2_unlimited - если не ошибаюсь
Нашел эту карту, поиграл на ней.
У неё нет мини-карты, облазил весь интернет - не нашел. Пришлось делать самому.
Карта интересная, но вся косячная, или создатель этой карты так, по дурацки, пытался её защитить от декомпила, или просто .fgd у него какие-то непонятные, в общем карту нужно полностью пере-компилировать, это если по хорошему, нужно удалить брашевые func_smokevolume(не пойму для чего он туману этой этитькой столько наделал), переделать все func_bomb_target.

Короче суть ошибки этой карты такая - координаты бомплейсов не определяются, либо определяются с огромными ошибками, пришлось координаты бомб-плейсов смотреть в хаммере, и просто в кофг. файл карты записать, там где все данные.
de_dust2_unlimited.jpg
Сообщения автоматически склеены:

никак
Обозначаются только А и В.
Отображается как надпись - место закладки С, самой буквы С не пишет.
Откровенная недоработка Вульвы.
de_dust2_unlimited_С.jpg

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

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,982
я имел в виду именно отображение плента на мини-карте
 

Похожие темы

Ответы
9
Просмотры
Сверху Снизу