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

Search | Снег | Conference rules | Album | Register | Pilots list | Profile | Log in to check your private messages | Log in

   Page 9 of 10
Go to page: Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next | All pages
Поиск в этой теме:
Канал Игры Мечты: «L.I.M.A. strace_»
Shirson
 1568 EGP


Модератор
Рейтинг канала: 7(609)
: 217
Posts: 16258
Location: 79°W 44°N
Joined: 29 Jan 2002
БулерМэн wrote:
Как в этом вашем КСП - не знаю, не играл
А тема не про играния, а про реализацию Улыбка

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

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

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

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

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


Рейтинг канала: 5(106)
: 14
Posts: 1392

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


Рейтинг канала: 2(21)
: 71
Posts: 1325
Location: Гороховец
Joined: 07 Feb 2006
Shirson wrote:
Планеты вращаются вокруг своих осей. Неподходит.

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

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

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

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


Модератор
Рейтинг канала: 7(609)
: 217
Posts: 16258
Location: 79°W 44°N
Joined: 29 Jan 2002
БулерМэн wrote:
Shirson wrote:
Планеты вращаются вокруг своих осей. Неподходит.

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

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

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

.____________o_|____O

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

Last edited by Shirson on 18:23 28-06-2017; edited 1 time in total
    Posted: 18:21 28-06-2017   
ТехноМаг
 305 EGP


Рейтинг канала: 1(8)
: 91
Posts: 2431
Location: Кронштадт
Joined: 09 Apr 2007
Ой вей, во нафлудили-то.

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

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

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

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

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

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

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

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

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

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


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

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


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

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

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

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

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

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

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

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

Last edited by ТехноМаг on 18:54 28-06-2017; edited 8 times in total
    Posted: 18:41 28-06-2017   
БулерМэн
 373 EGP


Рейтинг канала: 2(21)
: 71
Posts: 1325
Location: Гороховец
Joined: 07 Feb 2006
ТехноМаг wrote:
в один момент времени может существовать только один экземпляр L0-3

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

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

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

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

Last edited by БулерМэн on 19:19 28-06-2017; edited 1 time in total
    Posted: 19:19 28-06-2017   
ТехноМаг
 305 EGP


Рейтинг канала: 1(8)
: 91
Posts: 2431
Location: Кронштадт
Joined: 09 Apr 2007
Ога, матрёшка.

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

Last edited by ТехноМаг on 20:00 28-06-2017; edited 1 time in total
    Posted: 20:00 28-06-2017   
Sh.Tac.
 140 EGP


Рейтинг канала: 5(106)
: 14
Posts: 1392

Joined: 27 Jul 2005
Shirson wrote:
.____________o_|____O

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

.____________oХ|____O

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


Рейтинг канала: 1(8)
: 91
Posts: 2431
Location: Кронштадт
Joined: 09 Apr 2007
Sh.Tac. wrote:
это пока не найдётся реального объекта который внутри куба, но дальше "уменьшенной проекции"


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

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

Last edited by ТехноМаг on 21:34 28-06-2017; edited 2 times in total
    Posted: 21:33 28-06-2017   
Sh.Tac.
 140 EGP


Рейтинг канала: 5(106)
: 14
Posts: 1392

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


Рейтинг канала: 1(8)
: 91
Posts: 2431
Location: Кронштадт
Joined: 09 Apr 2007
Ох.

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

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

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

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

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

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

Last edited by ТехноМаг on 21:53 28-06-2017; edited 4 times in total
    Posted: 21:51 28-06-2017   
Sh.Tac.
 140 EGP


Рейтинг канала: 5(106)
: 14
Posts: 1392

Joined: 27 Jul 2005
ну там в дальней зоне может z-fighting начаться если мало буфера оставить

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

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

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

Last edited by Sh.Tac. on 22:12 28-06-2017; edited 1 time in total
    Posted: 22:12 28-06-2017   
ТехноМаг
 305 EGP


Рейтинг канала: 1(8)
: 91
Posts: 2431
Location: Кронштадт
Joined: 09 Apr 2007
Он как раз для Translucent.

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


Рейтинг канала: 5(106)
: 14
Posts: 1392

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

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

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


Рейтинг канала: 1(8)
: 91
Posts: 2431
Location: Кронштадт
Joined: 09 Apr 2007
Впрочем, я ему даже пытался ответить.

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


Рейтинг канала: 5(106)
: 14
Posts: 1392

Joined: 27 Jul 2005
не, ну если сделаешь непрерывное пространство может быть и полетать даже будет интересно Улыбка

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


Рейтинг канала: 1(8)
: 91
Posts: 2431
Location: Кронштадт
Joined: 09 Apr 2007
Ну путешествия я планирую в стиле StarTrek. Т.е. включил движки и полетел по прямой. Чтобы развернутся нужно будет сбросить скорость, развернутся и опять поддать газку.

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


Рейтинг канала: 2(21)
: 71
Posts: 1325
Location: Гороховец
Joined: 07 Feb 2006
ТехноМаг wrote:
Ибо хочу некое подобие ATC ввести в населенных мирах (ну и межзвездный перехват Гы-гы )

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


Рейтинг канала: 1(8)
: 91
Posts: 2431
Location: Кронштадт
Joined: 09 Apr 2007
Обязательно, когда баги исправлю.
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."
    Posted: 10:34 01-07-2017   
ТехноМаг
 305 EGP


Рейтинг канала: 1(8)
: 91
Posts: 2431
Location: Кронштадт
Joined: 09 Apr 2007
Хотя нет, не выложу. Соберу видео тогда, когда исправлю баги L1, добавлю временный класс игрока (сейчас пользуюсь дефолтным, что не позволяет развернуть галактику в игровом масштабе]) и включу генерацию L2 (без генерации текстур планет пока что), чтобы показать как это будет выглядеть непосредственно в игре.

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

Last edited by ТехноМаг on 17:52 01-07-2017; edited 1 time in total
    Posted: 17:48 01-07-2017   
Канал Игры Мечты: «L.I.M.A. strace_»
Go to page: Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next | All pages
  
Display posts from previous: 
View previous topic | View next topic |
К списку каналов | Наверх страницы
Цитата не в тему: "Скотный двор" Оруэла. Все звери равны, только некоторые равнее....(Dr. Livesey)

  » L.I.M.A. strace_ |
Каналы: Новости | 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