|
|
|
Канал Игры Мечты: «L.I.M.A. strace_» |
|
|
ТехноМаг
360 EGP
     Рейтинг канала: 2(19) Репутация: 93 Сообщения: 2516 Откуда: Кронштадт Зарегистрирован: 09.04.2007
 |
|
Все таки не удержался. Вот видео (снималось для документации бага, для исправления которого я сейчас пищу дополнительные каскадные модули для системы частиц отвечающей за визуализацию L1 генератора)
https://youtu.be/L07smX_Fs9k
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей." |
|
|
БулерМэн
420 EGP
   Рейтинг канала: 2(21) Репутация: 68 Сообщения: 1580 Откуда: Гороховец Зарегистрирован: 07.02.2006
 |
|
ТехноМаг : |
Все таки не удержался
|
С точки зрения популяризации своего творения - вполне оправданное действие Пошевелить надо.
А баг в том, что звезды пропадают и мерцают?
|
|
|
ТехноМаг
360 EGP
     Рейтинг канала: 2(19) Репутация: 93 Сообщения: 2516 Откуда: Кронштадт Зарегистрирован: 09.04.2007
 |
|
БулерМэн : |
А баг в том, что звезды пропадают и мерцают?
|
Да, именно. В данной версии я устанавливаю звезды через шейдер (нода WorldOffset) с помощью текстуры формата A32R32G32B32. Проба для позиционирования звезды (и ее температуры) берется из UV {0..1}. Тупо не хватает точности, и в результате на одну звезду прилетает то одно значение, то другое. Поэтому и прыгают. Сейчас пишу каскадный модуль для переноса всего этого дела с шейдера на код. Рисоваться они все равно будут на GPU, но пробы будут браться из классического массива в ОЗУ, что решит проблему с точностью.
Выглядит это пока вот так:
Здесь data - это ссылка на внешний управляющий Blueprint, который в свою очередь дергает классы генератора. Это пока тестовая версия. Смотрю проседания по памяти (вот на данном этапе есть утечка - на GPU выделяется памяти X2. Видно, что рисует 200к спрайтов, но памяти выделил на 400к [пока не понял почему])
Вот так и живем... Шаг вперед, два назад, чутка потрясти задницей.
Ну а по поводу того, что галактика голубая - я пока не встроил диаграмму Герцшпрунга — Рассела. Температура берется грубо из потока случайных чисел (вроде уже писал об этом)
добавлено спустя 33 минуты:
И, к слову, этот новый подход открывает интересные возможности.
Например мы сможем в некий момент времени взорвать любую звезду, или дорисовать новые. И при этом не нужно будет тратить время на перерисовку текстуры (а занимает это очень много времени).
Делать такое, я конечно, не буду сейчас, да и в обозримом будущем эта фича маловероятна, ибо придется держать галактику постоянно синхронизированной с сервером (т.е. гонять массив в несколько мегабайт туда сюда несколько раз в секунду. Сейчас, к слову, синхронизируется только сид галактики. А это всего 4 байта). Но возможность появления этого функционала не нулевая.
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."
Последний раз редактировалось: ТехноМаг (00:01 17-07-2017), всего редактировалось 6 раз(а) |
|
|
БулерМэн
420 EGP
   Рейтинг канала: 2(21) Репутация: 68 Сообщения: 1580 Откуда: Гороховец Зарегистрирован: 07.02.2006
 |
|
ТехноМаг : |
Тупо не хватает точности, и в результате на одну звезду прилетает то одно значение, то другое.
|
UV 0.125 * 10000 = 1250 ?
Умножение/деление в местах, где не хватает точности
добавлено спустя 1 минуту:
только не говори, что у тебя карта размером 100000*100000 пикселей и не хватает размера double float
Последний раз редактировалось: БулерМэн (02:04 17-07-2017), всего редактировалось 3 раз(а) |
|
|
ТехноМаг
360 EGP
     Рейтинг канала: 2(19) Репутация: 93 Сообщения: 2516 Откуда: Кронштадт Зарегистрирован: 09.04.2007
 |
|
БулерМэн : |
Умножение/деление в местах, где не хватает точности
|
Ты там что умножать хочешь? Текстурные координаты? Это как бэ вход. Низя.
БулерМэн : |
только не говори, что у тебя карта размером 100000*100000 пикселей и не хватает размера double float
|
Зачем такие числа? Корень квадратный из кол-ва звёзд по ширине и высоте. Там порядком 128 точек получается. А точности уже не хватает. ]
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."
Последний раз редактировалось: ТехноМаг (10:56 17-07-2017), всего редактировалось 3 раз(а) |
|
|
ТехноМаг
360 EGP
     Рейтинг канала: 2(19) Репутация: 93 Сообщения: 2516 Откуда: Кронштадт Зарегистрирован: 09.04.2007
 |
