HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Освещение в Source Engine
разные вопросы, связанные с запечённым освещением
Страницы (22): « 1 2 3 [4] 5 6 7 8 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
ncuxonaT
каков стол, таков и стул

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

Рейтинг



Цитата:
FiEctro писал:
Это тот компилятор что ты адаптировал для хл?
Лайтбекер может запекать освещение для обычных моделей, не преобразуя их в бсп?

Да. Может, он запекает бсп, преобразуя их в обж.

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

Старое сообщение 17-10-2021 22:13
- За что?
FiEctro
Кот Арсис

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

Рейтинг



Цитата:
ncuxonaT писал:
Да. Может, он запекает бсп, преобразуя их в обж.


Где можно пощупать версию для обж? Без халфовских форматов.

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

Старое сообщение 17-10-2021 22:21
- За что?
ncuxonaT
каков стол, таков и стул

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

Рейтинг



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

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

Старое сообщение 18-10-2021 01:39
- За что?
FiEctro
Кот Арсис

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

Рейтинг



Цитата:
ncuxonaT писал:
Нет версии, пригодной для использования конечным пользователем. Я не придумал, каким должен быть интерфейс.


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

Добавлено 18-10-2021 в 10:02:

Вот в плане интерфейса можно что то вроде такого. Большинство запекальщиков (блендер, юнити, анрил), строятся примерно по такому способу.
https://a.radikal.ru/a13/2110/91/85dddefed167.png

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

Старое сообщение 18-10-2021 07:02
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Объясните мне вот какую вещь интересную. Формат obj не предполагает хранение номера страницы атласа лайтмапы. Может быть в ase еще кастомную строку можно вписать и самостоятельно её парсить, но в obj такое не приветствуется. Из чего логически вытекает, что на каждую модель может быть только одна страница атласа. Но модели бывают разные.
Вот возьму я скажем ЧАЭС из сталкера одним obj. И как мне все её полигоны уместить в одну страницу лайтмапы? ДА НЕ КАК.
И что делать?

Добавлено 18-10-2021 в 10:11:

В NT для промежуточного формата я рассчитываю атлас не для конкретной страницы, а в абсолютном пространстве, без соотношения к люкселю.
Т.е. координаты UV для атласа находятся в юнитах и сами эти бесшовные куски могут пересекаться друг с другом как угодно по этим координатам.
Главное чтобы кусок не пересекался сам с собой. Ну а дальше я просто умножаю эти координаты в юнитах на (1.0 / lightmapSampleSize) и получаю желаемый масштаб лайтмапы, который выставил пользователь. И вот же в таком виде фильтрую в реальные страницы атласа, которые генерирует компилятор. В ту же тему и генерация лайтмап для инстанс-моделей, но там еще более хитро сделано. Там сперва считается мини-атлас для отдельно взятой модели, как бы в локальном пространстве. И получается нечто вроде мини-странички, для которой в реальной лайтмапе целиком выделяется место. А в структуре инстанс-моделей есть двухмерный оффсет в странице, а сами UV естественно используются одни и те же.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 18-10-2021 07:11
-
FiEctro
Кот Арсис

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

Рейтинг



Цитата:
Дядя Миша писал:
Объясните мне вот какую вещь интересную. Формат obj не предполагает хранение номера страницы атласа лайтмапы. Может быть в ase еще кастомную строку можно вписать и самостоятельно её парсить, но в obj такое не приветствуется. Из чего логически вытекает, что на каждую модель может быть только одна страница атласа. Но модели бывают разные.
Вот возьму я скажем ЧАЭС из сталкера одним obj. И как мне все её полигоны уместить в одну страницу лайтмапы? ДА НЕ КАК.
И что делать?


Насчёт .obj не знаю. Но вообще развёрток может быть огромное количество, и они могут перекрывать друг друга, например если ты захочешь сделать минилайтмапу для лайтстилей. И эти атласы это теже самые развертки которыми спамит классический бсп, и соответственно вместо нормальной развертки там 1 полигон = 1 лайтмапа (хоть и очень маленькая), во всяком случае так экспортирует крафти, но как ты писал что это не всегда так.

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

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

У меня буквально была идея запечь анимацию из лайтмап, и с интерполяцией в шейдере её проигрывать путем смены материалов. Можно так впихнуть бесконечное количество лайтстилей. Один вопрос только - нафига? если в юнити и так есть динамические источники.

Отредактировано FiEctro 18-10-2021 в 09:26

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

Старое сообщение 18-10-2021 09:08
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
FiEctro писал:
Сам посуди, зачем каждый раз пересчитывать освещение абсолютно на всей карте, если ты хочешь отредактировать маленький кусочек?

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

Цитата:
FiEctro писал:
но ты например можешь взять меш только террейна и запечь лайтмапу только для террейна.

Так я же и говорю, что у меня единый меш. Мне что его разбивать на составляющие вручную?

