Основные принципы систем Виртуальной Реальности 2
Стандарт Virtual Reality Modeling Language (VRML)
Выпуск стандарта Virtual Reality Modeling Language (VRML) стимулировал рост популярности технологии виртуальной реальности. VRML - трехмерный графический аналог языка Hypertext Markup Language (HTML), который применяется в гипертекстовой системе World-Wide Web сети Internet. Он позволяет с помощью текстового редактора создавать и передавать через Web объемные изображения, подобно тому, как HTML дает возможность строить, компоновать и пересылать по Internet текст и графику. Принимая во внимание рост числа пользователей Internet в целом и World-Wide-Web в частности, можно с уверенностью сказать, что именно VRML явилось одним их тех самых средств, которые позволили технологии виртуальной реальности покинуть помещения лабораторий и получить широкое распространение в современном компьютерном мире.
В настоящее время с помощью VRML во всем мире разрабатываются сотни объемных систем виртуальной реальности для Web, начиная с простых трехмерных графических сред, ориентированных на обычные компьютеры, и кончая продуктами, полностью погружающими пользователя в киберпространство, для которых требуются электронные очки или шлем и перчатки.
В сети Internet уже используется множество объемных игр, систем визуализации научных разработок, образовательных программ и интерактивных каталогов, основная часть которых разработана с помощью специализированных средств. VRML позволяет не только стандартизовать способ создания таких трехмерных сред, но и расширить их дополнительными возможностями, например многопользовательским режимом.
Основная технология VRML была разработана Гевином Беллом (Gavin Bell), инженером компании Silicon Graphics (Маунтин-Вью, шт.Калифорния). Фактически же VRML - это просто язык описаний, снабженный дополнительными средствами для создания виртуальной реальности. Подобно другим языкам программирования, в нем реализован метод определения взаимодействия объектов друг с другом.
Несмотря на использование простого файлового формата ASCII, язык VRML дает возможность описывать сложные графические объекты, такие, как кубы и многоугольники, способы освещения, материалы и различные спец-эффекты, придающие изображению реал теперь в него внесено так много дополнений, что меня уместнее назвать его отцом". После конференции в Женеве Пиз стал ведущим списка рассылки www-vrml сети Internet, в которой обсуждались вопросы создания стандарта для просмотра трехмерных изображений.
Тысячи пользоватей предложили свои идеи, из которых Пиз, Белл и их помощники выделили три основные: независимость от платформы, расширяемость и высокая производительность даже для линий связи с низкой пропускной способностью. Таким образом, меньше чем за год были коллективно подготовлены требования к стандарту VRML. Затем Белл на базе формата OIFF и предложений со стороны сообщества пользователей разработал технологию для VRML. Независимость от платформы была реализована, когда Silicon Graphics согласилась выпустить упомянутую ASCII-версию OIFF и соответствующий синтаксический анализатор, с помощью которого разработчики программ могут отлаживать VRML-объекты. Кроме того, Silicon Graphics вместе с компанией Template Graphics Software (Сан-Диего) создала серию платформно-независимых средств просмотра для VRML под названием WebSpace.
Второе требование к VRML - расширяемость - было реализовано путем встраивания в язык средств распространения созданных с его помощью объектов виртуальной реальности по распределенным средам.
"Миры VRML могут бесконечно расширяться, - объяснил Белл. - Они не привязаны к ресурсам одного компьютера, а могут распространяться через World-Wide Web". Благодаря этому виртуальная реальность, разработанная средствами VRML, может расширяться в зависимости от вычислительных ресурсов любой системы, входящей в сеть. "VRML включает также и средства для вывода этих виртуальных миров, которые могут быть очень большими и детализированными, на экран обыкновенного компьютера", - добавил Белл.
Третье условие - высокая производительность при низкой пропускной способности - выполняется путем запуска программ моделирования виртуальной реальности на том же локальном компьютере, где загружена программа просмотра, а не на удаленном сервере. Для создания законченной, полностью автономной виртуальной среды требуется всего 100 байтов кода на VRML, а программа просмотра может сформировать практически неограниченное количество представлений этой виртуальной реальности с различных точек зрения, не обмениваясь при этом данными с удаленным сервером.
Основная задача VRML состоит в изменении способа восприятия информации, получаемой через Internet, возможности которой до этого ограничивались распространением текста и двумерной графики. Пионеры новой технологии надеются, что с помощью VRML в восприятии данных будут участвовать органы чувств. Идея заключается в превращении "двумерного" наполнения системы Web, для взаимодействия с которой пользователи применяют мышь, клавиатуру и дисплей, в объемный мир; общаться с ним можно будет посредством самых различных периферийных устройств. В результате Web станет субъективной средой, в которой пользователи смогут по-разному воспринимать виртуальные миры. С помощью средств VRML каждый из них будет получать собственное представление об информации, передаваемой по сети. Стандарт VRML, разработанный Пизом, Беллом и множеством энтузиастов, получил одобрение со стороны комитета World-Wide Web Organization, который регулирует направление развития этой системы.
Особенности проектирования виртуальных миров
При проектировании интерфейса для ВР недостаточно отображения плоских объектов в пределах конечного (и при том небольшого) прямоугольника. Необходимо размещать трехмерные объекты где угодно, в теоретически ничем неограниченном пространстве. Некоторые объекты при этом могут легко потеряться.
Большинство виртуальных миров, созданных к настоящему времени, содержит относительно немного объектов, так что не приходится особенно беспокоиться о том, что одни объекты заслоняются другими, однако в будущем ситуация должна измениться. Чтобы движения передавались плавно, нужна частота обновления картинки не менее 10 кадров в секунду, а для обеспечения адекватного взаимодействия с пользователем реакция на его команды со стороны системы ВР должна наступать до смены кадра. Это особенно важно соблюдать при работе с HMD (Head Mounted Display) во избежание так называемой "тренажерной болезни", порождаемой расхождением между тем, что пользователь ощущает физически, и тем, что пользователь видит в данный момент. Типичная рабочая станция позволяет выполнять рендеринг со скоростью порядка 30 тысяч ломанных в секунду. При частоте 10 кадров в секунду это означает, что сцена может содержать не более 3000 ломанных, а этого не достаточно для построения детальных моделей. Пытаясь обойти эти ограничения, многие разработчики создают специализированные параллельные процессоры. Примерами являются графические процессоры на транспьютерах, а также серия суперкомпьютеров Pixel Planes/PixelFlow, разработанных в университете штата Северная Каролина.
Повышение степени детальности сцены и увеличение частоты смены кадров - требования, противоречащие друг другу, поэтому приходится искать определенный компромисс. Иногда динамически перестраивают разрешение в зависимости от движений пользователя: большую часть времени система рисует очень грубое изображение, но когда пользователь не меняет положение головы, изображение заполняется новыми деталями. Если позволяют имеющиеся программные средства и форматы данных, можно определить несколько разных представлений объекта, показывая, например, менее детальное изображение, когда объект находится далеко.
Говоря о стереоскопических дисплеях, хочется отметить, что физиологические факторы восприятия глубины - несовпадение полей зрения - эффективны лишь на небольших расстояниях, примерно до 2 метров. За этой границей наше восприятие глубины основывается на психологических признаках - параллаксе движений, градиентах текстур, заслонении одних предметов другими, тенях.
Параллакс движений можно учитывать автоматически, путем слежения за положением головы. Текстурирование изображения - прекрасный способ создать признаки глубины, задавая градиент структуры. Это также отличный способ повысить детальность сцены, не увеличивая количество ломанных. Часто бывает достаточно ввести в изображение лишь простую "проволочную" сетку, чтобы получить градиент текстуры. Тени, отбрасываемые объектами, очень эффективно создают дополнительные признаки глубины. Для точного построения теней требуются большие объемы вычислений, но часто их удается заменить несложными геометрическими формами, привязанными к соответствующим объектам. Зрительная система человека не так чувствительна к пониженному разрешению, если объекты передвигаются. Разрешение обычного телевизора намного хуже, чем у монитора, но мы этого не замечаем, так как изображения на экране постоянно движутся. Хорошо, если виртуальный мир имеет опорную горизонтальную поверхность, иначе пользователь может потерять ориентацию. Полезно также иметь возможность задавать геометрические ограничения взаимного расположения объектов: скажем, задать условие, в соответствии с которым два объекта сцеплены друг с другом, либо ограничить пределы передвижения одного объекта относительно другого. После разработки всей графики необходимо реализовать ее в рамках исполнительной системы. Выходные файлы должны создаваться в формате, с которым могут работать как исполнительная система, так и прикладная программа. Наиболее популярные форматы описания - AutoCAD, RenderMan и Swivel. Из них только формат Swivel разрабатывался с учетом использования в системах ВР. Формат RenderMan разработан для создания "фотореалистических" изображений. Удобно, что в этом формате предусмотрена управляемая геометрия (возможность выбора разных описаний объекта в зависимости от расстояния, параметров цветов, текстуры).
Звуковые возможности, в большинстве систем ВР, сводятся в основном к воспроизведению заранее записанных звуков. Техника тактильных моделей находится в зачаточном состоянии.
Системы ВР развиваются с каждым денем. В эту технологию вложено достаточно большое количество денег, и она применима в различных областях деятельности человека, причем уже сегодня дает поразительные результаты. В этой небольшой статье у меня не было возможности охватить все аспекты ВР-систем, но основные факты были изложены.
Надеюсь, что в скором времени у меня будет еще возможность вернуться к этой теме.
Максим Круглов
Выпуск стандарта Virtual Reality Modeling Language (VRML) стимулировал рост популярности технологии виртуальной реальности. VRML - трехмерный графический аналог языка Hypertext Markup Language (HTML), который применяется в гипертекстовой системе World-Wide Web сети Internet. Он позволяет с помощью текстового редактора создавать и передавать через Web объемные изображения, подобно тому, как HTML дает возможность строить, компоновать и пересылать по Internet текст и графику. Принимая во внимание рост числа пользователей Internet в целом и World-Wide-Web в частности, можно с уверенностью сказать, что именно VRML явилось одним их тех самых средств, которые позволили технологии виртуальной реальности покинуть помещения лабораторий и получить широкое распространение в современном компьютерном мире.
В настоящее время с помощью VRML во всем мире разрабатываются сотни объемных систем виртуальной реальности для Web, начиная с простых трехмерных графических сред, ориентированных на обычные компьютеры, и кончая продуктами, полностью погружающими пользователя в киберпространство, для которых требуются электронные очки или шлем и перчатки.
В сети Internet уже используется множество объемных игр, систем визуализации научных разработок, образовательных программ и интерактивных каталогов, основная часть которых разработана с помощью специализированных средств. VRML позволяет не только стандартизовать способ создания таких трехмерных сред, но и расширить их дополнительными возможностями, например многопользовательским режимом.
Основная технология VRML была разработана Гевином Беллом (Gavin Bell), инженером компании Silicon Graphics (Маунтин-Вью, шт.Калифорния). Фактически же VRML - это просто язык описаний, снабженный дополнительными средствами для создания виртуальной реальности. Подобно другим языкам программирования, в нем реализован метод определения взаимодействия объектов друг с другом.
Несмотря на использование простого файлового формата ASCII, язык VRML дает возможность описывать сложные графические объекты, такие, как кубы и многоугольники, способы освещения, материалы и различные спец-эффекты, придающие изображению реал теперь в него внесено так много дополнений, что меня уместнее назвать его отцом". После конференции в Женеве Пиз стал ведущим списка рассылки www-vrml сети Internet, в которой обсуждались вопросы создания стандарта для просмотра трехмерных изображений.
Тысячи пользоватей предложили свои идеи, из которых Пиз, Белл и их помощники выделили три основные: независимость от платформы, расширяемость и высокая производительность даже для линий связи с низкой пропускной способностью. Таким образом, меньше чем за год были коллективно подготовлены требования к стандарту VRML. Затем Белл на базе формата OIFF и предложений со стороны сообщества пользователей разработал технологию для VRML. Независимость от платформы была реализована, когда Silicon Graphics согласилась выпустить упомянутую ASCII-версию OIFF и соответствующий синтаксический анализатор, с помощью которого разработчики программ могут отлаживать VRML-объекты. Кроме того, Silicon Graphics вместе с компанией Template Graphics Software (Сан-Диего) создала серию платформно-независимых средств просмотра для VRML под названием WebSpace.
Второе требование к VRML - расширяемость - было реализовано путем встраивания в язык средств распространения созданных с его помощью объектов виртуальной реальности по распределенным средам.
"Миры VRML могут бесконечно расширяться, - объяснил Белл. - Они не привязаны к ресурсам одного компьютера, а могут распространяться через World-Wide Web". Благодаря этому виртуальная реальность, разработанная средствами VRML, может расширяться в зависимости от вычислительных ресурсов любой системы, входящей в сеть. "VRML включает также и средства для вывода этих виртуальных миров, которые могут быть очень большими и детализированными, на экран обыкновенного компьютера", - добавил Белл.
Третье условие - высокая производительность при низкой пропускной способности - выполняется путем запуска программ моделирования виртуальной реальности на том же локальном компьютере, где загружена программа просмотра, а не на удаленном сервере. Для создания законченной, полностью автономной виртуальной среды требуется всего 100 байтов кода на VRML, а программа просмотра может сформировать практически неограниченное количество представлений этой виртуальной реальности с различных точек зрения, не обмениваясь при этом данными с удаленным сервером.
Основная задача VRML состоит в изменении способа восприятия информации, получаемой через Internet, возможности которой до этого ограничивались распространением текста и двумерной графики. Пионеры новой технологии надеются, что с помощью VRML в восприятии данных будут участвовать органы чувств. Идея заключается в превращении "двумерного" наполнения системы Web, для взаимодействия с которой пользователи применяют мышь, клавиатуру и дисплей, в объемный мир; общаться с ним можно будет посредством самых различных периферийных устройств. В результате Web станет субъективной средой, в которой пользователи смогут по-разному воспринимать виртуальные миры. С помощью средств VRML каждый из них будет получать собственное представление об информации, передаваемой по сети. Стандарт VRML, разработанный Пизом, Беллом и множеством энтузиастов, получил одобрение со стороны комитета World-Wide Web Organization, который регулирует направление развития этой системы.
Особенности проектирования виртуальных миров
При проектировании интерфейса для ВР недостаточно отображения плоских объектов в пределах конечного (и при том небольшого) прямоугольника. Необходимо размещать трехмерные объекты где угодно, в теоретически ничем неограниченном пространстве. Некоторые объекты при этом могут легко потеряться.
Большинство виртуальных миров, созданных к настоящему времени, содержит относительно немного объектов, так что не приходится особенно беспокоиться о том, что одни объекты заслоняются другими, однако в будущем ситуация должна измениться. Чтобы движения передавались плавно, нужна частота обновления картинки не менее 10 кадров в секунду, а для обеспечения адекватного взаимодействия с пользователем реакция на его команды со стороны системы ВР должна наступать до смены кадра. Это особенно важно соблюдать при работе с HMD (Head Mounted Display) во избежание так называемой "тренажерной болезни", порождаемой расхождением между тем, что пользователь ощущает физически, и тем, что пользователь видит в данный момент. Типичная рабочая станция позволяет выполнять рендеринг со скоростью порядка 30 тысяч ломанных в секунду. При частоте 10 кадров в секунду это означает, что сцена может содержать не более 3000 ломанных, а этого не достаточно для построения детальных моделей. Пытаясь обойти эти ограничения, многие разработчики создают специализированные параллельные процессоры. Примерами являются графические процессоры на транспьютерах, а также серия суперкомпьютеров Pixel Planes/PixelFlow, разработанных в университете штата Северная Каролина.
Повышение степени детальности сцены и увеличение частоты смены кадров - требования, противоречащие друг другу, поэтому приходится искать определенный компромисс. Иногда динамически перестраивают разрешение в зависимости от движений пользователя: большую часть времени система рисует очень грубое изображение, но когда пользователь не меняет положение головы, изображение заполняется новыми деталями. Если позволяют имеющиеся программные средства и форматы данных, можно определить несколько разных представлений объекта, показывая, например, менее детальное изображение, когда объект находится далеко.
Говоря о стереоскопических дисплеях, хочется отметить, что физиологические факторы восприятия глубины - несовпадение полей зрения - эффективны лишь на небольших расстояниях, примерно до 2 метров. За этой границей наше восприятие глубины основывается на психологических признаках - параллаксе движений, градиентах текстур, заслонении одних предметов другими, тенях.
Параллакс движений можно учитывать автоматически, путем слежения за положением головы. Текстурирование изображения - прекрасный способ создать признаки глубины, задавая градиент структуры. Это также отличный способ повысить детальность сцены, не увеличивая количество ломанных. Часто бывает достаточно ввести в изображение лишь простую "проволочную" сетку, чтобы получить градиент текстуры. Тени, отбрасываемые объектами, очень эффективно создают дополнительные признаки глубины. Для точного построения теней требуются большие объемы вычислений, но часто их удается заменить несложными геометрическими формами, привязанными к соответствующим объектам. Зрительная система человека не так чувствительна к пониженному разрешению, если объекты передвигаются. Разрешение обычного телевизора намного хуже, чем у монитора, но мы этого не замечаем, так как изображения на экране постоянно движутся. Хорошо, если виртуальный мир имеет опорную горизонтальную поверхность, иначе пользователь может потерять ориентацию. Полезно также иметь возможность задавать геометрические ограничения взаимного расположения объектов: скажем, задать условие, в соответствии с которым два объекта сцеплены друг с другом, либо ограничить пределы передвижения одного объекта относительно другого. После разработки всей графики необходимо реализовать ее в рамках исполнительной системы. Выходные файлы должны создаваться в формате, с которым могут работать как исполнительная система, так и прикладная программа. Наиболее популярные форматы описания - AutoCAD, RenderMan и Swivel. Из них только формат Swivel разрабатывался с учетом использования в системах ВР. Формат RenderMan разработан для создания "фотореалистических" изображений. Удобно, что в этом формате предусмотрена управляемая геометрия (возможность выбора разных описаний объекта в зависимости от расстояния, параметров цветов, текстуры).
Звуковые возможности, в большинстве систем ВР, сводятся в основном к воспроизведению заранее записанных звуков. Техника тактильных моделей находится в зачаточном состоянии.
Системы ВР развиваются с каждым денем. В эту технологию вложено достаточно большое количество денег, и она применима в различных областях деятельности человека, причем уже сегодня дает поразительные результаты. В этой небольшой статье у меня не было возможности охватить все аспекты ВР-систем, но основные факты были изложены.
Надеюсь, что в скором времени у меня будет еще возможность вернуться к этой теме.
Максим Круглов
Компьютерная газета. Статья была опубликована в номере 24 за 1999 год в рубрике hard :: технологии