Ru/Source: Difference between revisions
< Ru
Jump to navigation
Jump to search
mNo edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{lang|Source|title=Source|noline=1|noborder=1}} | {{lang|Source|title=Source|noline=1|noborder=1}} | ||
{{GameHierarchy:ru}} | {{GameHierarchy:ru}} | ||
'''Source''' это движок для разработки 3D игр, созданный компанией [[Valve:ru|Valve]], является преемником [[Goldsource:ru|GoldSource]]. Source используется как самой Valve, так и сторонними компаниями. Так же, как и GoldSource, может использоваться для создания различных модификаций от сообщества людей по всему миру. | <span style="color:lightgrey">'''Source'''</span> - это движок для разработки 3D игр, созданный компанией [[Valve:ru|Valve]], является преемником [[Goldsource:ru|GoldSource]]. Source используется как самой Valve, так и сторонними компаниями. Так же, как и GoldSource, движок может использоваться для создания различных модификаций от сообщества людей по всему миру. | ||
[[File:20180823234321 1.jpg|thumbnail|Скриншот из игры Counter-Strike: Source, использующей движок Source.]] | [[File:20180823234321 1.jpg|thumbnail|Скриншот из игры Counter-Strike: Source, использующей движок Source.]] | ||
Line 7: | Line 7: | ||
==[[:Category:Programming:ru|Рендерер]]== | ==[[:Category:Programming:ru|Рендерер]]== | ||
* Версии | * Версии 3.0 (и ниже) [[Shader:ru|шейдеры]] | ||
* [https://ru.wikipedia.org/wiki/Рельефное_текстурирование#Bump_mapping Bump mapping] и [https://ru.wikipedia.org/wiki/Рельефное_текстурирование#Normal_mapping Normal mapping] для моделей и карты | * [https://ru.wikipedia.org/wiki/Рельефное_текстурирование#Bump_mapping Bump mapping] и [https://ru.wikipedia.org/wiki/Рельефное_текстурирование#Normal_mapping Normal mapping] для моделей и карты | ||
* Авторские [[Shader:ru|шейдеры]] на языке [[HLSL:ru|HLSL]] | * Авторские [[Shader:ru|шейдеры]] на языке [[HLSL:ru|HLSL]] | ||
* Отражения с помощью [[Cubemaps:ru|cubemap]] | * Отражения с помощью [[Cubemaps:ru|cubemap]] | ||
** Отражения cubemap также поддерживают анизотропную фильтрацию {{since:ru| | ** Отражения cubemap также поддерживают анизотропную фильтрацию {{since:ru|csgo}} | ||
* Шейдинг моделей с параметром [[$phong:ru|Phong]] | * Шейдинг моделей с параметром [[$phong:ru|Phong]] | ||
** Phong также поддерживается брашами уровней {{since:ru| | ** Phong также поддерживается брашами уровней {{since:ru|csgo}} | ||
* Динамическое освещение, вершинное освещение и [[Lightmap:ru|light maps]], множество типов света, включая мерцание, пульсацию и т.д. | * Динамическое освещение, вершинное освещение и [[Lightmap:ru|light maps]], множество типов света, включая мерцание, пульсацию и т.д. | ||
* [[HDR:ru|HDR]] и LDR освещение | * [[HDR:ru|HDR]] и LDR освещение | ||
* Вода с преломлением света, отражения мира в реальном времени с применением [https://ru.wikipedia.org/wiki/Формулы_Френеля формул Френеля] | * Вода с преломлением света, отражения мира в реальном времени с применением [https://ru.wikipedia.org/wiki/Формулы_Френеля формул Френеля] | ||
** Вода также поддерживает [[Water:ru#Карты_потоков|карты потоков]] {{since:ru| | ** Вода также поддерживает [[Water:ru#Карты_потоков|карты потоков]] {{since:ru|l4d2}} | ||
* Продвинутая [[Particle_System_Overview:ru|система частиц]], испускающая как [[Sprite:ru|спрайты]], так и [[Model:ru|модели]] | * Продвинутая [[Particle_System_Overview:ru|система частиц]], испускающая как [[Sprite:ru|спрайты]], так и [[Model:ru|модели]] | ||
* Проецируемые на текстуру тени, учитывающие большое количество персонажей в сцене | * Проецируемые на текстуру тени, учитывающие большое количество персонажей в сцене | ||
* [[Entity:ru|Энтити]] для блокирования видимости | * [[Entity:ru|Энтити]] для блокирования видимости | ||
* Поддержка открытых/закрытых пространств | * Поддержка открытых/закрытых пространств | ||
** | ** Деформируемые поверхности | ||
** [[3D Skybox:ru|3D Скайбоксы]] создающие более разнообразный горизонт и добавляющие эффект параллакса на удалённых объектах | ** [[3D Skybox:ru|3D Скайбоксы]] создающие более разнообразный горизонт и добавляющие эффект параллакса на удалённых объектах | ||
** Динамически обрабатываемая органика (трава, деревья и т.д.) | ** Динамически обрабатываемая органика (трава, деревья и т.д.) | ||
* Subdivision поверхности, diffuse и specular бамп карты | * Subdivision поверхности, diffuse и specular бамп карты | ||
* Диффузное освещение в реальном времени | * Диффузное освещение в реальном времени | ||
* [http://docs.microsoft.com/ru-ru/windows/win32/dxtecharts/cascaded-shadow-maps Каскадные карты теней] в реальном времени из скайбокса {{since:ru| | * [http://docs.microsoft.com/ru-ru/windows/win32/dxtecharts/cascaded-shadow-maps Каскадные карты теней] в реальном времени из скайбокса {{since:ru|csgo}} | ||
* Некоторый перечень имеющихся эффектов, но не ограничивающиеся ими: частицы, лучи, объёмный дым, искры, кровь, эффекты окружающей среды вроде тумана и дождя | * Некоторый перечень имеющихся эффектов, но не ограничивающиеся ими: частицы, лучи, объёмный дым, искры, кровь, эффекты окружающей среды вроде тумана и дождя | ||
* Масштабируемость | * Масштабируемость | ||
Line 41: | Line 41: | ||
* Поддержка игры по [https://ru.wikipedia.org/wiki/Локальная_вычислительная_сеть локальной] сети и через сеть Интернет | * Поддержка игры по [https://ru.wikipedia.org/wiki/Локальная_вычислительная_сеть локальной] сети и через сеть Интернет | ||
* Анализ прогноза для интерполяции нарушений работы сети | * Анализ прогноза для интерполяции нарушений работы сети | ||
* Оптимизация для соединений 56кб/с с их большими потерями пакетов и высокой задержкой | * Оптимизация для соединений '''56кб/с''' с их большими потерями пакетов и высокой задержкой | ||
==[[:Category:Modeling:ru|Продвинутые персонажи]]== | ==[[:Category:Modeling:ru|Продвинутые персонажи]]== | ||
Line 95: | Line 95: | ||
* '''[[:Category:VGUI:ru|VGUI]]''' - собственный графический пользовательский интерфейс компании Valve, имитирующий большинство элементов управления Windows, но отображаемый средствами движка '''Source''' для внутри- и внеигрового отображения '''UI'''. Некоторые особенности: | * '''[[:Category:VGUI:ru|VGUI]]''' - собственный графический пользовательский интерфейс компании Valve, имитирующий большинство элементов управления Windows, но отображаемый средствами движка '''Source''' для внутри- и внеигрового отображения '''UI'''. Некоторые особенности: | ||
** Динамичное внутриигровое отображение [[HUD_Elements:ru|HUD]] | ** Динамичное внутриигровое отображение [[HUD_Elements:ru|HUD]] | ||
** Различные виджеты/контроллеры (кнопки, отображение в виде древа, html-контроль и т.д.) | ** Различные [https://ru.wikipedia.org/wiki/Элемент_интерфейса виджеты]/контроллеры (кнопки, отображение в виде древа, html-контроль и т.д.) | ||
** Поддержка тем и пользовательской визуализации | ** Поддержка тем и пользовательской визуализации | ||
** Независимость платформы | ** Независимость платформы | ||
Line 136: | Line 136: | ||
==Игры на Source== | ==Игры на Source== | ||
===Valve=== | ===Valve=== | ||
Игры созданные Valve | Игры созданные Valve: | ||
* {{ | *{{Game name|css|suf=:ru|name=Counter-Strike: Source}} | ||
* {{ | *{{Game name|hl2|suf=:ru|name=Half-Life 2}} | ||
* {{ | *{{Game name|hl2dm|suf=:ru|name=Half-Life 2: Deathmatch}} | ||
* {{ | *{{Game name|ep1|suf=:ru|name=Half-Life 2: Episode One}} | ||
* {{ | *{{Game name|ep2|suf=:ru|name=Half-Life 2: Episode Two}} | ||
* {{ | *{{Game name|lostcoast|suf=:ru|name=Half-Life 2: Lost Coast}} | ||
* {{ | *{{Game name|hls|suf=:ru|name=Half-Life: Source}} | ||
* {{HLDMS | *{{Game name|HLDMS|suf=:ru|name=Half-Life Deathmatch: Source}} | ||
* {{Portal}} | *{{Game name|portal|suf=:ru|name=Portal}} | ||
* {{ | *{{Game name|tf2|suf=:ru|name=Team Fortress 2}} | ||
* {{DODS | *{{Game name|DODS|suf=:ru|name=Day of Defeat: Source}} | ||
* {{ | *{{Game name|l4d|suf=:ru|name=Left 4 Dead}} | ||
* {{ | *{{Game name|l4d2|suf=:ru|name=Left 4 Dead 2}} | ||
* {{ | *{{Game name|as|suf=:ru|name=Alien Swarm}} | ||
* {{ | *{{Game name|portal2|suf=:ru|name=Portal 2}} | ||
* {{ | *{{Game name|csgo|suf=:ru|name=Counter-Strike: Global Offensive}} | ||
Полный список игр можно найти [[Valve:ru|здесь]] | |||
===Сторонние=== | ===Сторонние=== | ||
Игры и моды, сделанные сторонними компаниями и командами модмейкеров | Игры и моды, сделанные сторонними компаниями и командами модмейкеров: | ||
* | * [[Apex Legends]] | ||
* {{ | *{{Game name|bms|suf=:ru|name=Black Mesa (Source)}} | ||
* [[Blade Symphony]] | * [[Blade Symphony]] | ||
* | * [[Bloody Good Time]] | ||
* | * [[Consortium]] | ||
* {{ | *{{Game name|con|suf=:ru|name=Contagion}} | ||
* {{ | *{{Game name|dm|suf=:ru|name=Dark Messiah of Might and Magic}} | ||
* | *{{Game name|doi|suf=:ru|name=Day of Infamy}} | ||
* {{ | *{{Game name|Dear Esther|suf=:ru|name=Dear Esther}} | ||
*{{Game name|ddd|suf=:ru|name=Dino D-Day}} | |||
* [[Divinia Chronicles]] | |||
* [[Double Action]] | * [[Double Action]] | ||
* [[ | *{{Game name|eyedc|suf=:ru|name=E.Y.E: Divine Cybermancy}} | ||
* [[Infestus]] | |||
*{{Game name|INFRA|suf=:ru|name=INFRA}} | |||
*{{Game name|insurgency|suf=:ru|name=Insurgency}} | |||
*{{Game name|lw|suf=:ru|name=Lambda Wars}} | |||
*{{Game name|nmrih|suf=:ru|name=No More Room in Hell}} | |||
*{{Game name|nd|suf=:ru|name=Nuclear Dawn}} | |||
* [[Revelations 2012]] | * [[Revelations 2012]] | ||
* [[ | *{{Game name|sin|suf=:ru|name=SiN Episodes}} | ||
* {{ | * [[Tactical Intervention]] | ||
* [[The Beginners Guide]] | |||
*{{Game name|ship|suf=:ru|name=The Ship}} | |||
*{{Game name|tsp|suf=:ru|name=The Stanley Parable}} | |||
* [[Vampire: The Masquerade]] | * [[Vampire: The Masquerade]] | ||
* [[Vindictus]] | * [[Vindictus]] | ||
*{{Game name|zc|suf=:ru|name=Zeno Clash}} | |||
* [[Zombie Panic: Source]] | * [[Zombie Panic: Source]] | ||
[[:Category:Source_mods:ru|Моды на движке Source]] | |||
==Смотрите также== | ==Смотрите также== |
Revision as of 14:33, 11 September 2021
Quake ▶▶ GoldSource ▶▶ Source ▶▶ Source 2
Source - это движок для разработки 3D игр, созданный компанией Valve, является преемником GoldSource. Source используется как самой Valve, так и сторонними компаниями. Так же, как и GoldSource, движок может использоваться для создания различных модификаций от сообщества людей по всему миру.
Рендерер
- Версии 3.0 (и ниже) шейдеры
- Bump mapping и Normal mapping для моделей и карты
- Авторские шейдеры на языке HLSL
- Отражения с помощью cubemap
- Отражения cubemap также поддерживают анизотропную фильтрацию (Во всех играх начиная с csgo)
- Шейдинг моделей с параметром Phong
- Phong также поддерживается брашами уровней (Во всех играх начиная с csgo)
- Динамическое освещение, вершинное освещение и light maps, множество типов света, включая мерцание, пульсацию и т.д.
- HDR и LDR освещение
- Вода с преломлением света, отражения мира в реальном времени с применением формул Френеля
- Вода также поддерживает карты потоков (Во всех играх начиная с l4d2)
- Продвинутая система частиц, испускающая как спрайты, так и модели
- Проецируемые на текстуру тени, учитывающие большое количество персонажей в сцене
- Энтити для блокирования видимости
- Поддержка открытых/закрытых пространств
- Деформируемые поверхности
- 3D Скайбоксы создающие более разнообразный горизонт и добавляющие эффект параллакса на удалённых объектах
- Динамически обрабатываемая органика (трава, деревья и т.д.)
- Subdivision поверхности, diffuse и specular бамп карты
- Диффузное освещение в реальном времени
- Каскадные карты теней в реальном времени из скайбокса (Во всех играх начиная с csgo)
- Некоторый перечень имеющихся эффектов, но не ограничивающиеся ими: частицы, лучи, объёмный дым, искры, кровь, эффекты окружающей среды вроде тумана и дождя
- Масштабируемость
- Поддержка DX8-DX9 (DX6-DX9 с некоторыми изменениями и исправленными функциями шейдеров)
Система материалов
- Взамен традиционных текстур, Source работает с наборами материалов, которые определяют, из чего сделан объект, какая для него нужна текстура. Также определяется, как объект разламывается при разбивании, как он будет звучать при разбивании или волочении по другой поверхности, и какая у него масса и плавучесть. Эта система намного более гибкая по сравнению с любой системой, основанной только на текстурах
- Материалы могут взаимодействовать с объектами или NPC. Например, такие материалы как грязь или снег заставляют машины скользить, терять управление
Сетевой код в Source
- Проверен временем и игроками со всего мира
- Поддержка игры по локальной сети и через сеть Интернет
- Анализ прогноза для интерполяции нарушений работы сети
- Оптимизация для соединений 56кб/с с их большими потерями пакетов и высокой задержкой
Продвинутые персонажи
- Детализованные и правдоподобные персонажи
- Реалистичные глаза
- Фокусируются на игроке/объекте, а не просто параллельно направлены (в никуда)
- Правильное строение глаза, для реалистичного отражения
- Симуляция мускулатуры, обеспечивающая выдающиеся эмоции, речь и язык тела
- Речь, независимая от языка, персонажи могут естественно говорить на многих языках
- Скелетная система анимации
- Многоуровневая система анимации позволяет конструировать сложные анимации из множества частей
Физика
- Мир с более реалистичным взаимодействием
- Звуки и графические эффекты взаимосвязаны с физикой (событиями)
- Персонажи под управлением ИИ адекватно взаимодействуют с физически смоделированными объектами
- Верёвки/кабели, механизмы, расчёт сопротивляемости материалов, моделирование физики тряпичной куклы
- Может задаваться уровнем в зависимости от его конфигурации
- Движения анимируются костями
- Настраиваемые пользователем физические процессы
- Транспорт
- Занос и скольжение колёс
- Реалистичная подвеска с пружинами на каждом колесе
- Реалистичный уклон во время разгона/торможения и поворотов
- Индивидуально настраиваемые параметры - мощность(л.с), передача, максимальная скорость, скорость перемещения, материал шин, сцепление шин с поверхностью, упругость/гашение (демпфирование) вибрация пружины и т.д.
- Одновременно несколько игроков в транспорте в сетевом режиме
- Поддержка воздушной подушки для лёгкой симуляции
Продвинутый ИИ
- Система ввода/вывода позволяет контролировать ИИ в редакторе уровней Hammer
- Усложнённая навигация: персонажи, умеющие бегать, летать, прыгать, приседать, карабкаться по ступенькам и лестницам и зарываться под землю
- ИИ реагирует на окружающую среду, используя зрение, слух, обоняние
- Взаимодействие ИИ определяет статус друг/враг других сущностей
- В бою ИИ, использующий Battle AI, применяет отряды для группового реагирования - когда действовать заранее, отступать, вести огонь под прикрытием и т.д.
Звуковая система
- 7.1, 5.1 системы объёмного звука, поддержка системы из 4-х колонок
- Высококачественный пространственный 3D звук
- Пользовательская обработка плагинами DSP
- Автоматическая DSP обработка, основанная на окружающей геометрии
- ADPCM декомпрессия
- 16-bit 44KHz, стереозвук со всеми функциями
- MP3 декомпрессия (требуется лицензия Miles)
- Поддержка потокового аудио на любой волне
- Склейка wav-файлов в реальном времени
- Готовые эффекты Допплера для кодированных звуков
- Готовые эффекты, отражающие дистанцию для кодированных звуков
- Система комментариев
Пользовательский интерфейс
- Браузер серверов - показывает все активные игровые сервера и позволяет игроку выбрать, на каком из них играть. Игроки могут фильтровать и сортировать списки серверов для ускорения отображения и выбора сервера.
- Friends instant messenger - (На стадии разработки) позволяет игрокам общаться с одним или несколькими друзьями в и вне игры, а также вступать приглашать друзей в игру. Не стоит больше беспокоиться, попадёте ли вы на один сервер, вы легко можете воспользоваться данной функцией. Кнопка Друзья была удалена из игрового меню и перешла в Steam Community в игре ⇧ Shift + Tab ⇆.
- VGUI - собственный графический пользовательский интерфейс компании Valve, имитирующий большинство элементов управления Windows, но отображаемый средствами движка Source для внутри- и внеигрового отображения UI. Некоторые особенности:
Программирование
- Весь код написан на C/C++ с использованием Visual Studio .NET 2003. Лёгкое и быстрое создание новых сущностей из существующих базовых.
- Встроенная система мониторинга производительности
- Система измерения производительности графики, встроенная в движок
- Модульный дизайн кода (через DLL библиотеки) позволяет заменять компоненты кода для лёгкой модернизации или замены
- DX9 шейдеры записаны на языке HLSL.
- Система VScript позволяет использовать на картах внешние языки программирования, такие как Squirrel и Lua, для создания более сложных систем (Во всех играх начиная с
)
Инструменты
- Faceposer
- Инструмент моделирования мимики для создания речи и эмоций
- Valve Hammer Editor
- WYSIWYG Редактор уровней. Работает по системе "Что видишь, то и получишь" (What You See Is What You Get)
- Создание брашей для геометрии мира
- Редактор ландшафта
- Расположение детализированных моделей для уровней и ИИ NPC
- Задание навигационных точек/маршрутов для NPC
- Расположение триггеров, обрезка брашей, логики и т.д.
- Возможность дизайнеру карт управлять вводами/выводами сущностей для контроля ИИ
- Model Viewer
- Studiomdl
- Vbsp, Vrad, Vvis, Vmpi
- Инструменты для компилирования карт (bsp, освещения и видимости)
- VMPI - инструмент для компиляции, позволяющий распределять создание уровней через множество компьютеров, значительно уменьшая время расчёта
- Экспортёры
- XSI, Autodesk 3Ds Max и Autodesk Maya плагины для экспорта моделей в формат "smd"
Игры на Source
Valve
Игры созданные Valve:
- Template:Game name
- Template:Game name
- Template:Game name
- Template:Game name
- Template:Game name
- Template:Game name
- Template:Game name
- Template:Game name
- Template:Game name
- Template:Game name
- Template:Game name
- Template:Game name
- Template:Game name
- Template:Game name
- Template:Game name
- Template:Game name
Полный список игр можно найти здесь
Сторонние
Игры и моды, сделанные сторонними компаниями и командами модмейкеров:
- Apex Legends
- Template:Game name
- Blade Symphony
- Bloody Good Time
- Consortium
- Template:Game name
- Template:Game name
- Template:Game name
- Template:Game name
- Template:Game name
- Divinia Chronicles
- Double Action
- Template:Game name
- Infestus
- Template:Game name
- Template:Game name
- Template:Game name
- Template:Game name
- Template:Game name
- Revelations 2012
- Template:Game name
- Tactical Intervention
- The Beginners Guide
- Template:Game name
- Template:Game name
- Vampire: The Masquerade
- Vindictus
- Template:Game name
- Zombie Panic: Source