Ru/Source: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
No edit summary
(Соответствие английской версии, исправлены различные ошибки)
Line 5: Line 5:
}}
}}
{{GameHierarchy}}   
{{GameHierarchy}}   
Движок '''Source''' игр [[Half-Life 2|Half-Life 2]] - переосмысление движка [[Goldsource]] из [[Half-Life]]. Кроме Half-Life 2 и её эпизодов, Source используется в [[Counter-Strike: Source]], [[Counter-Strike: Global Offensive]], [[Team Fortress 2]], [[Left 4 Dead]], [[Left 4 Dead 2]], [[Portal]] и [[Portal 2]].
'''Source''' это движок для разработки 3D игр, созданный компаний [[Valve]], является преемником [[GoldSource]]. Source используется как самой [[Valve]], так и сторонними компаниями. Так же, как и [[GoldSource]], может использоваться для создания различных модификаций от сообщества людей по всему миру.


[[File:20180823234321 1.jpg|thumbnail|Скриншот из игры Counter-Strike: Source, использующей движок Source.]]
[[File:Csgo_de_inferno_sourcescreenshot.jpg|thumbnail|Скриншот из игры Counter-Strike: Global Offensive, использующая обновлённую ветку движка Source.]]


 
== [[:Category:Programming:ru|Рендерер]] ==
== [[:Category:Programming:ru|Renderer]] ==
* Версии 2.0 (и ниже) [[Pixel shader|шейдеры]]
* [[Pixel shader:ru|Шейдеры]] версии 2.0 (и ниже) , [[bump mapping:ru|bump mapping]], динамически изменяемый уровень детализации ( [[LOD:ru|LOD]] ) для моделей и окружения (мира)
* [[Bump mapping]] и [[Normal mapping]] для моделей и карты
* пользовательские [[shader:ru|шейдеры]], написанные на шейдерном языке высокого уровня ([[HLSL:ru|High-Level Shader Language]])
* Авторские [[Pixel shader|шейдеры]] на языке [[HLSL]]
* Кубическое текстурирование среды
* Отражения с помощью cubemap
* Динамический свет, вертексное освещение и [[Vrad:ru|карты освещенности]], множество типов освещения, например: мигание, пульсирование и т. д.
** Отражения cubemap также поддерживают анизотропную фильтрацию {{CSGO add}}
* [[HDR:ru|Высоко-динамичный]] диапазон освещения
*  Шейдинг моделей с параметром [[$phong|Phong]]
* Вода с отражением и эффектом Френеля
** Phong также поддерживается брашами уровней {{CSGO add}}
* Продвинутая система управления частицами, способная создавать спрайты и модели
* Динамическое освещение, вершинное освещение и [[Vrad|light maps]], множество типов света, включая мерцание, пульсацию etc.
* Технология «Projected Shadows» позволяет присутствовать большему числу персонажей в сцене
* [[HDR]] и LDR освещение
* Специальные энтити для блокирования видимости
* Вода с преломлением света, отражения мира в реальном мира с применением формул Френеля
* Открытые/закрытые пространства
** Вода также поддерживает [[Water_Shader#Flowmaps|карты потоков]] {{L4D2 add}}
** Деформируемые поверхности
* Продвинутая система частиц, испускающая как спрайты, так и модели
** [[3D Skybox:ru|3D скайбоксы - «трехмерное небо»]], расширяющее горизонт и добавляющее параллакс для удаленных объектов
* Проецируемые на текстуру тени, учитывающее большое количество персонажей в сцене
** Динамически просчитывающаяся органика (трава, деревья и т. д.)
* Энтити для блокирования видимости
* Подразделенные поверхности, диффузные и [[Bump Map:ru|зеркальные отражения]]
* Поддержка открытых/закрытых пространств
* Эффект отраженного света в реальном времени
** Деформированные поверхности
* Эффекты: частицы, лучи, объемный дым, искры, кровь, эффекты окружающей среды такие как туман и дождь
** [[3D Skybox|3D Скайбоксы]] создающие более разнообразный горизонт и добавляющие эффект параллакса на удалённых объектах
** Динамически обрабатываемая органика (трава, деревья и т.д.)
* Subdivision поверхности, diffuse и specular бамп карты
* Диффузное освещение в реальном времени
* [http://msdn.microsoft.com/en-us/library/windows/desktop/ee416307(v=vs.85).aspx Каскадное проецирование теней] в реальном времени из скайбокса {{CSGO add}}
* Некоторый перечень имеющихся эффектов, но не ограничивающиеся ими: частицы, лучи, объёмный дым, искры, кровь, эффекты окружающей среды вроде тумана и дождя
* Масштабируемость
* Масштабируемость
** Поддержка оборудования под [[DirectX_Versions:ru|DX8-DX9]] (DX6-DX9 с модификациями и шейдерами с фиксированной функциональностью)
** Поддержка [[DirectX_Versions|DX8-DX9]] (DX6-DX9 с некоторыми изменениями и исправленными функциями шейдеров)


== [[:Category:Material_System:ru|Система материалов]] ==
== [[:Category:Material_System:ru|Система материалов]] ==


* взамен традиционных текстур, ''Source'' работает с наборами материалов, которые определяют из чего сделан объект, какая для него нужна текстура. Материал определяет, как объект разламывается при разбивании, как он будет звучать при разбивании или волочении по другой поверхности, и какая у объекта масса и плавучесть. Эта система намного более гибкая по сравнению с любой системой основанной только на текстурах
* Взамен традиционных текстур, ''Source'' работает с наборами материалов, которые определяют, из чего сделан объект, какая для него нужна текстура. Также определяется, как объект разламывается при разбивании, как он будет звучать при разбивании или волочении по другой поверхности, и какая у него масса и плавучесть. Эта система намного более гибкая по сравнению с любой системой, основанной только на текстурах


* Материалы могут взаимодействовать с объектами или [[NPC:ru|NPC (НИП)]]. Например, такие материалы как грязь или снег заставляют машины скользить, терять управление
* Материалы могут взаимодействовать с объектами или [[NPC:ru|NPC]]. Например, такие материалы как грязь или снег заставляют машины скользить, терять управление


== [[Source Multiplayer Networking:ru|Сетевой код в Source]] ==
== [[Source Multiplayer Networking:ru|Сетевой код в Source]] ==
Line 44: Line 51:
* Детализованные и правдоподобные персонажи
* Детализованные и правдоподобные персонажи
* Реалистичные глаза
* Реалистичные глаза
** Фокусируются на игроке/обьекте, а не просто параллельно направлены (в никуда)
** Фокусируются на игроке/объекте, а не просто параллельно направлены (в никуда)
** Правильное строение глаза, для реалистичного отражения в глазах
** Правильное строение глаза, для реалистичного отражения
* Симуляция мускулатуры, обеспечивающей выдающиеся эмоции, речь и язык тела
* Симуляция мускулатуры, обеспечивающая выдающиеся эмоции, речь и язык тела
* [[:category:Choreography:ru|Речь, не зависимая от языка]], персонажи могут естественно говорить на многих языках
* [[:category:Choreography:ru|Речь, не зависимая от языка]], персонажи могут естественно говорить на многих языках
* Система анимации, основанная на костях и скелетах
* Скелетная система анимации
* Многоуровневая система анимации позволяет конструировать сложные анимации из нескольких частей
* Многоуровневая система анимации позволяет конструировать сложные анимации из множества частей


== [[:Category:Programming:ru|Physics]] ==
== [[:Category:Programming:ru|Физика]] ==
* Мир с более реалистичными взаимодействиями
* Мир с более реалистичным взаимодействием
* Звуки и графические эффекты взаимосвязаны с физикой (событиями)
* Звуки и графические эффекты взаимосвязаны с физикой (событиями)
* Персонажи под управлением ИИ адекватно взаимодействуют с физически смоделированными обьектами
* Персонажи под управлением ИИ адекватно взаимодействуют с физически смоделированными объектами
* Веревки/кабели, механизмы, расчет сопротивляемости материалов, [[Wikipedia:Ragdoll physics|моделирование физики тряпичной куклы]]
* Верёвки/кабели, механизмы, расчет сопротивляемости материалов, [[Wikipedia:Ragdoll physics|моделирование физики тряпичной куклы]]
* Может задаваться уровнем в зависимости от его конфигурации
* Может задаваться уровнем в зависимости от его конфигурации
* Движения анимируются костями
* Движения анимируются костями
Line 63: Line 70:
** Реалистичная подвеска с пружинами на каждом колесе
** Реалистичная подвеска с пружинами на каждом колесе
** Реалистичный уклон во время разгона/торможения и поворотов
** Реалистичный уклон во время разгона/торможения и поворотов
** Индивидуально настраиваемые параметры, такие как мощность(л.с.), передача, максимальная скорость, скорость перемещения, материал шин, сцепление шин с поверхностью, упругость/гашение (демпфирование) вибраций пружины и т.д.
** Индивидуально настраиваемые параметры - мощность(л.с), передача, максимальная скорость, скорость перемещения, материал шин, сцепление шин с поверхностью, упругость/гашение (демпфирование) вибрация пружины и т.д.
** Одновременно несколько игроков в транспорте в сетевом режиме
** Одновременно несколько игроков в транспорте в сетевом режиме
** Поддержка воздушной подушки для лёгкой симуляции
** Поддержка воздушной подушки для лёгкой симуляции


== [[:Category:AI:ru|Продвинутый ИИ]] ==
== [[:Category:AI:ru|Продвинутый ИИ]] ==
* [[Inputs_and_Outputs:ru|Система ввода/вывода]] позволяет контролирова [[:Category:AI:ru|ИИ]] конструкторам уровней
* [[Inputs_and_Outputs:ru|Система ввода/вывода]] позволяет контролировать [[:Category:AI:ru|ИИ]] редактором уровней Hammer
* Усложнённая навигация: персонажи, которые бегают, летают, прыгают, приседают, карабкаются по ступенькам и лестницам, и зарываются под землю
* Усложнённая навигация: персонажи, умеющие бегать, летать, прыгать, приседать, карабкаться по ступенькам и лестницам и зарываться под землю
* ИИ ощущает окружающее используя зрение, слух, обоняние
* ИИ реагирует на окружающую среду, используя зрение, слух, обоняние
* [[ai_relationship:ru|Взаимодействие ИИ]] определяет статус друг/враг других сущностей
* [[ai_relationship:ru|Взаимодействие ИИ]] определяет статус друг/враг других сущностей
* В бою ИИ Battle AI использует отряды для группового реагирования - когда действовать заранее, отступать, вести огонь под прикрытием и т.д.
* В бою ИИ, использующий Battle AI, применяет отряды для группового реагирования - когда действовать заранее, отступать, вести огонь под прикрытием и т.д.


== [[:Category:Sound_System:ru|Звуковая система]] ==
== [[:Category:Sound_System:ru|Звуковая система]] ==
* 7.1, 5.1 системы объёмного звука, окружающий звук 4х колонок
* 7.1, 5.1 системы объёмного звука, поддержка системы из 4-х колонок
* Высококачественное пространственное 3D
* Высококачественное пространственный 3D звук
* Пользовательская обработка плагинами DSP
* Пользовательская обработка плагинами DSP
* Автоматическая DSP обработка, основанная на окружающей геометрии
* Автоматическая DSP обработка, основанная на окружающей геометрии
Line 86: Line 93:
* Готовые эффекты Допплера для кодированных звуков
* Готовые эффекты Допплера для кодированных звуков
* Готовые эффекты, отражающие дистанцию для кодированных звуков
* Готовые эффекты, отражающие дистанцию для кодированных звуков
* [[Commentary System:ru|Система комментирования]]
* [[Commentary System:ru|Система комментариев]]


== [[:Category:VGUI:ru|Пользовательский интерфейс]] ==
== [[:Category:VGUI:ru|Пользовательский интерфейс]] ==
Line 93: Line 100:
* '''VGUI''' - собственный графический пользовательский интерфейс компании Valve, имитирующий большинство элементов управления Windows, но отображаемый средствами движка '''Source''' для внутри- и внеигрового отображения '''UI'''. Некоторые особенности:
* '''VGUI''' - собственный графический пользовательский интерфейс компании Valve, имитирующий большинство элементов управления Windows, но отображаемый средствами движка '''Source''' для внутри- и внеигрового отображения '''UI'''. Некоторые особенности:
** Динамичное внутриигровое отображение [[HUD]]
** Динамичное внутриигровое отображение [[HUD]]
** Различные виджеты/контроллеры (т.е. кнопки, древовидные, html-контроль и т.д.)
** Различные виджеты/контроллеры (кнопки, отображение в виде древа, html-контроль и т.д.)
** Поддержка тем/пользовательской визуализации
** Поддержка тем и пользовательской визуализации
** Независимая платформа
** Независимость платформы
** Локализация текста (поддержка Юникода)
** Локализация текста (поддержка кодировки Юникод)


== [[:Category:Programming:ru|Программирование]] ==
== [[:Category:Programming:ru|Программирование]] ==
* Весь код написан на C/C++ с использованием Visual Studio .NET 2003. Лёгкое и быстрое создание новых [[Entity:ru|сущностей]] из существующих базовых.
* Весь код написан на C/C++ с использованием Visual Studio .NET 2003. Лёгкое и быстрое создание новых [[Entity:ru|сущностей]] из существующих базовых.
* Встроенная система мониторинга производительности
* Встроенная система мониторинга производительности
* Система измерения производительности графики встроена в движок
* Система измерения производительности графики, встроенная в движок
* Модульный дизайн кода (через DLL) позволяет заменять компоненты кода для легкой модернизации или замены
* Модульный дизайн кода (через DLL библиотеки) позволяет заменять компоненты кода для легкой модернизации или замены
* [[Wikipedia:DirectX|DX9]] [[shader:ru|шейдер]]ы записаны на [[HLSL:ru|HLSL]].
* [[Wikipedia:DirectX|DX9]] [[shader:ru|шейдеры]] записаны на языке [[HLSL:ru|HLSL]].


== [[:Category:Tools|Инструменты]] ==
== [[:Category:Tools|Инструменты]] ==
Line 109: Line 116:
** Инструмент модулирования мимики для создания речи и эмоций
** Инструмент модулирования мимики для создания речи и эмоций
* [[Valve_Hammer_Editor:ru|Valve Hammer Editor]]
* [[Valve_Hammer_Editor:ru|Valve Hammer Editor]]
** [[wikipedia:WYSIWYG|WYSIWYG]] Редактор (Что Ты Видишь - То Что Ты Получаешь)
** [[wikipedia:WYSIWYG|WYSIWYG]] Редактор уровней. Работает по системе "Что Ты Видишь - То Что Ты Получаешь"
** Создание [[World_brush:ru|мировых брашей]]
** Создание [[World_brush:ru|брашей для геометрии мира]]
** Редактор ландшафта
** Редактор ландшафта
** Расположение детализированных [[Category:World Models|мировых моделей]] и [[Category:AI|ИИ]] [[NPC:ru|НИП]]ов
** Расположение детализированных [[Category:World Models|моделей для уровней]] и [[Category:AI|ИИ]] [[NPC:ru|NPC]]
** Задание [[Path_track|навигационных точек/маршрутов]] для [[NPC:ru|НИП]]ов
** Задание [[Path_track|навигационных точек/маршрутов]] для [[NPC:ru|NPC]]
** Расположение [[Trigger|триггер]]ов, [[Clipping_tool|обрезка]] [[Brush:ru|браш]]ей, логика и т.д.
** Расположение [[Trigger|триггеров]], [[Clipping_tool|обрезка]] [[Brush:ru|брашей]], логики и т.д.
** Разрешение дизайнеру карт управлять вводами/выводами сущностей для контроля [[Category:AI|ИИ]]
** Возможность дизайнеру карт управлять вводами/выводами сущностей для контроля [[Category:AI|ИИ]]
* [[Half-Life Model Viewer]]
* [[Half-Life Model Viewer]]
** Полный предварительный просмотр модели
** Полный предварительный просмотр модели
Line 129: Line 136:
** VMPI - инструмент для компиляции, позволяющий распределять создание уровней через множество компьютеров, значительно уменьшая время расчета
** VMPI - инструмент для компиляции, позволяющий распределять создание уровней через множество компьютеров, значительно уменьшая время расчета
* Экспортеры
* Экспортеры
** [[Softimage_Mod_Tool:ru|XSI]], Max и Maya плагины для экспорта моделей в формат .smd
** [[Softimage_Mod_Tool:ru|XSI]], Autodesk 3Ds Max и Autodesk Maya плагины для экспорта моделей в формат "smd"


== Игры на Source ==
== Игры на Source ==

Revision as of 06:02, 19 May 2020

Template:Otherlang2

id Tech 2 id Tech 2GoldSrc GoldSrcSource SourceSource 2 Source 2

Source это движок для разработки 3D игр, созданный компаний Valve, является преемником GoldSource. Source используется как самой Valve, так и сторонними компаниями. Так же, как и GoldSource, может использоваться для создания различных модификаций от сообщества людей по всему миру.

Скриншот из игры Counter-Strike: Source, использующей движок Source.
Скриншот из игры Counter-Strike: Global Offensive, использующая обновлённую ветку движка Source.

Рендерер

  • Версии 2.0 (и ниже) шейдеры
  • Bump mapping и Normal mapping для моделей и карты
  • Авторские шейдеры на языке HLSL
  • Отражения с помощью cubemap
    • Отражения cubemap также поддерживают анизотропную фильтрацию Template:CSGO add
  • Шейдинг моделей с параметром Phong
    • Phong также поддерживается брашами уровней Template:CSGO add
  • Динамическое освещение, вершинное освещение и light maps, множество типов света, включая мерцание, пульсацию etc.
  • HDR и LDR освещение
  • Вода с преломлением света, отражения мира в реальном мира с применением формул Френеля
  • Продвинутая система частиц, испускающая как спрайты, так и модели
  • Проецируемые на текстуру тени, учитывающее большое количество персонажей в сцене
  • Энтити для блокирования видимости
  • Поддержка открытых/закрытых пространств
    • Деформированные поверхности
    • 3D Скайбоксы создающие более разнообразный горизонт и добавляющие эффект параллакса на удалённых объектах
    • Динамически обрабатываемая органика (трава, деревья и т.д.)
  • Subdivision поверхности, diffuse и specular бамп карты
  • Диффузное освещение в реальном времени
  • Каскадное проецирование теней в реальном времени из скайбокса Template:CSGO add
  • Некоторый перечень имеющихся эффектов, но не ограничивающиеся ими: частицы, лучи, объёмный дым, искры, кровь, эффекты окружающей среды вроде тумана и дождя
  • Масштабируемость
    • Поддержка 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.

Инструменты

  • Face Poser
    • Инструмент модулирования мимики для создания речи и эмоций
  • Valve Hammer Editor
  • Half-Life Model Viewer
  • Studiomdl
    • Компиляция моделей
  • Vbsp, Vrad, Vvis, Vmpi
    • Инструменты для компилирования карт (bsp, освещения и видимости)
    • VMPI - инструмент для компиляции, позволяющий распределять создание уровней через множество компьютеров, значительно уменьшая время расчета
  • Экспортеры
    • XSI, Autodesk 3Ds Max и Autodesk Maya плагины для экспорта моделей в формат "smd"

Игры на Source

Valve

Игры создани Valve.

Сторонние

Игры и моди зделание стороннем компаниями и командами модов.

Смотрите также