Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Хемисфера в Сталкере, её роль и назначение в движке и при просчёте освещения компилерами
GAMEINATOR forums > S.T.A.L.K.E.R. > Мастерская: создание модов для S.T.A.L.K.E.R.
Trollz0r
Сабж. Кто имеет что сказать?
RayTwitty
RedPython, http://www.gameru.net/forum/index.php?showuser=8246

biggrin.gif

Других идей нет.
Shoкer
Hemi-источники света при компиляции запекаются в лайт-мапу. В игре имеют собстно цвет hemi из текущего конфига погоды. Нужны чтобы имитировать рассеянный свет из окон внутри помещений, т.к работающий Global Illumination ни в один сталкер не завезли.
Ронин
Shoкer, на Р2 и выше работает?
RayTwitty
Цитата(Scarabay @ 06.07.2015, 09:43) *
на Р2 и выше работает?

Да.
http://www.gameru.net/forum/index.php?s=&a...t&p=1458001

В OGSE 0693 вроде тему развили до настройки этого самого хеми прямо в игре.
Trollz0r
Shoкer, ну это мы уже пару лет назад выяснили.

Ваще хотелось бы узнать, как освещение работает изнутри — и реалтайм, и с запечённым в лайтмап. Пока что я знаю только то, что в коде сталкира описан некий объём сферической формы вокруг центра координат, а когда он используется и какие процессы в нём происходят — неясно. Для реалтайма можно предположить некий аналог ибл, для компилеров у меня вообще догадок нет
abramcumner
Цитата(RedPython @ 07.07.2015, 11:56) *
Ваще хотелось бы узнать, как освещение работает изнутри — и реалтайм, и с запечённым в лайтмап.

Что такое "работает"? Все освещение в шейдерах - открываешь и смотришь, как оно работает...

Цитата
Пока что я знаю только то, что в коде сталкира описан некий объём сферической формы вокруг центра координат, а когда он используется и какие процессы в нём происходят — неясно.

Что ты имеешь ввиду? Объемов сферической формы в сталкере навалом.

Если под хеми ты имеешь ввиду хеми из погоды, то ищешь по шейдерам L_hemi_color - оно туда маппируется. Там и будет вся роль хеми в просчете освещения.
Trollz0r
Ох уж это абстрактное "хеми" biggrin.gif под "работает" я имею в виду принцип действия для конечного пользователя. Вот например IBL в Майе с юзерской точки зрения — сцена помещается внутрь сферического источника света, на сферу лепится HDR-текстура или просто процедурная мапа, которая излучает свет на сцену, в итоге получается хорошее или не очень освещение (кишки процесса мне знать не нужно). А что там в сталкире в аналогичной ситуации происходит — для меня _вообще_ непонятно, это чёрный ящик и тайна за семью печатями. Единственная возможная аналогия — xrHemisphere.cpp, в нём понаписано что-то подозрительное. Не мог бы ты растолковать смысл содержимого этого файла и в каких техпроцессах оно используется?
abramcumner
В самом xrHemisphere.cpp просто записаны вершины сферы - больше там ничего нет.

Эти данные используются в движке: на этой сфере рисуется текстура облаков.

В ЛЕ эта сфера используется для источников света типа $hemi - технология полностью соответствует, описанной тобой для майки. Еще используется для просчета LOD-текстур.
Trollz0r
Поправочка: хемисфера — это полусфера smile.gif в принципе для сталкира это логично.
Видео из майи: по координатам из xrHemisphere.cpp создаются локаторы

Скрипт (питон, вставить в редактор скриптов и выполнить):
hemisphere_low.py
Код
import maya.cmds as cmds

verts = [
        [ 0.525730,     0.850655,    -0.000000],
        [ 0.162460,     0.850655,     0.500000],
        [ 0.000000,     1.000000,    -0.000000],
        [-0.425324,     0.850655,     0.309015],
        [-0.425324,     0.850655,    -0.309017],
        [ 0.162460,     0.850655,    -0.500000],
        [ 0.688194,     0.525730,     0.500000],
        [-0.262865,     0.525730,     0.809013],
        [-0.850647,     0.525730,    -0.000001],
        [-0.262865,     0.525730,    -0.809021],
        [ 0.688194,     0.525730,    -0.500000],
        [ 0.894424,     0.447212,    -0.000000],
        [ 0.276394,     0.447212,     0.850647],
        [-0.723610,     0.447212,     0.525730],
        [-0.723610,     0.447212,    -0.525734],
        [ 0.276394,     0.447212,    -0.850655],
        [ 0.951057,     0.000000,     0.309017],
        [ 0.587788,     0.000000,     0.809013],
        [ 0.000000,     0.000000,     1.000000],
        [-0.587784,     0.000000,     0.809013],
        [-0.951057,     0.000000,     0.309015],
        [-0.951057,     0.000000,    -0.309017],
        [-0.587784,     0.000000,    -0.809021],
        [ 0.000000,     0.000000,    -1.000000],
        [ 0.587788,     0.000000,    -0.809013],
        [ 0.951057,     0.000000,    -0.309017]
]

