![](uploads/avatars/0.gif) Добро пожаловать,
|
|
|
|
|
|
Поиск
![](templates/coder/images/icon_search.png) |
Рассматриваются вопросы физического моделирования окружающего мира при разработке компьютерных игр. Кроме собственно физики в книге приводятся примеры практического применения физических моделей в играх. Описание простой платформы физического моделирования затем переходит в плоскость изложения принципов моделирования отдельных физических явлений, применимых к играм. Рассматриваются вопросы программирования приложений с использованием созданных инструментов. Представленные в книге модели написаны на C++ с применением DirectX и компилировались в VS.NET.
К книге прилагается компакт-диск, содержащий все примеры и необходимый инструментарий. Для чтения книги достаточно знания физики и математики в пределах школьного курса и первичного опыта программирования на C++. Для программистов компьютерных игр, студентов и старшеклассников, интересующихся программированием.
|
|
![](templates/coder/images/icon_search.png) |
Environmental Audio (дословно окружающий звук)- это новый стандарт звука, разработанный фирмой Creative Labs, создающий эффекты окружающей среды реального мира на компьютере. Environmental Audio сегодня ужк много больше простого surround -звука и 3D моделирования. Это и настоящее моделирование окружающей среды с помощью мощных эффектов с учётом размеров комнаты, её звуковых особенностей, реверберации, эхо и многих других эффектов, создающих ощущение реального аудио мира.
Как работает Environmental Audio
Эффекты окружающей среды моделируются при помощи технологии E-mu Environmental Modeling, поддерживаемой аудиопроцессором EMU10K1, установленного на серии звуковых карт SBLive! Технология Environmental Audio разработана с учётом работы на наушниках, двух или четырёх колонках. Чип EMU10K1 раскладывает любой звуковой поток на множество каналов, где накладывает эффекты в реальном времени. За счёт этого создаются уже новые звуки, такие, как они должны быть в природе. На стадии обработки звука кроме его пололжения в пространстве должны быть учтены, как минимум, два фактора: размер помещения и реверберация, так как человеческое ухо слышит не просто оригинальный звук, а звук с учётом дистанции, местоположения и громкости. Стандарт Environmental Audio обрабатывает все эти условия для получения высококачественного реального звука.
Environmental Audio использует координаты X, Y, Z, а также реверберацию и отражения звука. Эти координаты используются при базовой подготовки каналов аудио источника и эффектов "окраски" звуковой сцены. Основная мощность аудиопроцессора расходуется на обработку каждого звукового источника по всем каналам и на добаление эффектов в реальном времени. Как уже говорилось, для создания ощущения реального звука нужно учитывать как минимум 3 фактора: расстояние до источника звука, размер звукового помещения и реверберацию.
Environmental Audio Extensions (EAX)
Это API, разработанный фирмой Creative Labs для достижения реальных звуковых эффектов в компьютерных играх. EAX- это расширение API DirectSound3D от фирмы Microsoft На 18 Октября 1999 года единственной звуковой картой, поддерживающей этот стандарт является Sound Blaster Live! (в разных модификациях). На сегодня Creative выпустила три версии этого стандарта.
DirectSound3D управляет местоположением в 3D пространстве игры источников звука и слушателя. Например, игра может использовать DirectSound3D для создания раздельных источников звука для каждого существа в игре, получая, таким образом, звуки выстрелов и голоса в разных местах 3D-мира. Эти звуки, также как и слушатель, могут перемещаться в пространстве. Разработчики игр могут использовать такие звуковые возможности, как палитра направлений (звук в одном направлении может идти громче, чем в другом), эффект Допплера (звук может нарастать, достигнув слушателя, и потом спадать, как бы удаляясь в пространство).
EAX улучшает DirectSound3D созданием виртуального окружающего аудио мира вокруг источников звука и слушателя. Эта технология эмулирует реверберации и отражения, идущие со всех сторон от слушателя. Эти эффекты создают впечатление, что вокруг слушателя существует реальный мир со своими параметрами, как то: размер помещения, отражающие и поглощающие свойства стен и другие. Программисты игр могут создавать различные акустические эффекты для разных помещений. Таким образом, игрок, который играет в EAX игру может слышать разницу в звуке при переходе из коридора в пещеру.
В дополнении к созданию окружающих эффектов, EAX 1.0 может изменять параметры различных источников звука. При изменении местоположения источника звука относительно слушателя автоматически изменяются параметры реверберации.
Что касается программирования, то здесь EAX предоставляет следующие возможности.
* Выбор среди большого числа "пресетов" для моделирования эффектов окружающей среды.
* Возможность изменять параметры пресетов окружающей среды для каждого источника в отдельности.
* Автоматическое изменение критических параметров, применяемых к позиции. Когда источник звука движется по отношению к слушателю, EAX автоматически изменяет параметры отражения звука и реверберации для создания более реальных звуковых эффектов при движении источника звука через 3D звуковой мир.
Occlusions и Obstructions
Эффект occlusions создаёт впечатление, что источник звука находится в другой комнате, в другом месте, за стеной. Это свойство позволяет изменять параметры передачи звуковой характеристики для получения эффекта различных материалов стен и их толщину. Например, программа может использовать это свойство для создания звука, идущего из-за двери, или из-за стены.
Эффект obstructions позволяет эмулировать звуковые препятствия, создавая ощущение, что источник звука находится в той же комнате, но за препятствием. Например, можно сделать так, что звук будет идти из-за большого камня, находящегося в той же пещере, что и слушатель.
Геометрическое моделирование и EAX
Геометрическая модель сцены используется как в графических целях, так и для создания 3D звука. Для создания геометрической модели компьютер должен иметь данные о физических свойствах мира: какие объекты где расположены, какие звуконепроницаемые, какие звукопоглощающие и так далее. После того, как эта информация получена, производится расчёт некоторого количества слышимых отражений и поглощений звука от этих объектов для каждого источника звука. Это приводит к затуханиям звука, из-за препятствий, звуконепроницаемых стен и так далее. Расчёты отражений методом "зеркала" широко используются для создания акустики зданий. Этот метод подразумевает, что звук отражается прямо (как от зеркала) без преломлений и поглощений. На самом же деле, вместо того, чтобы в реальном времени рассчитывать все отражения и особенности среды (что на самом деле процесс трудоёмкий) используются заранее рассчитанные упрощённые модели геометрических аудио сред, которые отличаются от графических представлений о среде. То есть в игре используются одновременно отдельная среда для визуальных эффектов и более простая для звуковых эффектов. Это создаёт проблемы, как, например, если бы вы захотели передвинуть часть стены в комнате, то вам пришлось бы создавать новую среду для звука. В настоящее время над геометрическим моделирование звука ведутся работы во многих звуковых лабораториях.
EAX для разработчиков
EAX не требует того, чтобы источники звука привязывались к графическому представлению об окружающей среде. Но при желании разработчик, который хочет создать звуковые эффекты "повышенной реальности", которые максимально близки к графическому представлению о сцене может использовать дополнительное управление ранними отражениями, преломлениями и поглощениями. При создании своих эффектов EAX использует статические модели среды, а не её геометрические параметры. Эти модели автоматически рассчитывают реверберации и отражения относительно слушателя с учётом размеров помещения, направления звука и других параметров, которые программист может добавлять, для каждого источника звука. Поэтому EAX намного проще других стандартов, так как он не требует описания геометрической среды сцены, а использует подготовленные заранее модели. Игра может менять звуковые модели при переходе от одного места к другому для создания реальных эффектов. Я хочу рассмотреть это подробней. Допустим, у вас есть сцена в игре ввиде каменной пещеры. Есть два способа получить высокореалистичные эффекты. Первый из них- рассчитать геометрическую модель и использовать её как аудио маску для сцены, причём новые технологии будут позволять делать это в реальном времени. Второй способ- взять готовый пресет и, при необходимости, изменить его для получения более качественных эффектов. Разумеется, первый способ даст больший реализм, чем второй, но и потратит ресурсов в несколько раз больше. А если учитывать лень программистов, то в этом случае EAX наиболее благоприятный вариант.
Различия между EAX 1.0, 2.0 и 3.0
EAX 1.0
* Поддерживает изменение места в игре реверберации и отражений.
* Имеет большое количество пресетов.
* Позволяет (ограниченно) изменять реверберацию окружения.
* Позволяет автоматически изменять интенсивность реверберации, в зависимости от положения источника звука относительно слушателя.
EAX 1.0 строит звуковую сцену на основе заранее созданных пресетов, учитывая дистанцию между источниками звука и слушателем. Соответственно, EAX 1.0 предоставляет большой набор пресетов "на каждый случай жизни". Также имеется возможность изменять параметры поздней реверберации (дэмпинг, уровень) и автоматическое изменение уровня в зависимости от расстояния. Благодаря этому происходит улучшенное восприятие расстояния до источника.
EAX 2.0
* Обновлена реверберационная модель.
* Добавлены эффекты звуковых преград (Obstructions) и поглощений (Occlusions).
* Отдельное управление начальными отражениями и поздними реверберациями. Продолжительный контроль размеров помещений. Улучшенная дистанционная модель для автоматического управления реверберациями и начальными отражениями, основанными на местоположении источника звука относительно слушателя.
* Возможность учитывать звуковые свойства воздуха (поглощение звука).
* Теперь для использования эффектов Environmental Audio не не требуется описание геометрии помещения.
EAX 2.0 построен на возможностях первой версии и создаёт ещё более реалистичные эффекты засчёт поддержки преграждения и отражения звука, а также на улучшенной технологии определения направления звука.
EAX 3.0
* Контроль за ранними реверберациями и отражениями для каждого источника звука.
* Динамический переход между окружающими моделями.
* Улучшенная дистанционная модель для автоматического управления реверберацией и начальными отражениями в зависимости от положения источников звука относительно слушателя.
* Расчёты Ray-Tracing (отражение лучей) для получения параметров отражения для каждого источника звука.
* Отдельные отражения для дальних эхо.
* Улучшенное дистанционное представление, призванное заменить статические реверберационные модели.
EAX 3.0 совмещает вторую версию с более мощными возможностями. Новый уровень реализма достигается засчёт поддержки местных отражений, изолированных отражений, продолжительных переходов между звуковыми сценами и другими особенностями.
Вывод: по всему вышесказанному можно судить о том, что на сегодня EAX является очень перспективным и конкурентоспособным стандартом. Любой программист, несведующий в особенностях 3D звука сможет создавать реальные эффекты для своих игр с помощью пресетов. Что касается качества 3D звука, то оно вне конкуренции. Сейчас большинство игр не поддерживает (или поддерживает криво) такие эффекты, как преграждение и поглощение звука. Первой игрой, полностью поддерживающей EAX 2.0 обещает быть Unreal Tournament, если его не опередят. Там будет видно.
P.S. Я специально не стал сравнивать EAX с другими стандартами, как, например, A3D. Для этого нужны игры, поддерживающие одновременно и то и другое в полной форме. На сегодня таких игр нет.
|
|
![](templates/coder/images/icon_search.png) |
Для многих вебмастеров SEO (search engine optimization, оптимизация для поисковой машины) - это не что иное, как просто набор трюков и методик, которые несомненно должны поднимать их сайт в рейтингах всех поисковиков. Такое отношение к SEO может и дает временные результаты, тем не менее, здесь содержится большой недостаток: правила постоянно меняются.
Алгоритмы поисковых машин постоянно меняются, как, например, антивирусное программное обеспечение. Ведь в мире постоянно появляются новые вирусы, поэтому они и должны постоянно совершенствовать и вносить коррективы в свои программы. Аналогично обстоит дело и с поисковиками: все в этом мире быстро меняется, а интернет-сфера еще быстрее.
Тем не менее, существует определенный набор правил, по которым поисковики ранжируют сайты, которых должен придерживаться каждый вебмастер в нелегком процессе поисковой оптимизации. Конечно, нет 100% гарантии, что все это работает сейчас или уже появились новые правила игры, но идея остается прежней. Меняются лишь детали, как говорится.
Но если мы не можем применить для оптимизации стандартный набор правил, то что же нам делать? Выход здесь в том, что не нужно всеми силами стараться разобраться в хитростях работы поисковой машины, а просто понять каким образом они работают. У этих самых хитростей есть своя логика работы, которую довольно просто вычислить, что и является их недостатком.
Так что же на самом деле необходимо?
Для достижения высоких позиций в рейтинге (да еще на долгое время) следует понимать, что поисковый робот - это в своем роде живое существо. Конечно, я при этом не имею ввиду, что у них есть мозги, пусть это останется для писателей-фантастов. Тем не менее их поведение и способы работы во многом похожи на работу этого самого мозга.
А теперь остановимся на рассмотрении некоторых функций их "мозга". В общем можно сказать, что им присуща такая специфика, как (если принять интернет за мир с множеством дорог) ходить различными путями, следуя указаниям установленных знаков и собирая всевозможную информация об этой дороге. Затем они направляют собранную информацию группе серверов, которые уже по своим специфическим алгоритмам определяют ее важность для внесения в свои базы.
По каким принципам работают эти алгоритмы? Для начала они создаются людьми, которые прекрасно разбираются в принципах работы интернета и информации, которая в нем содержится. А так как всемирная паутина постоянно изменяется, то эти самые люди и вносят необходимые коррективы в поисковые алгоритмы. По своей сути поисковую машину следует рассматривать, как существо, которое постоянно собирает информацию, сохраняет ее, а потом сортирует исходя из ее важности и с большим удовольствием отсеивает ненужную. Только вот как это она делает и исходя из каких принципов - толком не ясно.
Присмотримся поближе
Понимание того, что из себя представляет поисковая машина на самом деле, попытаемся выяснить в сравнении с анатомией человека. Пусть машина и не дышит, но она содержит много схожего, что необходимо ей для ее виртуальной жизни. А состоит она из следующего:
Легкие: Данный орган у поисковой машины, как и большинство жизненно важных органов, расположены внутри огромных data-центров (сервера, специально предназначенные для хранения информации). Как и организме человека, легкие мы не считаем очень важным органом, тем не менее понимаем, что без них не обойтись и нужно поддерживать их здоровыми.
Руки и ноги: Представим себе, что руки и ноги поисковой машины не что иное, как ссылки на ресурсы, которые она щедро выдает по запросу пользователя. С помощью этого органа мы можем найти все, что нам нужно и получить указатель в виде ссылки на необходимый ресурс. Также, как и тело человека изначально было создано для движения и исследования окружающего мира, аналогично и поисковые машины изначально запрограммированы исследовать всемирную паутину.
Глаза: Глазами поисковой машины являются так называемые пауки (еще их называют роботами или краулерами). Эти самые пауки постоянно просматривают интернет для поиска новых сайтов и следят за изменениями на уже проиндексированных. В данном случае пауки "ползают" по страничкам сайта по его внутренним ссылкам (как по путям), аналогично человеку, который на своем пути видит множество дорог для своего передвижения. К счастью для нас, поисковые роботы движутся по оптико-волоконным проводам, вот поэтому они могут путешествовать по интернету со скоростью света. Это-то и позволяет им посетить все интернет-странички, которые попадаются им на пути.
Мозг: Мозг поисковой машины выполняет те же функции, что и мозг человека: содержит целый набор функций для управления организмом своего хозяина. Также у мозга должен быть свой инстинкт, который должен знать о работе и постоянно контролировать все органы и системы. Вот поэтому поисковой машине никак не обойтись без этого самого мозга, который ей и помогает выжить в этом враждебном мире (пусть в чем-то и виртуальном).
Инстинкт: С помощью инстинкта поисковые машины имеют набор ключевых функций, таких как просматривание сайтов и фильтрация данных, которые нужно или не нужно индексировать. Они запрограммированы игнорировать некоторые типы файлов, не соответствующих определенным критериям. Как мне кажется, в инстинкте поисковой машины главное - это механизм или алгоритм, с помощью которого она индексирует сайты.
Знания: Поисковые машины прекрасно осведомлены о всех тонкостях индексации сайтов. Те знания, которыми они владеют, идут далеко впереди знаний всех пользователей, вебмастеров и оптимизаторов. Поисковая машина знает множество методов сортировки, представления данных, и, естественно, еще и имеет свой специфический набор хитростей и уловок.
Пока поисковый робот путешествует по интернету и индексирует веб-странички, параллельно он отсылает обратно в свой data-центр собранные им данные. Именно в этом центре данные обрабатываются согласно алгоритмов, а спам-фильтры отсеивают ненужное.
Подобно тому, как мы анализируем информацию из статьи в газете согласно своему видению мира, так и поисковики обрабатывает и ранжируют данные в строгом соответствии со своими законами и пониманием работы интернета.
Изучение: Так как поисковая машина ранжирует веб-странички согласно своему видению и пониманию законов функционирования интернета, а эти правила постоянно изменяются, то поисковые алгоритмы постоянно изменяются. Вот тут-то как раз и нужен механизм адаптации или самообучения поисковика.
В то же время, наряду в способностях просматривать странички, поисковые роботы должны уметь определять и наказывать попытки запрещенной раскрутки сайта. При этом благосклонно относится к честным вебмастерам и оптимизаторам.
Вот примеры тех областей, в которых поисковые машины так часто любят менять свои алгоритмы:
* Определения релевантности контента того сайта, на который она нашла ссылку;
* Способность обнаруживать информацию, которая содержится в новых типах данных, к примеру, базы данных, flash и т.п.
* Понимание нечестных методов раскрутки сайтов, таких как размещение "невидимого" текста, ссылок и т.п. Данные технологии рассматриваются поисковой машиной как спам, а пойманные на этом ресурсы попадают в так называемый "черный список";
* Изучение полученных данных, выявление недостатков в индексации, что приводит в действие механизм изменения алгоритма в сторону более эффективного определения релевантности сайта.
Способность к изучению и адаптации к окружающему интернет-пространству изначально закладывается при разработке алгоритмов работы поисковой машины. Ну и, само собой, остается актуальной до следующего обновления алгоритма.
От теории к практике
Все, о чем было сказано выше, касалось лишь аспектов работы поисковой машины. А вот как эти знания применить для раскрутки сайта? Все дело в том, что для правильного выбора стратегии раскрутки необходимо хорошо понимать, каким образом работает эта самая поисковая машина: собирает информацию, ранжирует сайты и т.д.
В свое время, когда одним из основных методов раскрутки было размещение большого количества ключевых слов на страницах сайта, многие вебмастера создавали целые сообщества из сайтов, дабы взаимным обменом ссылок достичь высоких позиций в рейтингах. А вот работает ли эта тактика сегодня? Работает, только результат скорее всего будет временным и краткосрочным.
Ведь поисковая машина, как и человек, хочет выжить в агрессивной окружающей среде. Поэтому, если результаты их работы будут плохими (а вот как раз нечестные методы раскрутки часто ведут к выдаче ненужной посетителю информации), то они медленно, но уверенно перестанут существовать. А ведь при постоянно растущей конкуренции эволюционировать крайне необходимо.
Для примера, пользователю значительно удобнее и проще найти сайт с множеством контента, который ему необходим. Как правило, на таких сайтах он часто обновляется, что позволяет сайту быть актуальным. Поэтому делайте выводы.
Немаловажным моментом остается и обмен ссылками. В данном вопросе намечается тенденция к снижению релевантности обратных ссылок, а обмен ссылками между сайтами разных тематик и вовсе малоэффективен. Но если же вы все же решите поставить обратные ссылки, то обязательно убедитесь, что они ведут на родственные по тематике сайты.
Данная стратегия хорошо работает как для привлечения посетителей, так и для повышения релевантности сайта. Ведь многие пользователи переходят из сайта на сайт по внутренним ссылкам. А если они еще и стоят на авторитетном и посещаемом ресурсе, то это только дополнительный плюс.
И напоследок...
Сам собою напрашивается вывод делать ставку на будущее. И отношение к поисковой машине как живому организму (пусть и в общих чертах) поможет выбрать правильную тактику. Вот когда она в очередной раз придет на ваш сайт, то "накормите" ее вкусным новым контентом, новыми разделами и она обязательно еще к вам вернется. А вот негостеприимных сайтов они не любят, как и быть обманутыми нечестными хозяевами. У роботов память отменная...
|
|
Внимание! Если у вас не получилось найти нужную информацию, используйте рубрикатор или воспользуйтесь поиском
.
книги по программированию исходники компоненты шаблоны сайтов C++ PHP Delphi скачать
|
|