HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Страницы (241): « Первая ... « 33 34 35 36 [37] 38 39 40 41 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 33

Рейтинг



a1batross а неплохо. Но это атлас нужно рисовать в 2 раза больше, чем текст потом? То, что ты показываешь, - это не кернинг. Вот кернинг: https://ru.wikipedia.org/wiki/%D0%9...%B8%D0%BD%D0%B3

Цитата:
a1batross писал:
Но я открыл случайный user-trash.svg и 16x16 и 64x64

А ты открой 32х32 и 64х64 или 64х64 и 128х128. Картинки будут те же, но поправленные, чтобы всё попадало пиксель в пиксель. Да даже 16х16 и 22х22.

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

Старое сообщение 11-11-2019 00:15
- За что?
a1batross
Житель форума

Дата регистрации: May 2016
Проживает: Москва
Сообщений: 516
Возраст: 26

Рейтинг



ncuxonaT
>Но это атлас нужно рисовать в 2 раза больше, чем текст потом?

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

На самом деле конечно не нужно.

>То, что ты показываешь, - это не кернинг. Вот кернинг:

И в чём потенциальная разница? Ну, я не специалист в типографии, но по-моему мы говорим об одном и том же.
Видишь у меня буквы не разъезжаются, а вот ра-ааньше они разъезжались!

Конечно, всё это автоматически, ничего вручную я не расставлял, только по информации которая доступна в самом TTF файлике.

> А ты открой 32х32 и 64х64 или 64х64 и 128х128. Картинки будут те же, но поправленные, чтобы всё попадало пиксель в пиксель. Да даже 16х16 и 22х22.

Я открыл 128 и 512 иконку LibreOffice. Действительно, 512x512 выглядит лучше, чем 128x128 увеличенный до 512x512. Screenshot.
Но если приглядеться, видно, что в 128x128 убрана детализация, которую никто не увидит в таком разрешении.

В 256 уже, как ты и сказал, попадание пиксель-в-пиксель. Screenshot


Но как это соприксается с моим предложением вообще использовать вектора в HUD? Если у тебя векторная иконка пушки X в 4K будет выглядеть хуже, чем на HD, ты сделаешь отдельную версию для 4К, которая визуально будет приятнее. Но тем не менее, внутренний перфекционист игрока не будет ущемлён из-за того, что ты не подумал о, например, 1680x1050. А если в твою игру поиграет человек через 20 лет с монитором в 16K? Что ему делать, наслаждаться мылом или маленькими иконками?

У самого несколько месяцев назад был 1680x1050 и в некоторых случаях игры не догадывались брать 1080p HUD и брали 720p и была в основном просто мелкота. К счастью, никому мылить HUD в голову не приходит.

Особо богатые буратины на ютубах выкладывают записи игр в 8K, 16K разрешениях. Открыл случайное, GTA 4 в 8K выглядит хорошо. В Half-Life 2 он HUD не показал, но текст очень мелкий. Несмотря на то, что там TTF. Наверное правится в конфигах, не так критично если был бы битмапный.

__________________
Xash3D FWGS форк

Отредактировано a1batross 11-11-2019 в 01:59

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

Старое сообщение 11-11-2019 01:55
- За что?
Crystallize
Житель форума

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

Рейтинг



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

На КСМ ты говорил что затиралку китайца работающую в 3D ты не будешь брать как жрущую память и время но у тебя есть своя которая работает в 2D и она основана на аналогичных механизмах из Сорса. Это было или у меня Мандела?

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

Старое сообщение 11-11-2019 02:21
- За что?
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 33

Рейтинг



Можно наш трёп про шрифты и интерфейсы в отдельную тему перенести, чтобы тут на засорять? Спасибо.

a1batross ты шрифт из атласа рисуешь на экране 1:1 или масштабируешь тоже? Размер квадов и их координаты попадают в экранные пиксели? Отступы и размеры глифов в атласе в целых пикселях или как-то иначе?

Цитата:
a1batross писал:
И в чём потенциальная разница? Ну, я не специалист в типографии, но по-моему мы говорим об одном и том же.

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

Просто хотел сказать, что это не серебряная пуля

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

Старое сообщение 11-11-2019 21:47
- За что?
FiEctro
Кот Арсис

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