length = len(verts)
i = 0

while i < length:
    cmds.spaceLocator(p=(verts[i]))
    cmds.xform(centerPivots=True)
    cmds.scale(0.01, 0.01, 0.01, relative=True)
    i = i + 1

hemisphere_medium.py
Код
import maya.cmds as cmds

verts = [
        [ 0.273268,     0.961937,    -0.000000],
        [ 0.084444,     0.961937,     0.259892],
        [ 0.000000,     1.000000,    -0.000000],
        [ 0.525730,     0.850655,    -0.000000],
        [ 0.361805,     0.894424,     0.262865],
        [ 0.162460,     0.850655,     0.500000],
        [-0.221077,     0.961937,     0.160622],
        [-0.138196,     0.894424,     0.425324],
        [-0.425324,     0.850655,     0.309015],
        [-0.221077,     0.961937,    -0.160623],
        [-0.447212,     0.894424,    -0.000001],
        [-0.425324,     0.850655,    -0.309017],
        [ 0.084445,     0.961937,    -0.259892],
        [-0.138196,     0.894424,    -0.425327],
        [ 0.162460,     0.850655,    -0.500000],
        [ 0.361805,     0.894424,    -0.262865],
        [ 0.447212,     0.723610,     0.525730],
        [ 0.638195,     0.723610,     0.262865],
        [ 0.688194,     0.525730,     0.500000],
        [-0.361801,     0.723610,     0.587784],
        [-0.052786,     0.723610,     0.688187],
        [-0.262865,     0.525730,     0.809013],
        [-0.670822,     0.723610,    -0.162460],
        [-0.670822,     0.723610,     0.162458],
        [-0.850647,     0.525730,    -0.000001],
        [-0.052786,     0.723610,    -0.688194],
        [-0.361801,     0.723610,    -0.587788],
        [-0.262865,     0.525730,    -0.809021],
        [ 0.638195,     0.723610,    -0.262865],
        [ 0.447212,     0.723610,    -0.525734],
        [ 0.688194,     0.525730,    -0.500000],
        [ 0.738174,     0.674606,    -0.000000],
        [ 0.822617,     0.505722,    -0.259892],
        [ 0.894424,     0.447212,    -0.000000],
        [ 0.822617,     0.505722,     0.259892],
        [ 0.228109,     0.674606,     0.702049],
        [ 0.501377,     0.505722,     0.702049],
        [ 0.276394,     0.447212,     0.850647],
        [ 0.007032,     0.505722,     0.862671],
        [-0.597195,     0.674606,     0.433887],
        [-0.512752,     0.505722,     0.693779],
        [-0.723602,     0.447212,     0.525730],
        [-0.818275,     0.505722,     0.273266],
        [-0.597195,     0.674606,    -0.433887],
        [-0.818275,     0.505722,    -0.273268],
        [-0.723602,     0.447212,    -0.525734],
        [-0.512753,     0.505722,    -0.693779],
        [ 0.228109,     0.674606,    -0.702049],
        [ 0.007032,     0.505722,    -0.862671],
        [ 0.276394,     0.447212,    -0.850655],
        [ 0.501377,     0.505722,    -0.702049],
        [ 0.861801,     0.276394,     0.425323],
        [ 0.959251,     0.232454,     0.160622],
        [ 0.951057,     0.000000,     0.309017],
        [ 0.449184,     0.232454,     0.862671],
        [ 0.670822,     0.276394,     0.688187],
        [ 0.587788,     0.000000,     0.809013],
        [-0.138196,     0.276394,     0.951057],
        [ 0.143665,     0.232454,     0.961937],
        [ 0.000000,     0.000000,     1.000000],
        [-0.681641,     0.232454,     0.693779],
        [-0.447212,     0.276394,     0.850647],
        [-0.587784,     0.000000,     0.809013],
        [-0.947212,     0.276394,     0.162458],
        [-0.870460,     0.232454,     0.433887],
        [-0.951057,     0.000000,     0.309015],
        [-0.870460,     0.232454,    -0.433887],
        [-0.947212,     0.276394,    -0.162460],
        [-0.951057,     0.000000,    -0.309017],
        [-0.447212,     0.276394,    -0.850655],
        [-0.681641,     0.232454,    -0.693779],
        [-0.587784,     0.000000,    -0.809021],
        [ 0.143665,     0.232454,    -0.961937],
        [-0.138196,     0.276394,    -0.951057],
        [ 0.000000,     0.000000,    -1.000000],
        [ 0.670822,     0.276394,    -0.688194],
        [ 0.449188,     0.232454,    -0.862671],
        [ 0.587788,     0.000000,    -0.809013],
        [ 0.959251,     0.232454,    -0.160623],
        [ 0.861801,     0.276394,    -0.425327],
        [ 0.951057,     0.000000,    -0.309017],
        [ 1.000000,     0.000000,    -0.000000],
        [ 0.809021,     0.000000,     0.587784],
        [ 0.309017,     0.000000,     0.951057],
        [-0.309015,     0.000000,     0.951057],
        [-0.809013,     0.000000,     0.587784],
        [-1.000000,     0.000000,    -0.000001],
        [-0.809013,     0.000000,    -0.587788],
        [-0.309015,     0.000000,    -0.951057],
        [ 0.309017,     0.000000,    -0.951057],
        [ 0.809021,     0.000000,    -0.587788]
]

