Ru/Source: Difference between revisions
< Ru
Jump to navigation
Jump to search
No edit summary |
mNo edit summary |
||
Line 11: | Line 11: | ||
* Авторские [[Shader:ru|шейдеры]] на языке [[HLSL:ru|HLSL]] | * Авторские [[Shader:ru|шейдеры]] на языке [[HLSL:ru|HLSL]] | ||
* Отражения с помощью [[Cubemaps:ru|cubemap]] | * Отражения с помощью [[Cubemaps:ru|cubemap]] | ||
** Отражения cubemap также поддерживают анизотропную фильтрацию {{since:ru|{{Csgo | ** Отражения cubemap также поддерживают анизотропную фильтрацию {{since:ru|{{Csgo}}}} | ||
* Шейдинг моделей с параметром [[$phong:ru|Phong]] | * Шейдинг моделей с параметром [[$phong:ru|Phong]] | ||
** Phong также поддерживается брашами уровней {{since:ru|{{Csgo | ** 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|{{L4d2 | ** Вода также поддерживает [[Water:ru#Карты_потоков|карты потоков]] {{since:ru|{{L4d2}}}} | ||
* Продвинутая [[Particle_System_Overview:ru|система частиц]], испускающая как [[Sprite:ru|спрайты]], так и [[Model:ru|модели]] | * Продвинутая [[Particle_System_Overview:ru|система частиц]], испускающая как [[Sprite:ru|спрайты]], так и [[Model:ru|модели]] | ||
* Проецируемые на текстуру тени, учитывающие большое количество персонажей в сцене | * Проецируемые на текстуру тени, учитывающие большое количество персонажей в сцене | ||
Line 27: | Line 27: | ||
* Subdivision поверхности, diffuse и specular бамп карты | * Subdivision поверхности, diffuse и specular бамп карты | ||
* Диффузное освещение в реальном времени | * Диффузное освещение в реальном времени | ||
* [http://docs.microsoft.com/ru-ru/windows/win32/dxtecharts/cascaded-shadow-maps Каскадные карты теней] в реальном времени из скайбокса {{since:ru|{{Csgo | * [http://docs.microsoft.com/ru-ru/windows/win32/dxtecharts/cascaded-shadow-maps Каскадные карты теней] в реальном времени из скайбокса {{since:ru|{{Csgo}}}} | ||
* Некоторый перечень имеющихся эффектов, но не ограничивающиеся ими: частицы, лучи, объёмный дым, искры, кровь, эффекты окружающей среды вроде тумана и дождя | * Некоторый перечень имеющихся эффектов, но не ограничивающиеся ими: частицы, лучи, объёмный дым, искры, кровь, эффекты окружающей среды вроде тумана и дождя | ||
* Масштабируемость | * Масштабируемость | ||
Line 33: | Line 33: | ||
==[[:Category:Material_System:ru|Система материалов]]== | ==[[:Category:Material_System:ru|Система материалов]]== | ||
* Взамен традиционных текстур, '''Source''' работает с наборами материалов, которые определяют, из чего сделан объект, какая для него нужна [[Texture:ru|текстура]]. Также определяется, как объект разламывается при разбивании, как он будет звучать при разбивании или волочении по другой поверхности, и какая у него масса и плавучесть. Эта система намного более гибкая по сравнению с любой системой, основанной только на текстурах | * Взамен традиционных текстур, '''Source''' работает с наборами материалов, которые определяют, из чего сделан объект, какая для него нужна [[Texture:ru|текстура]]. Также определяется, как объект разламывается при разбивании, как он будет звучать при разбивании или волочении по другой поверхности, и какая у него масса и плавучесть. Эта система намного более гибкая по сравнению с любой системой, основанной только на текстурах | ||
Line 107: | Line 106: | ||
* Модульный дизайн кода (через DLL библиотеки) позволяет заменять компоненты кода для лёгкой модернизации или замены | * Модульный дизайн кода (через DLL библиотеки) позволяет заменять компоненты кода для лёгкой модернизации или замены | ||
* DX9 [[shader:ru|шейдеры]] записаны на языке [[HLSL:ru|HLSL]]. | * DX9 [[shader:ru|шейдеры]] записаны на языке [[HLSL:ru|HLSL]]. | ||
* Система [[VScript:ru|VScript]] позволяет использовать на картах внешние языки программирования, такие как [[Squirrel:ru|Squirrel]] и [[Adding_Lua:ru|Lua]], для создания более сложных систем {{since:ru| | * Система [[VScript:ru|VScript]] позволяет использовать на картах внешние языки программирования, такие как [[Squirrel:ru|Squirrel]] и [[Adding_Lua:ru|Lua]], для создания более сложных систем {{since:ru|{{L4d2}}}} | ||
==[[:Category:Tools:ru|Инструменты]]== | ==[[:Category:Tools:ru|Инструменты]]== |
Revision as of 13:35, 10 September 2021
Quake ▶▶ GoldSource ▶▶ Source ▶▶ Source 2
Source это движок для разработки 3D игр, созданный компанией Valve, является преемником GoldSource. Source используется как самой Valve, так и сторонними компаниями. Так же, как и GoldSource, может использоваться для создания различных модификаций от сообщества людей по всему миру.
Рендерер
- Версии 2.0 (и ниже) шейдеры
- Bump mapping и Normal mapping для моделей и карты
- Авторские шейдеры на языке HLSL
- Отражения с помощью cubemap
- Шейдинг моделей с параметром Phong
- Динамическое освещение, вершинное освещение и light maps, множество типов света, включая мерцание, пульсацию и т.д.
- HDR и LDR освещение
- Вода с преломлением света, отражения мира в реальном времени с применением формул Френеля
- Вода также поддерживает карты потоков (Во всех играх начиная с
)
- Вода также поддерживает карты потоков (Во всех играх начиная с
- Продвинутая система частиц, испускающая как спрайты, так и модели
- Проецируемые на текстуру тени, учитывающие большое количество персонажей в сцене
- Энтити для блокирования видимости
- Поддержка открытых/закрытых пространств
- Деформированные поверхности
- 3D Скайбоксы создающие более разнообразный горизонт и добавляющие эффект параллакса на удалённых объектах
- Динамически обрабатываемая органика (трава, деревья и т.д.)
- Subdivision поверхности, diffuse и specular бамп карты
- Диффузное освещение в реальном времени
- Каскадные карты теней в реальном времени из скайбокса (Во всех играх начиная с
)
- Некоторый перечень имеющихся эффектов, но не ограничивающиеся ими: частицы, лучи, объёмный дым, искры, кровь, эффекты окружающей среды вроде тумана и дождя
- Масштабируемость
- Поддержка 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. Некоторые особенности:
- Динамичное внутриигровое отображение HUD
- Различные виджеты/контроллеры (кнопки, отображение в виде древа, html-контроль и т.д.)
- Поддержка тем и пользовательской визуализации
- Независимость платформы
- Локализация текста (поддержка кодировки Юникод)
Программирование
- Весь код написан на 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.
Counter-Strike: Source
Half-Life 2
Half-Life 2: Deathmatch
Half-Life 2: Episode One
Half-Life 2: Episode Two
Half-Life 2: Lost Coast
Half-Life: Source
Half-Life Deathmatch: Source
Portal
Team Fortress 2:ru
Day of Defeat: Source
Left 4 Dead:ru
Left 4 Dead 2:ru
Alien Swarm
Portal 2:ru
Counter-Strike: Global Offensive:ru
Сторонние
Игры и моды, сделанные сторонними компаниями и командами модмейкеров.
Insurgency
Black Mesa (Source)
INFRA
Day of Infamy
The Stanley Parable
The Ship
- Blade Symphony
Contagion
Dino D-Day
Zeno Clash
Dark Messiah of Might and Magic
- The Beginners Guide
Nuclear Dawn
- Double Action
- Consortium
- Revelations 2012
- Divinia Chronicles
SiN Episodes
- Vampire: The Masquerade
- Lambda Wars
- Bloody Good Time
- Tactical Intervention
Dear Esther
- Vindictus
- Zombie Panic: Source
- No More Room In Hell
E.Y.E: Divine Cybermancy
- Apex Legends
- Infestus