Giglavy.com / Публикации / Изменения свойств и наложение текстур в редакторе Internet3D Space Builder 2. 1. 2

 Рис. 1
 Рис. 3
 Рис. 4
 Рис. 5

 Рис. 6

 Рис. 10
 Рис. 11
 Рис. 13
 Рис. 14
 Рис. 2
   "Практическое занятие номер один" (статья "Моделирование VRML-сцен в редакторе Internet3D Space Builder 2. 1. 2) было посвящено моделированию. Совсем немного было сказано о наложении текстур. Если вы хорошо проработали "первое практическое занятие", то у вас должно было получиться примерно то же самое, что и на рисунке №1. Я обещал рассказать о том, как вставить прозрачные окна с фигурными рамами и украсить стены картинками и анимационными фрагментами. Ведь, согласитесь, что такой примитивный элемент интерьера, как кухонная плита, приобретет особый шарм, если над ней повесить великолепную картину Карла Брюллова "Последний день Помпеи". Раковину в ванной или на кухне украсит романтическое полотно Ивана Айвазовского "Черное море", а стену прихожей - одно из наиболее известных и весьма актуальных для некоторых квартир творение Репина "Не ждали". Федотовский "Завтрак аристократа" может создать иллюзию дополнительного подпространства над рабочим столом в кабинете, а "Портрет поэта А. С. Пушкина" работы Ореста Адамовича Кипренского будет поражать своим идиллическим величием посетителей библиотеки. И так далее, и так далее... Для того чтобы дождь не замочил плоды деятельности великих художников, надо вставить в оконные проёмы рамы со стеклами.
   В той модели, которая изображена на рисунке №1, все оконные проёмы одинаковы. Поэтому вам достаточно сделать лишь одно окно, а затем скопировать его нужное количество раз. Сделайте объект First_floor текущим. Перейдите в режим редактирования этого объекта командой Object/Edit. Создайте новый объект под названием Window1. Для того чтобы текстура фигурной рамы (рисунок №2) правильно легла на поверхность объекта-окна, нужно поменять параметры наложения текстуры (в окне Tools/Options/Texture Mapper поменяйте параметры по горизонтали (Horizontal) на 1 и по вертикали (Vertical) на 1.5). Поскольку в стандартной библиотеке нет текстуры фигурного окна, вам придется её нарисовать самим в любом приличном графическом редакторе. Установите грани Guides так, чтобы нижняя совпадала с подоконниками окон первого этажа, а верхняя - с их полукруглыми завершениями. Нарисуйте прямоугольный параллелепипед в стене фасада (рисунок №3).
   Теперь надо сделать его прозрачным. Щелкните правой кнопкой мыши на грани непрозрачного окошка в окне визуализации. Выбрав в появившемся Right-click-меню пункт Map Texture, вы перейдете в модуль Texture Mapper.
Пиктограмма (Texture Mapper Bar) выводит на экран специальную панель для регулирования прозрачности (Transparency Mask), цвета грани без текстуры (Face Color) и для определения направления и скорости движения текстуры (Moving Texture). Наличие этих компонент панели определяется в Right-click-меню модуля Texture Mapper. Прозрачность регулируется стрелками, расположенными в правом нижнем углу рабочего экрана модуля Texture Mapper. Оптимальная прозрачность (рисунок №4) достигается одним нажатием стрелки, указывающей направо. Таким же образом сделайте прозрачной грань, смотрящую внутрь комнаты. Удерживая правую кнопку мыши можно двигать текстуру на полигоне.
   Скопируйте объект Window1 в буфер обмена (команда Edit/Copy). Каждый раз, вставляя из буфера окно, заполните все имеющиеся в доме оконные проёмы. Пускай объект Window1 будет командывать всеми остальными окнами и подчиняться объекту First_floor. Для этого его нужно делать текущим перед каждой процедурой вставки окна из буфера. Все окна второго этажа должны подчиняться объекту Second_floor. В результате вы получите дом с прозрачными окнами (рисунок №5).
 Рис. 7
   Теперь пустые и голые стены надо украсить картинами. Работа с картинками осуществляется только в окне предварительного просмотра Perspective View. Для начала будем довольствоваться картинками из стандартной библиотеки. Для того чтобы увеличить размеры иконки предварительного просмотра, существует команда Tools/Options/Galleries. Выберите категорию Pictures и измените оба параметра Preview Size (Width и Height) на значение, равное 72 (в точках).
   Активизируйте панель Pictures (View/Pictures). Начнем с прихожей. Установите камеру в левом нижнем углу прихожей. Из загруженной библиотеки перетащите картинку с именем P94c1501 на стену, противоположную входной двери (рисунок №6). Картинка станет потомком объекта Inner_walls (рисунок №6). Удерживая правую кнопку мыши, вы имеете возможность перетаскивать картинку. Если тянуть за правый верхний угол картинки, то масштаб её будет меняться. Для того чтобы масштаб менялся в соответствии с пропорциями картинки, необходимо удерживать клавишу Shift. Вызвав Right-click-меню картинки, выберите пункт Pin. В данном контексте слово Pin означает - "приколоть", "повесить". Картинка "прикалывается" для того, чтобы в процессе навигации, который, как известно, осуществляется при постоянном нажатии на левую кнопку мыши, не изменялось местоположение самой картинки. Далее вы можете выбрать любую картинку и перетащить её на любую стену внутри дома аналогичным образом.
 Рис. 8
 Рис. 9
   Картинка - элемент иерархии объектов, принадлежащий тому объекту, на который её перетащили. В Right-click-меню картинки есть пункт Link URL.... (URL - Uniform Resource Locator (единообразный определитель местоположения ресурса)), вызывающий окно, где вы указываете адрес HTML-странички или VRML-сцены. Программа просмотра VRML-файлов будет осуществлять переход из вашего пространства в сцену или на страничку в соответствии с этим адресом. В качестве программы просмотра я рекомендую использовать бесплатный Cosmo Player от SGI (http://vrml.sgi.com), который обещали включить в комплект Netscape Navigator. Естественно, что разным картинкам можно присваивать разные адреса.
    Теперь два слова о движущихся текстурах. Плывущие облака на потолке можно увидеть лишь в двух случаях: либо снесло крышу у дома, в котором вы находитесь, либо просто "снесло крышу". В ISB потолок с плывущими облаками возможен без сноса крыши дома. В нашем замечательном особняке облака поплывут по потолку первого этажа. Сделайте текущей текстуру Cld06 из каталога C:\ISB2_1\TEXTURES\CLOUDS (рисунок №7). Перетащите её на потолок. Щелкните правой кнопкой мыши на грани потолка в окне визуализации. Выбрав в появившемся Right-click-меню пункт Map Texture, вы перейдете в модуль Texture Mapper. Нажмите четыре раза на пиктограмму Expand, увеличив тем самым размер текстуры. Для уменьшения размера текстуры на полигоне используется пиктограмма Shrink. В Right-click-меню модуля Texture Mapper задайте наличие элемента панели Texture Mapper Bar для определения движения текстуры (Moving Texture). В правой части экрана появится дополнительная панель (рисунок №8). Потяните за красную точку, расположенную в центре круга, и отодвиньте её так, как показано на рисунке №9. Затем нажмите клавишу Start (под кругом). И облака на потолке поплывут. Скорость движения текстуры зависит от её размера на полигоне. Чем чаще повторяется изображение текстуры на полигоне, тем медленнее скорость её движения.
   Облака плывут, окна прозрачные, картинок - хоть отбавляй. Не хватает только мебели. Теперь, после стольких мучений, можно попользоваться результатами бурной деятельности художников АО "Параграф" - стандартной библиотекой объектов.
   Активизируйте панель Objects (View/Objects). Перейдите в ней в каталог Furniture. Удерживая правую клавишу мыши, перетащите объект Armchair3 на пол прихожей рядом с окошком (там, где правый нижний угол картины) в окно визуализации Perspective View. Точно также перенесите еще одно кресло и поставьте его рядом с другим углом картины. Затем между двух кресел поставьте объект Stool2. На Stool2 поставьте лампу Lamp. Остальную часть дома можете обставить, как вам будет угодно. Важно лишь помнить, что объект, перетаскиваемый из стандартной или пользовательской библиотеки, будет потомком того объекта, на который его перетащили, вплотную примыкая нижними гранями к поверхности своего "начальника" в иерархии объектов.
   В "первом практическом занятии" я обещал также работающий телевизор. Поставьте в правом нижнем углу прихожей уже имеющийся Stool2 в качестве подставки для телевизора. Поверните его слегка. Возьмите объект TV и перетащите его на поверхность Stool2, "подчиненным" которого он станет (рисунок №10). Активизируйте панель Movies (View/Movies). Перетащите анимационный фрагмент Wave на экран телевизора. Исправьте его масштаб в соответствии с размером и пропорциями экрана (рисунок №11). С помощью операции Pin (из Right-click-меню для анимационного фрагмента в окне визуализации) приколите мультик к экрану телевизора. На рисунке №11 видно, как мультик Wave относится к остальным элементам иерархии объектов.
   Анимационные фрагменты имеют те же свойства, что и картинки. Каждый анимационный фрагмент представлен в виде совокупности графических файлов (кадров мультфильма). Скажем, мультик Wave хранится в памяти как набор файлов Wave00, Wave01,...,Wave24. Для того чтобы сделать что-то типа мультфильма Wave, надо включить в программе моделирования и визуализации анимации (3D Studio for DOS или 3D Studio MAX) покадровый рендеринг c автоматическим индексированием файлов. При этом достаточную роль играет зацикленность анимации (например, крутящаяся надпись или логотип компании), создающая иллюзию вечного и непрерывного движения.
 Рис. 12
   Плоскость зеленой земли надо покрыть листьями. В директории C:\ISB2_1\TEXTURES\LEAVES есть текстура Leaf13 (рисунок №12). Перетащите её на поверхность земли. Перейдя в модуль Texture Mapper, измените её частоту, выполнив два раза операцию Expand (пиктограмма Expand). Рядом с домом надо обязательно поставить несколько пальм, чтобы защитить усталые глаза отдыхающих на крыльце гостей. В категории Objects есть каталог PLANTS, содержащий модели деревьев. Из него надо выбрать файл Tree3. Перенесите дерево на участок и увеличьте его в четыре раза. Сделайте несколько копий увеличенного дерева так, как показано на рисунке №12. Если хотите, можете отгородить участок забором. Объяснять, как это делается, нет необходимости. На последнем рисунке №14 видны пальмы за окном. Это лишний раз подтверждает относительное качество прозрачности. Сохранитесь (команда File/Save).
   Первая в вашей жизни законченная VRML-сцена окончательно готова для отправки на какой-нибудь скромненький Web-сервер (File/Post To Web). Отделка сцены зависит от вашего воображения и от умения пользоваться более сложными и функциональными средствами моделирования. Мне остается только пожелать вам удачи в создании собственных виртуальных миров для огромного информационного пространства Internet!

Copyright © 1997—2005 Дмитрий Гиглавый | E-mail: giglavy@rambler.ru