|
Смотри. Вот примерно как сделано у меня.
И результат конкретно по этому материалу и текстуре. Видно, что как минимум 4 точки дают погрешность
Другие варианты в UE4 особо не работают. Либо выдают ерись, либо еще большие приближенные значения, а значит больше звезд выдают артифакты.
В любом случае, округления и фрактал дают на выходе о себе знать. И от них крайне желательно отказаться.
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."
Последний раз редактировалось: ТехноМаг (11:02 17-07-2017), всего редактировалось 1 раз |
|
|
БулерМэн
420 EGP
   Рейтинг канала: 2(21) Репутация: 68 Сообщения: 1580 Откуда: Гороховец Зарегистрирован: 07.02.2006
 |
|
ТехноМаг : |
Вот примерно как сделано у меня.
|
не очень понятно, что это такое, где начало, где конец...
ТехноМаг : |
Там порядком 128 точек получается.
|
Если у тебя квадрат 128*128 и каждый пиксель этой текстуры это отдельный тип звезды (цвет?) и ты при всем этом используешь floor, округление в меньшую сторону - и результат у тебя должен быть в меньшую сторону к целому числу.
Может у тебя где-то не целое число закралось?
добавлено спустя 7 минут:
зачем тебе делать frac? Для чего-то у тебя разделение целой части и дробной происходит.
Последний раз редактировалось: БулерМэн (18:12 17-07-2017), всего редактировалось 1 раз |
|
|
ТехноМаг
360 EGP
     Рейтинг канала: 2(19) Репутация: 93 Сообщения: 2516 Откуда: Кронштадт Зарегистрирован: 09.04.2007
 |
|
БулерМэн : |
не очень понятно, что это такое, где начало, где конец...
|
Слева направо. Начинать с ParticlePosition
это блюпринт материала, который собственно расставляет точки.
БулерМэн : |
Может у тебя где-то не целое число закралось?
|
На входе (ParticlePosition) идет float3. Y и Z отбрасываются; X всегда целый по условию.
Но опять же, не суть. От этого метода необходимо и нужно избавляться.
добавлено спустя 2 минуты:
И да. Это не мой код. Это пример, который я привел как иллюстрацию метода. Взят отсюда: ссылка
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."
Последний раз редактировалось: ТехноМаг (18:15 17-07-2017), всего редактировалось 1 раз |
|
|
ТехноМаг
360 EGP
     Рейтинг канала: 2(19) Репутация: 93 Сообщения: 2516 Откуда: Кронштадт Зарегистрирован: 09.04.2007
 |
|
Извиняюсь, что долго нет обновлений. Лежу в больнице.
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей." |
|
|
БулерМэн
420 EGP
   Рейтинг канала: 2(21) Репутация: 68 Сообщения: 1580 Откуда: Гороховец Зарегистрирован: 07.02.2006
 |
|
ТехноМаг : |
Лежу в больнице.
|
Хотел пошевелить тему... Поправляйся
|
|
|
ТехноМаг
360 EGP
     Рейтинг канала: 2(19) Репутация: 93 Сообщения: 2516 Откуда: Кронштадт Зарегистрирован: 09.04.2007
 |
|
В общем я вроде отошел
В ближайшее время доделаю генератор галактики, и параллельно займусь конструктором кораблей (или как его обозвал один из дискордовцев "лего в пластилине").
Пока задумка только на бумаге, но суть проста:
1) Все что внутри - выставляем кубиками
2) Обшивку рисуем методом лофта (т.е. по сплайнам)
3) Все что снаружи моделями.
Суть метода (кликните здесь для просмотра)
|
либо есть еще второй вариант место лофта. На плейн натянуть кости на манер Британского флага. Пока думаю, что даст лучший вариант.
Почему все-таки конструктор: По двум причинам
1) Рисуются корабли слишком долго (даже по моим меркам долго )
2) С учетом введения фичи межгалактических (читай меж серверных) путешествий - контент будет слишком однообразный.
Конструктор должен решить сразу обе проблемы.
Разумеется он будет достаточно простым, дабы НЕ перетягивать на себя фокус геймплея, но я также не хочу, чтобы корабли небыли, как это сейчас модно, кубически-кубическими. Душа требует плавных линий.
Скрины, как всегда Comming Soon (tm)
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."
Последний раз редактировалось: ТехноМаг (23:07 16-10-2017), всего редактировалось 5 раз(а) |
|
|
БулерМэн
420 EGP
   Рейтинг канала: 2(21) Репутация: 68 Сообщения: 1580 Откуда: Гороховец Зарегистрирован: 07.02.2006
 |