Рейтинг



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

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

Отредактировано FiEctro 11-11-2019 в 22:15

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

Старое сообщение 11-11-2019 22:14
- За что?
a1batross
Житель форума

Дата регистрации: May 2016
Проживает: Москва
Сообщений: 516
Возраст: 26

Рейтинг



ncuxonaT > Просто хотел сказать, что это не серебряная пуля

Серебрянных пуль вообще не существует. Разве что не делать HUD вообще.

Если задача сократить себе работу на поддержке разных разрешений, можно вообще сделать его трёхмерным и тогда никакой речи о pixel perfect идти не будет. Это кстати популярно нынче.

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

>ты шрифт из атласа рисуешь на экране 1:1 или масштабируешь тоже

1:1.

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

>Кернинг это вроде дополнения к твоим отступам

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

__________________
Xash3D FWGS форк

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

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

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

Рейтинг



Цитата:
Crystallize писал:
На КСМ ты говорил что затиралку китайца работающую в 3D ты не будешь брать как жрущую память и время но у тебя есть своя которая работает в 2D и она основана на аналогичных механизмах из Сорса.

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

Добавлено 12-11-2019 в 11:40:

Цитата:
FiEctro писал:
всё это битмаповое гамно должен кто то рисовать

Генератор фонтов из TTF.

Добавлено 12-11-2019 в 11:44:

Чтобы не было швов, надо использовать непрерывный атлас где смежные рёбра в 3д являются таковыми и в самом атласе, понятно, что это условие невозможно выполнить в 100% случае, но для углов свыше 50 градусов это и ненужно.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 12-11-2019 08:44
-
FiEctro
Кот Арсис

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

Рейтинг



>> Генератор фонтов из TTF.

Ну найди для первокваки например такой.

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

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

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

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

Рейтинг



Ну вот, теперь и спрайты рисуются

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 12-11-2019 20:31
-
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 4137

Рейтинг



Дядя Миша
Полноцветные?

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

Старое сообщение 12-11-2019 20:53
- За что?
Crystallize
Житель форума

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

Рейтинг



nemyax Ишь!

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

Старое сообщение 13-11-2019 03:08
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



nemyax обычные. Форматы менять - хаммер не поймет, как работать будете? Тут нужны предварительные договорённости.

Добавлено 13-11-2019 в 12:31:

Мне еще предстоить сделать mod_skybox, mod_grass и mod_particle.
Формировать какие-то списки отрисовки для каждого типа примитивов бессмысленно - их же рендерер в кадре сортирует. Поэтому абстракция должна выглядеть так. С лучами аналогично, но лучи станут частью mod_sprite.

Добавлено 13-11-2019 в 12:32:

А mod_skybox скорее всего будет отвечать за погоду, ну там дождь, снег, облака, время суток.

Добавлено 13-11-2019 в 12:33:

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

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 13-11-2019 09:33
-
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 4137

Рейтинг



Цитата:
Дядя Миша писал:
как работать будете?

Будем вешать модельку-плашку на резвый танк =)

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

Старое сообщение 13-11-2019 09:35
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



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

Добавлено 13-11-2019 в 12:42:

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

Добавлено 13-11-2019 в 12:52:

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

Добавлено 13-11-2019 в 12:55:

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

Добавлено 13-11-2019 в 12:59:

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

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 13-11-2019 09:59
-
thambs
мразь конченная

Дата регистрации: Mar 2006
Проживает: -
Сообщений: 6417

Рейтинг



Дядя Миша
Соображения есть, но пока не готов расписать, нужно ещё продумать всё. Сначала вопросы:
1. Есть ли в игре возможность явного доступа на чтение к полям энтити, например к таргетнэйму, ориджину и пр.?
2. Если ли возможность явного доступа к полям на запись, если есть, то как они защищены/не защищены?
3. В каком виде сервер сохраняет состояние энтить, как она сериализуется?

__________________
http://www.moddb.com/mods/monorail-quest

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

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



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


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

Временная зона GMT. Текущее время 09:36. Новая тема    Ответить
Страницы (241): « Первая ... « 33 34 35 36 [37] 38 39 40 41 » ... Последняя »   Предыдущая тема   Следующая тема
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