Цитата:
FiEctro писал:
Можно так впихнуть бесконечное количество лайтстилей

Нельзя. Ты эти лайтстили запечёшь, ну допустим в мультислойную текстуру.
И сколько такая текстура будет весить? Гигабайт?
Абсолютно любая задача в программировании упирается либо в память, либо в процессорное время.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 18-10-2021 10:34
-
FiEctro
Кот Арсис

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

Рейтинг



Цитата:
Дядя Миша писал:
Нельзя. Ты эти лайтстили запечёшь, ну допустим в мультислойную текстуру.
И сколько такая текстура будет весить? Гигабайт?
Абсолютно любая задача в программировании упирается либо в память, либо в процессорное время.


Ничего не упрётся, просто меняешь сам материал и всё. Никаких мультислойных текстур. И 2 лайтстиля на материал для интерполяции, тебя же не просят запекать абсолютно каждый кадр, 6-12 лайтстилей хватит чтобы вращать тоже солнышко и это твои слова, ты сам это говорил. Если предположить что у нас солнышко одноцветное как и GI можно вообще всё в 1 шейдер утолкать.

Но по факту 1 текстура - материал. Если уж совсем в край упороться - проецировать видеоролик через шейдер.

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

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


У меня обратная проблема при конвертации из БСП, там ещё эти тджунки дуратские. Да и лайтмапу из кусочков я не знаю как клеить.

Отредактировано FiEctro 18-10-2021 в 13:15

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

Старое сообщение 18-10-2021 12:59
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
FiEctro писал:
6-12 лайтстилей хватит чтобы вращать тоже солнышко и это твои слова, ты сам это говорил.

Да хватит, но уже не актуально, скажем так.

Цитата:
FiEctro писал:
Ничего не упрётся, просто меняешь сам материал и всё

Если у тебя карта не игрушечная, сколько места лайтмапы займут?

Цитата:
FiEctro писал:
там ещё эти тджунки дуратские.

Здрасти-приехали. T-Junc везде нужны, не только для брашей. В брашах просто ситуации когда они нужны регулярно возникают, если моделировать треугольниками, то намного реже.
Цитата:
FiEctro писал:
Да и лайтмапу из кусочков я не знаю как клеить.

Куда клеить?

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 18-10-2021 13:22
-
FiEctro
Кот Арсис

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

Рейтинг



Цитата:
Дядя Миша писал:
Если у тебя карта не игрушечная, сколько места лайтмапы займут?


Карта в стиле даста 2 или инферно вполне умещается на ргб 1024х1024, можно и побольше. Не забывай, мне не нужно сверчеткое качество лайтмапы, ибо тени можно получить шадоумапами теми же. Задача лайтмапы это в основном индирект и GI.

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


Ну вот чтобы как у Психопата единый атлас получился.

Отредактировано FiEctro 18-10-2021 в 13:32

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

Старое сообщение 18-10-2021 13:30
- За что?
ncuxonaT
каков стол, таков и стул

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

Рейтинг



FiEctro вообще я думал про наглядный интерфейс с визуализацией, чтобы можно было расставить источники света. Потому что обж их не поддерживает.

Дядя Миша в obj у uvw 3 координаты, номер атласа можно задавать через w. Но в чем проблема уместить все полигоны в одну страницу?

Цитата:
Дядя Миша писал:
T-Junc везде нужны, не только для брашей.

За тжунки в приличном обществе бьют лицо.
Цитата:
FiEctro писал:
У меня обратная проблема при конвертации из БСП, там ещё эти тджунки дуратские. Да и лайтмапу из кусочков я не знаю как клеить.

С бспшным лайтбейкером шла утилита для конвертации из бсп в обж, она клеила лайтмапу из кусочков.

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

Старое сообщение 18-10-2021 13:43
- За что?
FiEctro
Кот Арсис

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

Рейтинг



Цитата:
ncuxonaT писал:
FiEctro вообще я думал про наглядный интерфейс с визуализацией, чтобы можно было расставить источники света. Потому что обж их не поддерживает.


Да лучше уж тогда .fbx или .blend парсить. Они вроде как сохраняют источники света, во всяком случае юнити пытается их воспроизвести у себя на сцене. А там можно преобразовать и в обж, и во всё что угодно.

Отредактировано FiEctro 18-10-2021 в 14:01

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

Старое сообщение 18-10-2021 13:57
- За что?
ncuxonaT
каков стол, таков и стул

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

Рейтинг



FiEctro оба формата слишком сложные.
При конвертации из бсп в обж я дописывал в него дополнительную инфу в виде комментариев. Типа
#lights_start
#direct 932 220 -4 0.078431 0.078431 0.078431 -15 90 0 5 0 0
#omni 324 512 -1344 0.516724 0.516724 0.784314 0 0 0 0 0 0
#lights_end
Насколько затруднительно научить блендер такое дописывать?

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