length = len(verts)
i = 0

while i < length:
    cmds.spaceLocator(p=(verts[i]))
    cmds.xform(centerPivots=True)
    cmds.scale(0.01, 0.01, 0.01, relative=True)
    i = i + 1

hemisphere_high.py
Код
import maya.cmds as cmds

verts = [
    [ 0.0000,     0.5000,     0.0000    ],
    [ 0.2629,     0.4253,     0.0000    ],
    [ 0.0812,     0.4253,     0.2500    ],
    [-0.2127,     0.4253,     0.1545    ],
    [-0.2127,     0.4253,    -0.1545    ],
    [ 0.0812,     0.4253,    -0.2500    ],
    [ 0.4472,     0.2236,     0.0000    ],
    [ 0.1382,     0.2236,     0.4253    ],
    [-0.3618,     0.2236,     0.2629    ],
    [-0.3618,     0.2236,    -0.2629    ],
    [ 0.1382,     0.2236,    -0.4253    ],
    [ 0.3441,     0.2629,     0.2500    ],
    [-0.1314,     0.2629,     0.4045    ],
    [-0.4253,     0.2629,    -0.0000    ],
    [-0.1314,     0.2629,    -0.4045    ],
    [ 0.3441,     0.2629,    -0.2500    ],
    [ 0.4755,     0.0000,     0.1545    ],
    [ 0.2939,     0.0000,     0.4045    ],
    [-0.0000,     0.0000,     0.5000    ],
    [-0.2939,     0.0000,     0.4045    ],
    [-0.4755,     0.0000,     0.1545    ],
    [-0.4755,     0.0000,    -0.1545    ],
    [-0.2939,     0.0000,    -0.4045    ],
    [ 0.0000,     0.0000,    -0.5000    ],
    [ 0.2939,     0.0000,    -0.4045    ],
    [ 0.4755,     0.0000,    -0.1545    ],
    [ 0.0917,     0.4915,     0.0000    ],
    [ 0.1804,     0.4663,     0.0000    ],
    [ 0.0283,     0.4915,     0.0872    ],
    [ 0.0557,     0.4663,     0.1715    ],
    [-0.0742,     0.4915,     0.0539    ],
    [-0.1459,     0.4663,     0.1060    ],
    [-0.0742,     0.4915,    -0.0539    ],
    [-0.1459,     0.4663,    -0.1060    ],
    [ 0.0283,     0.4915,    -0.0872    ],
    [ 0.0557,     0.4663,    -0.1715    ],
    [ 0.2106,     0.4448,     0.0884    ],
    [ 0.1492,     0.4448,     0.1730    ],
    [-0.0190,     0.4448,     0.2276    ],
    [-0.1184,     0.4448,     0.1953    ],
    [-0.2224,     0.4448,     0.0523    ],
    [-0.2224,     0.4448,    -0.0523    ],
    [-0.1184,     0.4448,    -0.1953    ],
    [-0.0190,     0.4448,    -0.2276    ],
    [ 0.1492,     0.4448,    -0.1730    ],
    [ 0.2106,     0.4448,    -0.0884    ],
    [ 0.3364,     0.3699,     0.0000    ],
    [ 0.3986,     0.3019,     0.0000    ],
    [ 0.1040,     0.3699,     0.3200    ],
    [ 0.1232,     0.3019,     0.3791    ],
    [-0.2722,     0.3699,     0.1978    ],
    [-0.3225,     0.3019,     0.2343    ],
    [-0.2722,     0.3699,    -0.1978    ],
    [-0.3225,     0.3019,    -0.2343    ],
    [ 0.1040,     0.3699,    -0.3200    ],
    [ 0.1232,     0.3019,    -0.3791    ],
    [ 0.3036,     0.3873,     0.0884    ],
    [ 0.3311,     0.3323,     0.1730    ],
    [ 0.0097,     0.3873,     0.3161    ],
    [-0.0622,     0.3323,     0.3683    ],
    [-0.2976,     0.3873,     0.1069    ],
    [-0.3695,     0.3323,     0.0547    ],
    [-0.1936,     0.3873,    -0.2500    ],
    [-0.1662,     0.3323,    -0.3346    ],
    [ 0.1779,     0.3873,    -0.2614    ],
    [ 0.2668,     0.3323,    -0.2614    ],
    [ 0.3036,     0.3873,    -0.0884    ],
    [ 0.3311,     0.3323,    -0.1730    ],
    [ 0.1779,     0.3873,     0.2614    ],
    [ 0.2668,     0.3323,     0.2614    ],
    [-0.1936,     0.3873,     0.2500    ],
    [-0.1662,     0.3323,     0.3346    ],
    [-0.2976,     0.3873,    -0.1069    ],
    [-0.3695,     0.3323,    -0.0547    ],
    [ 0.0097,     0.3873,    -0.3161    ],
    [-0.0622,     0.3323,    -0.3683    ],
    [ 0.4269,     0.2452,     0.0872    ],
    [ 0.3922,     0.2584,     0.1715    ],
    [ 0.0490,     0.2452,     0.4330    ],
    [-0.0420,     0.2584,     0.4260    ],
    [-0.3967,     0.2452,     0.1804    ],
    [-0.4181,     0.2584,     0.0917    ],
    [-0.2941,     0.2452,    -0.3215    ],
    [-0.2165,     0.2584,    -0.3693    ],
    [ 0.2149,     0.2452,    -0.3791    ],
    [ 0.2843,     0.2584,    -0.3200    ],
    [ 0.3922,     0.2584,    -0.1715    ],
    [ 0.4269,     0.2452,    -0.0872    ],
    [ 0.2843,     0.2584,     0.3200    ],
    [ 0.2149,     0.2452,     0.3791    ],
    [-0.2165,     0.2584,     0.3693    ],
    [-0.2941,     0.2452,     0.3215    ],
    [-0.4181,     0.2584,    -0.0917    ],
    [-0.3967,     0.2452,    -0.1804    ],
    [-0.0420,     0.2584,    -0.4260    ],
    [ 0.0490,     0.2452,    -0.4330    ],
    [ 0.4728,     0.1534,     0.0539    ],
    [ 0.4824,     0.0780,     0.1060    ],
    [ 0.4063,     0.1819,     0.2276    ],
    [ 0.4508,     0.0930,     0.1953    ],
    [ 0.3421,     0.1819,     0.3161    ],
    [ 0.3251,     0.0930,     0.3683    ],
    [ 0.1974,     0.1534,     0.4330    ],
    [ 0.2499,     0.0780,     0.4260    ],
    [ 0.0948,     0.1534,     0.4663    ],
    [ 0.0482,     0.0780,     0.4915    ],
    [-0.0909,     0.1819,     0.4568    ],
    [-0.0465,     0.0930,     0.4891    ],
    [-0.1949,     0.1819,     0.4230    ],
    [-0.2499,     0.0930,     0.4230    ],
    [-0.3508,     0.1534,     0.3215    ],
    [-0.3279,     0.0780,     0.3693    ],
    [-0.4142,     0.1534,     0.2343    ],
    [-0.4526,     0.0780,     0.1978    ],
    [-0.4625,     0.1819,     0.0547    ],
    [-0.4795,     0.0930,     0.1069    ],
    [-0.4625,     0.1819,    -0.0547    ],
    [-0.4795,     0.0930,    -0.1069    ],
    [-0.4142,     0.1534,    -0.2343    ],
    [-0.4526,     0.0780,    -0.1978    ],
    [-0.3508,     0.1534,    -0.3215    ],
    [-0.3279,     0.0780,    -0.3693    ],
    [-0.1949,     0.1819,    -0.4230    ],
    [-0.2499,     0.0930,    -0.4230    ],
    [-0.0909,     0.1819,    -0.4568    ],
    [-0.0465,     0.0930,    -0.4891    ],
    [ 0.0948,     0.1534,    -0.4663    ],
    [ 0.0482,     0.0780,    -0.4915    ],
    [ 0.1974,     0.1534,    -0.4330    ],
    [ 0.2499,     0.0780,    -0.4260    ],
    [ 0.3421,     0.1819,    -0.3161    ],
    [ 0.3251,     0.0930,    -0.3683    ],
    [ 0.4063,     0.1819,    -0.2276    ],
    [ 0.4508,     0.0930,    -0.1953    ],
    [ 0.4728,     0.1534,    -0.0539    ],
    [ 0.4824,     0.0780,    -0.1060    ],
    [ 0.4330,     0.0000,     0.2500    ],
    [ 0.3716,     0.0000,     0.3346    ],
    [ 0.2034,     0.0000,     0.4568    ],
    [ 0.1040,     0.0000,     0.4891    ],
    [-0.1040,     0.0000,     0.4891    ],
    [-0.2034,     0.0000,     0.4568    ],
    [-0.3716,     0.0000,     0.3346    ],
    [-0.4330,     0.0000,     0.2500    ],
    [-0.4973,     0.0000,     0.0523    ],
    [-0.4973,     0.0000,    -0.0523    ],
    [-0.4330,     0.0000,    -0.2500    ],
    [-0.3716,     0.0000,    -0.3346    ],
    [-0.2034,     0.0000,    -0.4568    ],
    [-0.1040,     0.0000,    -0.4891    ],
    [ 0.1040,     0.0000,    -0.4891    ],
    [ 0.2034,     0.0000,    -0.4568    ],
    [ 0.3716,     0.0000,    -0.3346    ],
    [ 0.4330,     0.0000,    -0.2500    ],
    [ 0.4973,     0.0000,    -0.0523    ],
    [ 0.4973,     0.0000,     0.0523    ],
    [ 0.1208,     0.4772,     0.0878    ],
    [-0.0461,     0.4772,     0.1420    ],
    [-0.1493,     0.4772,    -0.0000    ],
    [-0.0461,     0.4772,    -0.1420    ],
    [ 0.1208,     0.4772,    -0.0878    ],
    [ 0.2465,     0.3965,     0.1791    ],
    [-0.0941,     0.3965,     0.2897    ],
    [-0.3047,     0.3965,    -0.0000    ],
    [-0.0941,     0.3965,    -0.2897    ],
    [ 0.2465,     0.3965,    -0.1791    ],
    [ 0.3715,     0.3229,    -0.0881    ],
    [ 0.3715,     0.3229,     0.0881    ],
    [ 0.1986,     0.3229,     0.3261    ],
    [ 0.0310,     0.3229,     0.3805    ],
    [-0.2488,     0.3229,     0.2896    ],
    [-0.3523,     0.3229,     0.1471    ],
    [-0.3523,     0.3229,    -0.1471    ],
    [-0.2488,     0.3229,    -0.2896    ],
    [ 0.0310,     0.3229,    -0.3805    ],
    [ 0.1986,     0.3229,    -0.3261    ],
    [ 0.4476,     0.1707,     0.1433    ],
    [ 0.2746,     0.1707,     0.3814    ],
    [ 0.0020,     0.1707,     0.4700    ],
    [-0.2778,     0.1707,     0.3790    ],
    [-0.4463,     0.1707,     0.1471    ],
    [-0.4463,     0.1707,    -0.1471    ],
    [-0.2778,     0.1707,    -0.3790    ],
    [ 0.0020,     0.1707,    -0.4700    ],
    [ 0.2746,     0.1707,    -0.3814    ],
    [ 0.4476,     0.1707,    -0.1433    ],
    [ 0.4936,     0.0799,     0.0000    ],
    [ 0.3971,     0.0952,     0.2885    ],
    [ 0.1525,     0.0799,     0.4694    ],
    [-0.1517,     0.0952,     0.4668    ],
    [-0.3993,     0.0799,     0.2901    ],
    [-0.4909,     0.0952,    -0.0000    ],
    [-0.3993,     0.0799,    -0.2901    ],
    [-0.1517,     0.0952,    -0.4668    ],
    [ 0.1525,     0.0799,    -0.4694    ],
    [ 0.3971,     0.0952,    -0.2885    ]
]

length = len(verts)
i = 0

while i < length:
    cmds.spaceLocator(p=(verts[i]))
    cmds.xform(centerPivots=True)
    cmds.scale(0.01, 0.01, 0.01, relative=True)
    i = i + 1

А пресет "SUPER HIGH quality" вообще используется в ЛЕ или игре? Там код закомментирован scratch_one-s_head.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.