Elite Games - Свобода среди звезд!
.
  » L.I.M.A. strace_ | страница 9
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 9 из 11
На страницу: Пред.  1, 2, 3 ... 8, 9, 10, 11  След.    Перейти:   Все страницы
Поиск в этой теме:
Канал Игры Мечты: «L.I.M.A. strace_»
Shirson
 1580 EGP


Модератор
Рейтинг канала: 7(626)
Репутация: 217
Сообщения: 16431
Откуда: 79°W 44°N
Зарегистрирован: 29.01.2002
БулерМэн :
Как в этом вашем КСП - не знаю, не играл
А тема не про играния, а про реализацию Улыбка

Цитата:
но предположу, что объекты которые находятся на расстоянии, где они превращаются в один пиксель - можно и не показывать, это и будет граница куба.
Опишу проблему более понятными словами - нужно показывать планеты, которые большие и на границе куба (размер которого ограничен максимальными возможными координатами движка) имеет размер сильно больше одного пикселя.

Цитата:
Если же объект на границе - в пол экрана - то наверное его можно рисовать условным кругом, как например звезду.
А если это планета со своей текстурой? Подмигиваю

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

Цитата:
ЗЫ для наглядности, вспомните как рисовались враги в DOOM, они там всегда смотрят на тебя лицом, как не повернись Гы-гы
Планеты вращаются вокруг своих осей. Неподходит.

Есть ещё идеи? Осталось один шаг сделать Подмигиваю
_________________
У меня бисера не доxеpа.
    Добавлено: 01:18 28-06-2017   
Sh.Tac.
 142 EGP


Рейтинг канала: 5(108)
Репутация: 14
Сообщения: 1410

Зарегистрирован: 27.07.2005
а потом после этого шага убедиться, что в UE4 придётся ещё кучу шагов сделать Хы...
там "искаропки" только Translucent материал работает
_________________
This is what you get ...
(c) Radiohead
    Добавлено: 01:45 28-06-2017   
БулерМэн
 380 EGP


Рейтинг канала: 2(21)
Репутация: 68
Сообщения: 1426
Откуда: Гороховец
Зарегистрирован: 07.02.2006
Shirson :
Планеты вращаются вокруг своих осей. Неподходит.

А что мешает рисовать проекцию объекта на плоскость?
Sh.Tac. :
только Translucent материал работает

То есть там нет маски по альфа-каналу? Рисуем объект "круг" и без прозрачности текстуру на него натягиваем. Предварительно получив эту текстуру из проекции объекта на плоскость. Реализуемо ли это на UE4 - не знаю.

Shirson :
Есть ещё идеи? Осталось один шаг сделать

Идей больше нетУлыбка
    Добавлено: 17:43 28-06-2017   
Shirson
 1580 EGP


Модератор
Рейтинг канала: 7(626)
Репутация: 217
Сообщения: 16431
Откуда: 79°W 44°N
Зарегистрирован: 29.01.2002
БулерМэн :
Shirson :
Планеты вращаются вокруг своих осей. Неподходит.

А что мешает рисовать проекцию объекта на плоскость?
Бритва Оккама? Улыбка

Цитата:
Shirson :
Есть ещё идеи? Осталось один шаг сделать
Идей больше нетУлыбка

Посчитать, какого видимого размера должна быть планета с данной дистанции, уменьшить её соответственно нужной дистанции и вывести внутри куба. Всё Улыбка Практически "бесплатная" (вычислить пропорцию размера от дистанции) реализация.

.____________o_|____O

Наблюдатель "." смотрит на планету "О", которая находится за пределами координатного лимита "|" движка.
Берём планету, пропорционально уменьшаем её, соответственно дистанции, и рисуем "о" в нужном месте внутри куба.
_________________
У меня бисера не доxеpа.

Последний раз редактировалось: Shirson (18:23 28-06-2017), всего редактировалось 1 раз
    Добавлено: 18:21 28-06-2017   
ТехноМаг
 305 EGP


Рейтинг канала: 1(8)
Репутация: 89
Сообщения: 2451
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
Ой вей, во нафлудили-то.

так, попробуемс ответить.

#define WORLD_MAX - да есть там такое, но по факту он меньше. Ибо прыжки с округлением начинаются примерно через 500к юнитов (и собственно чем дальше тем больше округление вплоть до 1)