|
ТехноМаг : |
На плейн натянуть кости на манер Британского флага. Пока думаю, что даст лучший вариант.
|
Техномаг, запили Doom Quake внутри корабля Душа требует шутера от первого лица, ну или от третьего
Последний раз редактировалось: БулерМэн (02:27 17-10-2017), всего редактировалось 1 раз |
|
|
ТехноМаг
360 EGP
     Рейтинг канала: 2(19) Репутация: 93 Сообщения: 2516 Откуда: Кронштадт Зарегистрирован: 09.04.2007
 |
|
А с кем ты воевать собрался-то?
Не, бродилка была в планах, но пока отложена на хз какой срок. А может и вообще делать не буду. Итак с моей производительностью это все идёт крайне медленно.
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей." |
|
|
БулерМэн
420 EGP
   Рейтинг канала: 2(21) Репутация: 68 Сообщения: 1580 Откуда: Гороховец Зарегистрирован: 07.02.2006
 |
|
ТехноМаг : |
А с кем ты воевать собрался-то?
|
Как вариант нападение кремниевой формы жизни, которая может дырявить обшивку и свободно летает в открытом космосе.
Каждому паразиту по инопланетной роже!
А потом оказывается, что летишь летишь, а тут бац и корабль неизвестной расы нашпигованный паразитами и всякой интересной фигней, которую обязательно нужно оторвать и с собой унести
|
|
|
ТехноМаг
360 EGP
     Рейтинг канала: 2(19) Репутация: 93 Сообщения: 2516 Откуда: Кронштадт Зарегистрирован: 09.04.2007
 |
|
Хм. Нашел исходники FFED3D 1.13b (незаконченные). Можно будет взять наработки Дримза по генератору планет (он достаточно няшный получился у него)
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей." |
|
|
БулерМэн
420 EGP
   Рейтинг канала: 2(21) Репутация: 68 Сообщения: 1580 Откуда: Гороховец Зарегистрирован: 07.02.2006
 |
|
ТехноМаг : |
наработки Дримза по генератору планет
|
планеты в натуральную величину или как в X-tension?
|
|
|
ТехноМаг
360 EGP
     Рейтинг канала: 2(19) Репутация: 93 Сообщения: 2516 Откуда: Кронштадт Зарегистрирован: 09.04.2007
 |
|
БулерМэн : |
планеты в натуральную величину или как в X-tension?
|
откуда ты знаешь какой размер для планет "натуральный" ?
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей." |
|
|
БулерМэн
420 EGP
   Рейтинг канала: 2(21) Репутация: 68 Сообщения: 1580 Откуда: Гороховец Зарегистрирован: 07.02.2006
 |
|
Например, если у космического объекта есть атмосфера из разряженного газа (любого) значит сила тяжести может удерживать газы, следовательно есть некая уникальная среда, которая зависит от массы объекта.
Тут я соглашусь пожалуй, что размер может быть разный.
И вполне возможно, что размер как и другие характеристики объектов не столь важны для игрового процесса. Это скорее вопрос реалистичности картинки.
|
|
|
ТехноМаг
360 EGP
     Рейтинг канала: 2(19) Репутация: 93 Сообщения: 2516 Откуда: Кронштадт Зарегистрирован: 09.04.2007
 |
|
Пришли к мнению, что нужно комбинировать оба способа. Сначала сделать обводку по контуру на автомате, потом разрешить пользователю довести дело ручками до кондиции.
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей." |
|
|
ТехноМаг
360 EGP
     Рейтинг канала: 2(19) Репутация: 93 Сообщения: 2516 Откуда: Кронштадт Зарегистрирован: 09.04.2007
 |
|
Потихоньку идем по пути ED. Сейчас пересобираю серверную часть движка для добавления поддержки нескольких инстанций карт на одном процессе-сервера (процесс много оперативы жрет даже без логики). В будующем скорее всего будет добавлена и мультипроцессорная поддержка, но пока она не нужна, поэтому и не заморачиваюсь.
Генератор L1 доведен до ума. Добавлена нормальный расчет основной последовательности и распределние гигинтов в галактике. На очереди L2 генератор (планеты, кометы и астеройдные пояса).
Правдо пришлось внести небольшое изменение в движок, чтобы исправить один неприятный баг. (как будто-то бы описание можно найти в тут: http://www.elite-games.ru/conference/viewtopic.php?p=3570217#3570217 )
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."
Последний раз редактировалось: ТехноМаг (17:07 23-05-2018), всего редактировалось 2 раз(а) |
|
|
|
|
|
Канал Игры Мечты: «L.I.M.A. strace_» |
|