Старое сообщение 18-10-2021 14:20
- За что?
FiEctro
Кот Арсис

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

Рейтинг



>> Насколько затруднительно научить блендер такое дописывать?

Хз, я в питоне не шарю. Но думаю такое возможно.
Например что то вроде этого:
https://github.com/sobotka/blender-...fter_effects.py

C++ Source Code:
1
#target AfterEffects
2
 
3
/**************************************
4
Scene : Scene
5
Resolution : 1920 x 1080
6
Duration : 10.416667
7
FPS : 24.000000
8
Date : 2021-10-18 18:37:05.530400
9
Exported with io_export_after_effects.py
10
**************************************/
11
 
12
 
13
 
14
function compFromBlender(){
15
 
16
  var compName = prompt("Blender Comp's Name \nEnter Name of newly created Composition","BlendComp","Composition's Name");
17
  if (compName){
18
    var newComp = app.project.items.addComp(compName, 1920, 1080, 1.000000, 10.416667, 24.000000);
19
    newComp.displayStartTime = 0.083333;
20
 
21
 
22
    // **************  CAMERA 3D MARKERS  **************
23
 
24
 
25
    // **************  OBJECTS  **************
26
 
27
    var _Cube = newComp.layers.addNull();
28
    _Cube.threeDLayer = true;
29
    _Cube.source.name = "_Cube";
30
    _Cube.property("position").setValue([960.000000,540.000000,0.000000],);
31
    _Cube.property("orientation").setValue([-90.000000,-0.000000,0.000000],);
32
    _Cube.property("scale").setValue([100.000000,100.000000,100.000000],);
33
 
34
 
35
    // **************  SOLIDS  **************
36
 
37
 
38
    // **************  IMAGES  **************
39
 
40
 
41
    // **************  LIGHTS  **************
42
 
43
    var POINT_Light = newComp.layers.addLight("POINT_Light", [0.0, 0.0]);
44
    POINT_Light.autoOrient = AutoOrientType.NO_AUTO_ORIENT;
45
    POINT_Light.property("position").setValue([8786.391113,-10795.415039,1930.471558],);
46
    POINT_Light.property("orientation").setValue([-105.366619,-34.499094,-110.666823],);
47
    POINT_Light.property("intensity").setValue([100000.000000],);
48
    POINT_Light.property("Color").setValue([1.000000,1.000000,1.000000],);
49
 
50
    var POINT_Point = newComp.layers.addLight("POINT_Point", [0.0, 0.0]);
51
    POINT_Point.autoOrient = AutoOrientType.NO_AUTO_ORIENT;
52
    POINT_Point.property("position").setValue([-6525.077637,-5859.921387,-9057.288086],);
53
    POINT_Point.property("orientation").setValue([-90.000000,-0.000000,0.000000],);
54
    POINT_Point.property("intensity").setValue([1000.000000],);
55
    POINT_Point.property("Color").setValue([1.000000,1.000000,1.000000],);
56
 
57
    var SUN_Sun = newComp.layers.addLight("SUN_Sun", [0.0, 0.0]);
58
    SUN_Sun.autoOrient = AutoOrientType.NO_AUTO_ORIENT;
59
    SUN_Sun.property("position").setValue([-3933.934570,-9684.547852,1523.843506],);
60
    SUN_Sun.property("orientation").setValue([-90.000000,-0.000000,0.000000],);
61
    SUN_Sun.property("intensity").setValue([100.000000],);
62
    SUN_Sun.property("Color").setValue([1.000000,0.060095,0.145128],);
63
 
64
 
65
    // **************  CAMERAS  **************
66
 
67
    var _Camera = newComp.layers.addCamera("_Camera",[0,0]);
68
    _Camera.autoOrient = AutoOrientType.NO_AUTO_ORIENT;
69
    _Camera.property("position").setValue([15089.071289,-8979.953125,-13297.518555],);
70
    _Camera.property("orientation").setValue([-35.941983,-40.659187,-25.284997],);
71
    _Camera.property("zoom").setValue(2666.666667,);
72
 
73
 
74
 
75
  }else{alert ("Exit Import Blender animation data \nNo Comp name has been chosen","EXIT")};}
76
 
77
 
78
  app.beginUndoGroup("Import Blender animation data");
79
  compFromBlender();
80
  app.endUndoGroup();



Можно в блендере фигачить энтити как в хамере.

Отредактировано FiEctro 18-10-2021 в 15:38

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

Старое сообщение 18-10-2021 15:23
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
FiEctro писал:
Ну вот чтобы как у Психопата единый атлас получился.

Ну есть стандартные функции набивания атласов.
Цитата:
ncuxonaT писал:
Но в чем проблема уместить все полигоны в одну страницу?

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

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 18-10-2021 15:35
-
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 12:59. Новая тема    Ответить
Страницы (22): « 1 2 3 [4] 5 6 7 8 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Освещение в Source Engine
разные вопросы, связанные с запечённым освещением
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024