WorldOridgin, внезапно, двигает матрицу мира и пересчитывает координаты объектов (иначе PhysX некоректно считать начинает). Собсно меняя Origin мы двигаем все объекты в нем, включая и игрока.

Что делать, если надо рисовать объект за кубом?

Очень просто. Там double (но вот двигать вы его там не сможете, ибо там будет приведение к float и округление до 1 Гы-гы ).

"Translucent материал работает" - если правильно расставить Z-Order. Так что нет. Из коробки он не работает

БулерМэн :
о есть там нет маски по альфа-каналу?

Есть. Причем исключающая и/или дополняющая. На ваш выбор.

ADD: Насчет стриминга саблокаций. Есть такая функция в движке, но там есть граничение. Стримминг должен быть одновременно на сервере и на клиенте. Если загрузить локацию на клиенте - будет дисконнект (до 4.15 работало, потом появилась такая малина). Лично я обошел эту штуку через CosmeticActors, которые содержат куски локации и подгружаются когда надо.

добавлено спустя 13 минут:
Shirson :
Наблюдатель "." смотрит на планету "О", которая находится за пределами координатного лимита "|" движка.
Берём планету, пропорционально уменьшаем её, соответственно дистанции, и рисуем "о" в нужном месте внутри куба


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

добавлено спустя 1 минуту:
Sh.Tac. :
кста если ты проксируешь UDP трафик, то хотя бы намекни как оно там происходит


кто сказал, что я проксирую? Вау!

Терь собсно по миру.

Мир состоит из ячеек (локаций/нод, называйте как хотите). Первая нода это собственно галлактика (L1) и гало (L0). Вторая нода - звездная система (L2). Третья - "орбита" (L3). Т.е. пустота, станция, астеройдное поле. В общем любая детализированная, движущаяся по правилам, заданными в L2 сцена.

L0 и L1 загружены всегда, ибо они определяют геометрию мира, расстановку игровых моментов.

L2 загружается только если локальный игрок находится в определенной L1 зоне. И выгружается если игрок эту зону покидает.

L3 Загружается только если локальный игрок находится в определенной L2 зоне. И выгружается если игрок эту зону покидает.

в один момент времени может существовать только один экземпляр L0-3

При этом инстанция не меняется. Она всегда одна. Но меняются правила выборки для реплки NPC и других игроков.
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."

Последний раз редактировалось: ТехноМаг (18:54 28-06-2017), всего редактировалось 8 раз(а)
    Добавлено: 18:41 28-06-2017   
БулерМэн
 380 EGP


Рейтинг канала: 2(21)
Репутация: 68
Сообщения: 1426
Откуда: Гороховец
Зарегистрирован: 07.02.2006
ТехноМаг :
в один момент времени может существовать только один экземпляр L0-3

ТехноМаг :
В общем любая детализированная, движущаяся по правилам, заданными в L2 сцена.

Тогда вопрос, будет ли игрок видеть то, что происходит в неподгруженной локации? Если нет - то объекты, которые будут в соседней локации по логике вещей - должны быть явно небольшого размера, иначе внезапное появление звезды как то придется объяснять удивленной публике Гы-гы
ТехноМаг :
Третья - "орбита" (L3).

Не понял, это матрешка?

добавлено спустя 2 минуты:
Или игроки перемещаются по локациям минуя гигантские расстояния между одной "солнечной системой" и окраиной галактики, где видно только звезды и долететь до них нельзя?

Последний раз редактировалось: БулерМэн (19:19 28-06-2017), всего редактировалось 1 раз
    Добавлено: 19:19 28-06-2017   
ТехноМаг
 305 EGP


Рейтинг канала: 1(8)
Репутация: 89
Сообщения: 2451
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
Ога, матрёшка.

добавлено спустя 31 минуту:
А так. Разумеется не будет. Она же не подгружена Гы-гы . Но эта невидимость объясняется не только размером, но и расстоянием относительно игрока.
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."

Последний раз редактировалось: ТехноМаг (20:00 28-06-2017), всего редактировалось 1 раз
    Добавлено: 20:00 28-06-2017   
Sh.Tac.
 142 EGP


Рейтинг канала: 5(108)
Репутация: 14
Сообщения: 1410

Зарегистрирован: 27.07.2005
Shirson :
.____________o_|____O

