Столкнулся с проблемой. После перехода с формата карт doom2 на UDMF у меня перестали работать текстуры, которые создал при новом формате в проекте.
Создаю текстуру как и раньше из патчей и леплю её на стену. В редакторе её видно нормально в игре её не видно(дыра в стене получается).
Если кто сталкивался с подобным подскажите в чём дело.
GZDoom 2.1.1
В modeldef попробовать модели прописать "INHERITACTORPITCH" или "INHERITACTORROLL", чтобы модельки наклонять можно было.
Или "PitchOffset" и "RollOffset" прописывать, если это работать не будет.
Должно работать и так и так (только use вместо inherit). Также есть еще и Angleoffset (например для моделей у которых некорректный угол, не соответствующий направлению актора)
В общем вопрос, как через ацс вывести прогресс бар который показывает(конвертирует) дистанцию от игрока до точки?
Вот код.. он не совсем рабочий т.к. я не въеду как это дело нормально написать.
Т.е. полоса работает, если ГГ движется к точке, полоса статус бара растет, но игрок просто проходит на много дальше чем точка что бы прогресс бар дошел до 100%
(Пока что не прописывал что полоса должна уменьшаться если ГГ уходит от точки)
Как я вижу такой статус бар
есть дистанция от ГГ до точки(динамическая!), ее переводим в проценты(допустим дистанция равна 2000, делим 2000/100 = 20) получаем 1 процент от дистанции 20, после в цикле for ждем 20 тиков и двигаем полосу прогрессбара +1.
Проблемы, возможно надо как-то высчитать скорость ГГ с которой он проходит 1% дистанции и уже как-то дальше рассчитывать.. В общем без помощи мне не обойтись =(
Скрытый текст:
script 345 ENTER
{//3 - TID конечной точки
SetHudSize(800, 600, FALSE);SetFont("DBAR");HudMessage(s:"A"; 0, 28, 0, 600.1, 50.1, 0.0);//Фон подложка статусбара
int dist = distance(0, 3);//запоминаем дистанцию от игрока до точки
int OneStep = (dist / 100);// получаем 1% от дистанции(т.е. если ГГ прошел этот 1% дистанции, прогрессбар сдвигается на +1)
int Bmin = 347.1; //полоса пуста
int Bmax = 600.1; //полоса полная, дальше этой координаты полоса не выйдет
while (TRUE)
{
int count = dist;//число дистанции
int Bpos;
int x, y, z, speed;//пробовал хоть как-то связать дистанцию со скоростью.. в общем тут мб и ступор
while (GetActorVelX(0) != 0)//если игрок движется, только тогда статус бар должен прибавляться или уменьшаться
{
x = GetActorVelX(0);
y = GetActorVelY(0);
z = GetActorVelZ(0);
speed = FixedMul(x, x) + FixedMul(y, y) + FixedMul(z, z);\\получили скорость игрока
for (int i = OneStep / (speed << 16); i > 0; i--) {
Delay(1);//ждем допустим 29 тиков, после меняем положение бара
}
dist -= OneStep;//по идее, в цикле выше зависаем на определенное кол. тиков, после отнимаем переменную дистанции
bmin += 1.0;//двигаем полосу статус бара на +1
Delay(1);
SetFont("smallfont");PrintBold(s:"OneStep = ", d:OneStep, s:"\nDistance = ", d:dist, s:"\n\n\nbmin = ", f:bmin, s:"\nspeed = ", d:FixedSqrt(speed));//просто вывод инфы
SetHUDClipRect(603, 50, 800, 200);//За эти пределы, полоса не выйдет! координаты коробки разчитаны на разрешение 800, 600.
SetFont("DBAR2");HudMessage(s:"A"; 0, 27, 0, bmin, 50.1, 0.0);//Фон полосы дистанции, который должен двигаться по X.1 координате.
if(bmin >= bmax) bmin = 600.1;//Что бы полоса не уходила за пределы
Delay(1);
}
SetHUDClipRect(0, 0, 0, 0);
Delay(1);
}
}
вот скрин полосы, где нора это точка.. на скрине ГГ прошел дальше точки, а прогресс бар до сих пор не дошел до 100%
Скрытый текст:
Вот я и думаю что надо как-то к тому скрипту прикрутить скорость, но как -_-
Формула линейного пересчёта по разным координатам (получаем 0..1 из крайних значений и координаты):
крайнее1 = -320 (для примера)
крайнее2 = 640
позиция = 444
Таким образом, значение в прогрессбаре должно быть (позиция-крайнее1)/(крайнее2-крайнее1), т.е. (444-(-320))/(640-(-320)), т.е. 0.795, что примерно отражает ожидаемый результат.
В ацс всё ещё проще записывается — FixedDiv(pos-start, end-start), где pos, start и end соответственно координаты кролика и точек от и до которой надо добраться (по той координате которая у тебя соответствует X по экрану).
Создаю текстуру как и раньше из патчей и леплю её на стену. В редакторе её видно нормально в игре её не видно(дыра в стене получается).
Этот метод сборки текстур из патчей годен только под классику. Нетрудно решить эту проблему в графическом редакторе, собрав в нём такую же текстуру целиком в один файл.
Этот метод сборки текстур из патчей годен только под классику. Нетрудно решить эту проблему в графическом редакторе, собрав в нём такую же текстуру целиком в один файл.
Проблема со всеми видами текстур и собранными из кусков и с цельными.
Ребята простите, наверняка следующие вопросы уже задавали не одну тысячу раз, но я не нашел единого F.A.Q'ка по моддингу, а с форумом еще не разобрался, еще раз простите.
Скрытый текст:
I have autism, please be patient with me
Хочу брать ресурсы из вадов и pk3 для дальнейшей модификации и вставки в свои проекты.
1. Какой программой лучше пользоваться?
2. Есть ли программа с таблицей соответствия спрайта и звука - монстру, текстуры - к какому уровню она принадлежит. Или может есть редактор карт, который весь уровень открывает в 3д, а там уже просто наводишь на объект и смотришь какие спрайты/текстуры/звуки ему принадлежат. А то меня просто ошарашило количество контента, которое я открыл через SLADE 3 в doom.wad, всё вперемешку и ничего не индексировано.
3. Может быть есть какая-нибудь подборка уроков по редактированию спрайтов?
Говорилось сначала про сборные из патчей. Предполагаю тут дело в маркерах, сам с такой проблемой не встречался.
Написал немного не так значит я, не отображаются в игре текстуры любой сборки сделанной при новом формате карт, а в редакторе их видно.
Проблем с маркерами не может быть проверял, маркеры стоят на месте помещая между ними новые патчи текстур(вместе со старыми) новые не работают в игре, а старые созданные мной при старом формате карт работают.
Проверял правильно ли прописываются патчи в pnames и в textures. Всё есть, но дело в том что их редактор видит как положено, а в порте в игре их нет, не отображаются.
Добавлено спустя 5 минут 4 секунды:
aksenov25051989:
Хочу брать ресурсы из вадов и pk3 для дальнейшей модификации и вставки в свои проекты.
1. Какой программой лучше пользоваться?
2. Есть ли программа с таблицей соответствия спрайта и звука - монстру, текстуры - к какому уровню она принадлежит. Или может есть редактор карт, который весь уровень открывает в 3д, а там уже просто наводишь на объект и смотришь какие спрайты/текстуры/звуки ему принадлежат. А то меня просто ошарашило количество контента, которое я открыл через SLADE 3 в doom.wad, всё вперемешку и ничего не индексировано.
3. Может быть есть какая-нибудь подборка уроков по редактированию спрайтов?
Если пользуешся портом GZDoom например, то в папке порта в файле gzdoom.pk3 есть вся интересующая информация по этим вопросам, проблема в том что нужно копаться и разбираться. Я сам когда-то в начале начинал ковырять порт и более менее разобрался что и от куда в doom, просто нужно пробовать.
Я SLADE.3 пользуюсь, мне за глаза хватает.
aksenov25051989 1) SLADE3
2) соответствие спрайтов и "имён звуков" монстру смотреть здесь: https://zdoom.org/wiki/Classes соответствие "имён звуков" файлам в файле SNDINFO в ваде.
текстуры не принадлежат уровню, а используются им. то есть текстура может использоваться на нескольких уровнях. DoomBuilder 2 умеет показывать используемые на уровне текстуры.
у думбилдеров и слейда есть визуальный режим который показывает уровень в 3д.
в вадах всё не совсем вперемешку. все спрайты лежат меду маркерами S_START и S_END. они имеют имя формата NNNNXY где NNNN - ид спрайта, X - кадр анимации, Y - угол. у каждой карты тоже порядок ламп есть. текстуры тоже между своими маркерами лежат. вперемешку только звуки, текстуры интерфейса, палитры и "управляющие файлы". и то они лежат в ваде группами.
Привет! У меня немного не дум оффтоп вопрос, к моделлерам:
Считается ли это хорошим тоном, соединять эджи треугольниками в такой ситуации? или надо делать полноценные квадраты? Понимаю, что все зависит от движка, но просто говорят, что в универсальном случае треугольники плохо, квадраты это правильный подход. Но что-то мне подсказывает что здесь это исключение. Что скажете?
В любом случае квадраты плохо )))
Потому что нативный формат видеокарты это именно треугольники, и те же квадраты конвертируются в треугольники, просто это делается на видеокарте/в драйвере.
Я хз кто тебе втёр дичь про квадраты
Квадраты удобно юзать в конкретных случаях, но в основном с точки зрения моделирования, а не использования в движках.
Zeberpal_98 Там просто в чем смысл смотри
если не ошибаюсь, то практически любой движок видит не квадраты, а треугольники! т.е. ты даешь ему модель с квадратами, он видит все равно треугольники.(да, сам блендер при экспорте в md3 разбивает каждый квадрат на треугольники)
треугольники больше подходят для оптимизации сетки особенно на не органике(т.е. не персонажи)
в случае с квадратами, то при создании персонажа преимущественно лучше использовать онли квадраты всячески избегая треугольников потому что квадраты лучше визуально рендерятся как реалтайм так и просто для статичной картинки
Так же для персонажной анимации лучше квадраты, но есть и редкие исключения, хотя в 2017 вообще можно лепить одни квадраты..
Теперь твой случай, я считаю что да, в таких местах треугольники уместны т.к. используй ты квадраты, представь во сколько раз увеличится поликаунт, причем не оправданно
а вообще если модель для гоззы, не много вредный совет, но все же вообще забей что там да как, хоть из 5и угольников делай т.к. гозза никоим образом не сглаживает модель, т.е. поддержки материала нет и врядли появится
светтень на моделях тоже нет, а если и будет то еще смотря как это будет сделано.
Для примера в блендере нажми alt+Z и ты увидишь как будет смотреться модель в гоззе.. т.е. включается или выключается галочка шеадлесс или как-то так..
Добавлено спустя 42 секунды:
мля я пока писал эту поэму ззузх уже все ответил более коротко
Вау, спасибо парни за развернутый ответ, очень очень помогли! У меня каша по этому поводу была. Алекс, наверное из-за того что я раньше моделил персонажа, по тутору это делалось квадратами, у меня такая путаница и возникла.
Zeberpal_98 Ну вот я же и пишу что важно понимать для чего тебе квадраты и для чего треугольники
т.е. если делаешь модель под рендер ( т.е. на выходе чисто как картинка) там насрать что ты будешь использовать, хоть 10ти угольники лишь бы это выглядело хорошо, но лучше квадраты т.к. на модель действует материал с различными настройками в т.ч. и сглаживание.
Если модель персонаж под современный двиг, лучше квадраты т.к. в современных движках есть сглаживание которое всегдачасто черезжопно работает с треугольниками, а так же при анимации модель из квадратов более лучше\плавнее, тянется, смотрится. (хотя в старых играх делали все из треугольников, но это с целью экономии я думаю)
треугольники уместны там где они не повлияют на внешн. вид модели при рендере статичной картинки или реалтайм в движке, но при этом различными выдрачивателями деталей считается "дурным тоном" использовать треугольники в персонажах, даже если там смело можно лепить треугольник, думаю связано это с тем что на работе у 3дшника есть какойнить упоротый геймдиз или заказчик или еще кто выше стоящий который твердо убежден что должны быть только квадраты.
так же треугольники почти всегда используют при создании 3д контента в стиле "лоуполи" т.к. квадраты смотрятся убого в таком контексте