это пока не найдётся реального объекта который внутри куба, но дальше "уменьшенной проекции"

.____________oХ|____O

поэтому нужно выключать depth test чтобы проекция всегда была позади, как я уже говорил Translucent единственный кому можно так сделать
 Cкрытый текст   (кликните здесь для просмотра)
для остального придётся познакомиться со всеми стадиями рендеринга чтобы куда-то воткнуть, т.к. там есть осложнение в виде того, что эпики хранят и обратный z-buffer, умельцы вырубают где надо, своё суют в stencil
_________________
This is what you get ...
(c) Radiohead
    Добавлено: 21:02 28-06-2017   
ТехноМаг
 305 EGP


Рейтинг канала: 1(8)
Репутация: 89
Сообщения: 2451
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
Sh.Tac. :
это пока не найдётся реального объекта который внутри куба, но дальше "уменьшенной проекции"


Эта пропорция применяется ко всему окружению. А при достижение определенного Scale и вовсе меняются либо на билборд, либо вообще убираются из рендера, поэтому такой проблемы нет.

Вон, для примера посмотри, как у Дримза в Elite сделано. Или в пионере - там так же
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."

Последний раз редактировалось: ТехноМаг (21:34 28-06-2017), всего редактировалось 2 раз(а)
    Добавлено: 21:33 28-06-2017   
Sh.Tac.
 142 EGP


Рейтинг канала: 5(108)
Репутация: 14
Сообщения: 1410

Зарегистрирован: 27.07.2005
ну и получаются игрушечные планетки, нет? Улыбка
_________________
This is what you get ...
(c) Radiohead
    Добавлено: 21:41 28-06-2017   
ТехноМаг
 305 EGP


Рейтинг канала: 1(8)
Репутация: 89
Сообщения: 2451
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
Ох.

1) Уменьшаешь все примерно раза в два.

2) Определяешь зону вокруг игрока где масштаб будет 1/1 (в Elite это радиус планеты + какой-то там процент).

3) Если объект не находится в радиусе этой зоны считаешь его скейл пропорцией. Если находится, то ничего не считаешь.

PS: тебе больше скажу. Посмотри Dangerous. Там, внезапно, тоже применяется этот принцип (и маскируется как изменение скорости в зависимости от расстояния до "массивного" объекта, а по факту в любой части системы ты летишь с постоянной или почти постоянной скоростью PerUnits).

В Evochron тоже самое (но там немножко криво, поэтому это видно)

добавлено спустя 6 минут:
И да, кстати, DepthTest для Translucent не панацея. Посмотри как оно работает вперемешку с Surface материалами - тебя ждет неприятный сюрприз. И переписывать это то еще удовольствие. Мне щас хватает гемора с тем, чтобы написать каскадный модуль для GPU партиклов, чтобы перетащить туда распределение звезд из материала, ибо выяснил, что точности UV не хватает для сравнительно небольшого кол-ва звезд.
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."

Последний раз редактировалось: ТехноМаг (21:53 28-06-2017), всего редактировалось 4 раз(а)
    Добавлено: 21:51 28-06-2017   
Sh.Tac.
 142 EGP


Рейтинг канала: 5(108)
Репутация: 14
Сообщения: 1410

Зарегистрирован: 27.07.2005
ну там в дальней зоне может z-fighting начаться если мало буфера оставить

в том же OpenGL нет никакой проблемы отрисовать дальнюю зону, очистить z-buffer и так хоть несколько раз, но есть проблема со всем остальным Ой, не могу!..

Translucent фигня, я согласен

добавлено спустя 6 минут:
вообще ещё есть custom depth чтобы не переписывать пол-движка, но я так и не вкурил как его использовать в данном случае
_________________
This is what you get ...
(c) Radiohead

Последний раз редактировалось: Sh.Tac. (22:12 28-06-2017), всего редактировалось 1 раз
    Добавлено: 22:12 28-06-2017   
ТехноМаг
 305 EGP


Рейтинг канала: 1(8)
Репутация: 89
Сообщения: 2451
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
Он как раз для Translucent.

Отключаешь DepthTest и выставляешь Custom. Он будет определять какой из Translucent материалов будет рисоваться первым.
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."
    Добавлено: 22:22 28-06-2017   
Sh.Tac.
 142 EGP


Рейтинг канала: 5(108)
Репутация: 14
Сообщения: 1410

Зарегистрирован: 27.07.2005
а, ну тогда всё наоборот, при отключенном тесте он всегда рисуется перед остальным

так что надо потрошить... ну вернее не надо Улыбка
можно отрисовать гигантское пространство, но есть вопрос более важный, как заполнить это пространство игровым интересом?

впрочем БулерМэн уже спрашивал
_________________
This is what you get ...
(c) Radiohead
    Добавлено: 23:38 28-06-2017   
ТехноМаг
 305 EGP


Рейтинг канала: 1(8)
Репутация: 89
Сообщения: 2451
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
Впрочем, я ему даже пытался ответить.

Нужно наработать ряд базовых правил, по которым контент будет размазываться по карте. Обработать выбранное правило шумом и вуаля - мы получаем на выходе уникальный контент подобный базовому правилу.
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."
    Добавлено: 08:31 29-06-2017   
Sh.Tac.
 142 EGP


Рейтинг канала: 5(108)
Репутация: 14
Сообщения: 1410

Зарегистрирован: 27.07.2005
не, ну если сделаешь непрерывное пространство может быть и полетать даже будет интересно Улыбка

потому как в Элите это мрак, гипер-прыжки разрывают игровой процесс, он дёрганный и неестественный
_________________
This is what you get ...
(c) Radiohead
    Добавлено: 15:49 29-06-2017   
ТехноМаг
 305 EGP


Рейтинг канала: 1(8)
Репутация: 89
Сообщения: 2451
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
Ну путешествия я планирую в стиле StarTrek. Т.е. включил движки и полетел по прямой. Чтобы развернутся нужно будет сбросить скорость, развернутся и опять поддать газку.

Ибо хочу некое подобие ATC ввести в населенных мирах (ну и межзвездный перехват Гы-гы )
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."
    Добавлено: 18:09 29-06-2017   
БулерМэн
 380 EGP


Рейтинг канала: 2(21)
Репутация: 68
Сообщения: 1426
Откуда: Гороховец
Зарегистрирован: 07.02.2006
ТехноМаг :
Ибо хочу некое подобие ATC ввести в населенных мирах (ну и межзвездный перехват Гы-гы )

воу воу, погоди раскрывать все фишки игры, а то уже хочется скриншот с Энтерпрайзом Гы-гы
Видео можешь выложить, как твое творение двигает звездами? Улыбка
    Добавлено: 03:16 01-07-2017   
ТехноМаг
 305 EGP


Рейтинг канала: 1(8)
Репутация: 89
Сообщения: 2451
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
Обязательно, когда баги исправлю.
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."
    Добавлено: 10:34 01-07-2017   
ТехноМаг
 305 EGP


Рейтинг канала: 1(8)
Репутация: 89
Сообщения: 2451
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
Хотя нет, не выложу. Соберу видео тогда, когда исправлю баги L1, добавлю временный класс игрока (сейчас пользуюсь дефолтным, что не позволяет развернуть галактику в игровом масштабе]) и включу генерацию L2 (без генерации текстур планет пока что), чтобы показать как это будет выглядеть непосредственно в игре.

Как только видио будет доступно - можно будет начинать считать дни. Ибо как только я соберу тестовый корабль (из кубиков, или возьму тот крейсер, что я показывал. Пока что не знаю) начнется серия тестов в фокус группе, набранной через дискорд (будет создан сервер). Эти тесты покажут производительность всей системы генерации, зависимости от железа, и стабильность сети. Билды для фокус группы будут выкладываться по мере поступления. Как только появится достаточно контента, фокус группа будет расформирована и начнется публичное тестирование (причем сразу на Windows и на Linux [SteamOS] платформах).
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."

Последний раз редактировалось: ТехноМаг (17:52 01-07-2017), всего редактировалось 1 раз
    Добавлено: 17:48 01-07-2017   
Канал Игры Мечты: «L.I.M.A. strace_»
На страницу: Пред.  1, 2, 3 ... 8, 9, 10, 11  След.    Перейти:   Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Мы же не звери. Сначала зарэжем, потом четвертуем, потом утопим...или сначала утопить? Ну ладно, там разберемся. (Loki)

  » L.I.M.A. strace_ | страница 9
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18