Создание аватара для AW методом "разрезания" персонажа из игры. Пошаговая инструкция.
Введение
Подготовка текстур
Настройка 3ds Max
Назначение текстур
Выравнивание аватара
Способ №1 - ботинок
Способ №2 - колено
Бедро   Таз
Копируем ногу
Руки   Кисть
Локоть   Плечо
Плечи в туловище
Поясница    Шея
Голова
Экспорт в WRL
AccuTrans 3ds
Layers   Joint   Action
Transfer Layers
Настройки света
Double Sided
Назначаем маску
Сохранение, рост
О названиях текстур
Локальный кеш-метод №1
Локальный кеш-метод №2
Правим avatars.dat
Почему не видим аватар
Подбор анимации
Дополнения

Аватары для миров можно создать многими спобами. Чтобы нарисовать с нуля человека в трёхмерной программе, требуется не только умение владеть техникой моделирования, но и иметь некоторые художественные навыки или природные таланты. И если первое путём изучения специальной литературы и применения изученного на практике, как правило, достижимо, то со вторым не всё так просто. Поэтому, что бы долго не мучится, возьмем героя из игры, которого создали профессионалы, и сделаем из него аватар, который будет иметь приличный вид, если его правильно обработать для миров.

Нам потребуются специальные программы: 3ds Max и AccuTrans 3D. Если вы предпочитаете работать не в 3ds Max, а в других аналогичных программах, делайте всё в них, руководствуясь основными принципами, изложенными в статье. Без AccuTrans 3D обойтись нельзя, это окончательный конвертор для миров, его можно скачать с сайта www.micromouse.ca. Конкретной ссылки не указываю, потому что программа постояно обновляется, соответствено изменяется и ссылка, ищите версию Full Install. Там же есть программа-конвертор, читающая различные редкие форматы трёхмерных моделей. Для приведения текстур к нужному виду необходим Photoshop или аналогичная программа.

Итак, у вас есть игра, разные конверторы, с помощью которых вы "достанете" персонаж из игры, то есть конвертируете в тот формат, который сможет открыть программа 3ds Max, или та программа, которой пользуетесь вы. Это всё индивидуально для каждой игры, поэтому тут вы действуете самостоятельно.

Если вы не смогли подобрать конвертор для нужной игры, то попробуйте 3D Ripper DX, который можно скачать вот тут: http://www.deep-shadows.com/hax/3DRipperDX.htm Там же есть хелп по его использованию.

Текстуры персонажа должны быть приведены к формату jpg. Здесь находится плагин для открывания *.dds формата в Фотошопе: dds.zip Если текстуры вашего аватара имеют формат dds, то скачайте архив, и находящийся в нём файл dds.8bi поместите в директорию Фотошопа. В той версии программы, которая установлена у меня, путь к этой директории выглядит так:
     F:\Adobe Photoshop CS2\Plug-Ins\File Formats

Если открывшиеся текстуры имеют такой вид как на рисунке:


то необходимо вырезать квадрат основной текстуры.


Оптимальные размеры готовых текстур для миров - 512x512, или меньше. Когда работаете с текстурами, включите окно "Каналы" в фотошопе, и если в текстуре есть Альфа-канал


то его отдельно надо сохранить, потому что это будет маска к данной текстуре. Эту маску вырезаем как квадрат и сохраняем отдельным файлом формата bmp.


Текстуры в играх имеют стандартные размеры: 512, 1024, 256 и др. Поэтому, зная эти цифры, вырезаем квадраты установив постоянную величину ширины и высоты того инструмента, которым пользуетесь вы


В дальнейшем, изменяя размеры текстур, желательно придерживаться именно этих цифр: 512, 1024, 256, так как с текстурами именно таких пропорций оптимально работают видеокарты.

На этом подготовительные работы окончены и приступаем к делу. Открываем модель в 3ds Max. Сразу сохраните открытую модель, например как 1.


В процессе работы все ключевые изменения лучше сохранять как новые файлы. Конечно, можно настроить программу на то, что б она сама помнила 100 ваших действий и если надо, сделать откат. Но вдруг завтра вы заметите что-то, что сделали бы по-другому и опять будете импортировать файл из игры и начинать всё с начала? Пошагово сохраняйте все действия и, возможно, это сбережет вам время впоследствии.

А настроить Макс так, что б он выполнял откат на большое количество действий можно, найдя через меню

     Customise - Preferences - General

В Levels пишите такую цифру, которая будет удобна вам в работе.


У меня указано 20, вы попробуйте 100, можете больше. Но подумайте, что каждый шаг программа будет держать в памяти, и, следовательно, займёт ресурсы компьютера. Если я порой могу открыть Макс, Фотошоп, Акутранс, AW, то начинаются тормоза. Потому у меня стоит 20, а вы выбирайте ту цифру, котороую позволяет вам ваш компьютер.

Там же, в настройках, уберите флажок с Использовать большие кнопки:


Нажмите ОК и перезапустите программу. Изображение на экране вашего монитора станет соответствовать иллюстрациям в статье :)

Учить работать в программе 3ds Max в данной статье нет смысла, потому что, как говорится, нельзя объять необъятное. Кто интересуется, ищите книги в интернете или в книжных магазинах и изучайте. Но имейте ввиду, что в работе над моделями для миров используется лишь часть возможностей 3ds Max. Мы не настраиваем в Максе источники света, не используем эффекты текстур типа шероховатости или яркости, не делаем скелета в человеке и вообще ничего не анимируем. Мы только моделируем сетку и накладываем полностью готовые текстуры, или же создаём карту текстурых координат для того что бы из неё сделать текстуру. Поэтому изучайте работу в программе избирательно. Я лишь покажу, какими основными инструментами будем пользоваться мы:


Попробуйте выделить стрелкой всю модель человека, затем её какую-то часть - только тело, или голову, или волосы. Затем попробуйте изменить выделенные объекты - передвинуть, развернуть, отмастшабировать. А теперь в каком-то ОДНОМ выбранном объекте модели, например в теле, выделите несколько вертексов, или полигон, или объект. Но перед этим перейдите к панели модификаторов, выбрав закладку, обведённую на рисунке красным в правом верхнем углу. Попробуйте теперь к вертексам или элементам применить те же: перемещение, вращение или масштабирование.
В правом нижнем углу обведена панель навигации. Здесь разобраться не трудно.
Вот мы побаловались, подёргали человека, возможно, сделав его ужасного вида. Можно всегда вернуться назад, нажав соответствующие стрелки выделенные в левом верхнем углу рисунка.

Приступаем к работе. Открыв наш будущий аватар, видим, что человек без текстур. Нам надо натянуть только что приготовленные текстуры формата jpg на модель. Сразу скажу, что сам файл модели и все текстуры к нему должны лежать в одной папке, это важно для последующего корректного отображения человека в мирах!

В меню находим кнопку Material Editor, которая на рисунке обведена красным, или нажимаем горячую клавишу М. Открылось окно Material Editor. Выделяем первый слот:


и далее в Blinn Basiс Parameters нажимаем квадрат, который на картинке обведён красным.


Появится окно Material/Map Browser. Там нажимаем Bitmap и в папке с текстурами выбираем первую текстуру для нашей модели.


Далее жмём Show Map in Viewport:


Так как мы открыли текстуру тела, то нам одеть её надо на тело. Выделяем тело модели:


и нажимаем в Material Editor кнопку Assign Material to Selection:


Как видим, текстура появилась на теле аватара. На следующий слот назначаем текстуру лица и назначаем её лицу. На третий слот выбираем текстуру волос и назначаем текстуру на волосы. Волосы у нас были с маской, но мы пока маску не трогаем, потому что часть волос будет с маской, часть без, возможно что-то из волос удалим, поэтому маску пропишем в самом конце. Наверняка у вас будут ещё текстуры, назначайте их соответствующим частям тела, однако помните о том, что бы текстуры и модель лежали в одной папке.

Нажмём F3 и посмотрим все ли части тела у нас затекстурены, может быть внутри головы есть зубы, или глаза, которые мы не заметили, на которые будет идти отдельная текстура. Если рот модели плотно закрыт, то зубы можно вообще удалить, тем самым мы облегчим модель, что очень желательно. Но если рот чуть приоткрыт и вы удалите зубы, то получится дырка вникуда. Действуйте внимательно.

Для удобства работы аватар передвигаем на пересечение оси координат.


и вообще выравниваем, если он, как в данном случае, развёрнут и стоит неровно.

На рисунке обведена кнопка Algin:


Если нажать на неё, а затем кликнуть по аватару, то, изменяя опции в выпавшем диалоговом окне, можно атоматически выровнять аватар по сетке, может кому-то проще будет сделать так, всё ещё зависит от модели.

Выровняли, и сохранили как 2. Идём дальше. В свитке справа выбираем Modify:


Нажимаем F3 для того, чтобы видеть сетку. И приступаем к работе над телом. Выберите Element:


и попробуйте посмотреть, какие есть элементы у аватара. В дальнейшем наличие элементов в цельном, казалось бы, объекте тела, облегчит нам работу. Итак, мы нашли руки, ботинки, плечи, это уже хорошо.


Начнём с ног. Перед этим на всякий случай продублируем всю модель, что бы иметь её первоначальный вид. Выделим всю модель человека, нажмём Shift и двинем высоко над головой. Пусть пока будет. Затем выделяем только тело и, удерживая Shift, передвинем сторону.


У только что скопированного тела нам надо отделить ботинок. Выделяем Элемент ботинка.


Кликнем правой кнопкой мыши по нём и в выпавшем меню выбираем Detach.


У нас получился новый элемент.


Остальное тело удалим. Ботинку можно назначить свой цвет в Properties.


Нажали F3 и увидели, что только что отделённый ботинок прозрачен изнутри и в месте отреза круглая дыра. Иначе быть и не могло. Поэтому приступим к заделыванию дыры. Есть несколько путей для реализации этой задачи. Сейчас воспользуемся одним из них. Выбираем в правом свитке Edge, и, удерживая ШИФТ, выделяем все отрезки по краю среза:




Далее, удерживая ШИФТ, тянем выделенные отрезки вверх.


Делаем ещё раз тоже самое.


И ещё раз.


Нажмите F3 и посмотрите что получилось. Если ничего страшного не видим, в образовавшемся сапоге дырок нигде нет, значит отрезки по краю выделили правильно, и работаем дальше. Выбираем Vertex, выделяем точки самого верхнего края ботинка.


Ищем в правом свитке Collapse.


Нажимаем Collapse.


Нажав Collapse, мы соединили все выделенные точки в одну. Далее выделяем следующий, предпоследний ряд точек и только что образованный вертекс и уменьшаем.


Пододвинули самую верхнюю точку немного вниз.


Выделили уменьшенный ряд точек и тоже двинули вниз.


Выделили теперь 2 ряда и тоже уменьшили их.


Двинули вниз.


Смотрим что получилось. Мы сделали закругление у ботинка, но оно немного забольшое и при ходьбе будет вылазить. Поэтому ещё немного все ряды закругления сдвигаем вниз.


Сдвигаем ещё чуть-чуть по оси Y и ещё немного вниз.


На этом подробном примере показано, как сделать закругление у отрезанной части тела способом номер 1. То, каким по виду вы сделаете это закругление, повлияет на качество аватара. Можно, конечно сделать просто Collapse одного ряда, именно так и сделаны руки-ноги у моделей мегопатча. Но с тех пор время ушло вперёд, мы привыкли к качественной графике в играх, и хочется, что бы аватары в мирах смотрелись натурально, без разрывов в конечностях во время движения. Поэтому 3 ряда в закруглении оптимальный вариант. Хотя, повторюсь, есть много моделей где такой ряд всего лишь один. Но нам это не подходит.

Итак, посмотрели ещё раз на ботинок с текстурами.


Убедились, что ничего страшного там нет, и двигаем ботинок к ноге, совмещая с тем ботинком, что есть неотделённый у тела.

Выделяем тело.


Затем элемент неотделенного ботинка.


Удаляем его.

Делаем колено. Выделяем тело с вновь сделанным ботинком и двигаем в сторону, удерживая Shift


Изучив характер текстур на ноге, приходим к выводу, что для моделирования закруглений подойдёт
способ номер 2. Суть его такова. Выделяем в теле полигоны примерно так:


Удаляем их. Вот наша линия колена, по которой условно пройдёт разрез.


Но удалять всё находящееся выше этой линии мы не будем, а просто сделаем закругление из тех рядов ноги, которые уже есть. Выделяем крайний ряд вертексов:


Жмём Collapse, двигаем получившуюся точку немного вниз.


Затем выделяем следующий ряд вертексов, уменьшаем их.


Двигаем вниз и немного вперёд по оси Y.


Уменьшаем теперь 2 ряда точек.


Приводим точки к куполообразному виду, передвигая и уменьшая так, как вам подсказывает ваше чутьё. Смотрим, как это будет выглядеть с текстурами.


Назначаем вновь образованной части тела другой цвет, и передвигаем к телу вместе с ботинком.


Выделяем объект тела, удаляем ниже колена ненужные погоны. При это оставляем несколько рядов для того, что бы сделать закругление.


Делаем закругление вышеописанным способом номер 2: Collapse крайнего ряда, уменьшением и подтягиванием последующих рядов. Мешающие работе полигоны другой ноги можно удалить.


Итого у нас получилось колено, с двумя закруглениями.


Смотрим, что верхний купол немного великоват и двигаем точки в нём немного ниже.


Красной точкой показано место, где примерно будет находиться условная точка соединения бедра и колена, ось, цепляясь за которую будет конечность вращаться. В идеале при вращении не должно получаться дыры, и не должно ничего вылазить наружу. Как вы сделаете закругления, зависит от вашего глаза и опыта. Сохраняем всю модель как 2.

Делаем бедро. Опять копируем всё тело и двигаем его в сторону. Удаляем руки, торс.


Далее сносим половину таза.


Получившуюся дыру:


заделаем методом поочерёдного соединения вертексов. Можно в принципе снести всё лишнее и выстроить закругление на верхней части бедра способом номер 1. Но мы простых путей не ищем. Мы сделаем сложнее, так как часть тела подвижная и красивая, не хочется её портить, а в способе номер 1 есть такой недостаток, что выстроенный купол не совсем качественно затекстурен. Там, где это не видно и не бросается в глаза, никому этот недостаток не мешает. В данном случае лучше потрудиться и сделать без видимых недостатков. Выделяем 2 полигона.


Жмём Collapse. Выделяем следующие 2 полигона и жмём Collapse, и т. д. Смотрим с текстурой, всё ли получилось хорошо:


Так как дырок нет, приступаем к формированию закругления. Самый верхний ряд соединяем:


Далее уменьшаем ряды, двигаем как ряды, так и отдельные точки, приводя всё примерно к такому виду:


Здесь полагайтесь на своё чутьё и опыт. Чтобы облегчить задачу, задвинем полуготовую ногу на место.

Сформируем таз. Соединим предпоследний ряд точек:


И уменьшим следующий ряд.


Выделенные точки приподнимем, сдвинем и получим что-то такое:


Тоже самое проделываем с другой стороной. Получившийся таз должен быть симметричен.


От того, какой ряд полигонов вы отнесёте к тазу, а какой к бедру зависит красота будущего аватара. Так что действуйте внимательно, полагайтесь на интуицию. Если вверху бедра купол слишком большой, уменьшите его.


Далее копируем готовую ногу следующим способом. Выделите всю ногу и нажмите в меню на Mirror:


В появивешмся окне выберите Copy, ось Х, и скопируйте ногу.


Возможно, нога окажется где-то в стороне, в таком случае придвиньте её к телу, стараясь ровно симметрично расположить около другой ноги.
Проверьте всё с включенными текстурами, возможно придётся что-то поправить. Можете нажать клавишу F9 и посмотреть, как смотрится аватар с текстурами. Если всё устраивает, едем дальше.

Руки у модели опущены в низ, нам повезло. Бывает, при конвертации из игр получаем руки в стороны, но чаще всего они полуопущены в низ, так как такая поза наиболее удобна при проектировании человека для настройки его скелета, который потом участвует в анимации персонажа. Нам это не подходит, ибо принципы анимации в мирах иные, поэтому, если руки расположены в стороны или полуопущены в низ, мы аккуратно их опускаем параллельно телу. Здесь потребуется ваше художественное чутьё для того, что бы сформировать плечо. Выделяйте полигоны руки, и работайте с ними. Конечно, предварительно необходимо скопировать корпус, а не работать с основной моделью. А ещё лучше, перед тем как приступить к работе с рукой сохраним аватар под номером 4.

Копируем тело.


Формируем кисть. Для начала удаляем всё ненужное.


Верхний ряд точек соединяем Collapse, следующие ряды уменьшаем, двигаем вниз. Получаем кисть:


В данном аватаре текстура руки над кистью такая же как на кисти, и проще было применить метод построения купола под номером 2. Бывает так, что выше кисти сразу начинается рукав одежды. В таком случае целесообразнее применить метод номер 1 - выделить отрезки по кругу запястья и формировать купол так, как мы это делали с ботинком. Готовую кисть придвигаем к телу. Так как центр кисти находится высоко и от этого передвигать не совсем удобно, я воспользовалась цифрами в панели координат.


Копируем корпус с готовой кистью в сторону и формируем предплечье. Для формирования закругления в области запястья применим способ номер 1, то есть удалим всё ненужное:


и нарастим купол из отрезков Edge.


Локоть в предплечье мы сформируем способом номер 2, соединим ряд точек:


и из следующих рядов сформируем купол:


Придвигаем кисть и предплечье к телу, точно совмещая края.

Сформируем закругление в локте верхней части руки способом номер 2. Оно в итоге будет выглядеть примерно так:


Затем формируем плечо. Здесь удобнее будет удалить всё лишнее и нарастить закругление из отрезков Edge. Чтобы проще было выделить все отрезки, поставим галочку в Ignore Backfacing. Нарастили полигоны:


и привели их к примерно такому виду:


Совместили с плечом основной модели и смотрим, что получилось:


Если надо что-то поправить, делаем это.

Рука готова, приступаем к туловищу. Перед этим сохраним всю работу ещё раз под номером 5. Ещё раз радуемся, что в аватаре есть элементы, выделяем ненужные элементы руки и удаляем их


Заделываем образовавшиеся дыры в плечах методом номер 1. Может быть, вам в вашей модели проще будет не удалять руки, а применить метод номер 2, это зависит от конкретной геометрии аватара и выбор за вами. В итоге получается примерно так:


Проделываем тоже самое с другой стороной туловища.


Копируем руку точно так же, как сделали это с ногой, и устанавливаем с противоположной стороны тела, стараясь сохранить симметрию. Смотрим на результат. В данном случае думаю, немного следует поправить руки.


Результат устраивает:


поэтому идём дальше.

Поясница. Здесь двигать объекты не будем, сразу скопируем, выбрав в меню Edit - Clone:


В выпавшем окне выберем Copy.


Удаляем из скопированной части тела таз и методом номер 1 наращиваем закругление в талии:


Может быть в другом аватаре вы сочтёте нужным использовать другой метод, выбирайте сами. А вот для того, что бы нарастить купол от таза вверх применим метод номер 2.


В итоге получился готовый корпус модели.

Преходим к голове, предварительно сохранив работу в файле под номером 6. Находим, что шея как самостоятельный элемент не выделяется, поэтому копируем путём клонирования корпус, выделяем в нём полигоны шеи, жмём по выделенным полигонам правой кнопокй мыши и в выпавшем меню выбираем Detach


Таким образом, у нас получился объект шеи:


и, ненужный уже объект корпуса без шеи, который удаляем. Тоже самое проделываем с головой, копируем её, отделяем шею, остальное удаляем.


У нас получилось 2 объекта шеи: то, что мы отделили от туловища и то, что отделили от головы. Эти 2 объекта соединяем в один следующим образом. Выделяем одну часть шеи, кликаем по ней правой кнопкой мыши и выпавшем меню выбираем Attach:


Затем нажимаем на второй кусочек шеи, который хотим присоединить.


В итоге появился цельный кусок шеи, отделённый от остального тела. Образовавшиеся у вершины и основания шеи дыры заделываем способом номер 1, наращивая полигоны из отрезков по краям Edge и затем уменьшая и передвигая точки.


Тоже самое проделываем с верхней частью шеи.


Осталось методом Collapse соединить точки части шеи и головы, что бы заделать отверстия в туловище. Выделяем:


Соединяем в один:


Выделяем ряд точек в голове:


Соединяем:


Поднимаем к голове:


Вот и всё. Сохраняем работу как 7. Удаляем дублёра сверху.


Не думайте, что он просто так провисел. При работе был момент, когда что-то пошло не так, и я воспользовалась копией с верхнего объекта, но, что бы не грузить вас, на этом не заостряла внимание.

Экспортируем файл в формат WRL. Для этого выбираем в главном меню File - Export...


Сохраняем как 1 или любое другое название подходящее вам.


В появившемся окне, наверное, ничего не следует трогать, жмём ок. Хотя буквально вчера я узнала, что параметр Digits of Precision отвечает за качество модели, и, возможно, имеет смысл сохранять не так, как указано по умолчанию 4, а с параметром 6. Пробуйте сами.


Можно экспортировать в 3ds, этот формат тоже читается программой AccuTrans 3D, в которй дальше продолжим работу. Однако, советую WRL , так как не раз убеждалась в более высокой надёжности файлов этого типа. При экспорте в 3ds части аватара переименовываются, а имена текстур программа автоматически обрезает до 8 символов, не сохраняются настройки полупрозрачности. К тому же, если вы сохраните как 3ds, может случиться, что части тела аватара будет разбросаны.

Открыв модель в AccuTrans, возможно заметите сразу какие-то недостатки, которые придётся исправить. Если всё нормально, идём дальше.
Вот она, наша программа, в которой приведём аватар к окончательному виду:


На рисунке показаны кнопки, которыми будем пользоваться в работе:
  • ogl выполняет те же функции что F3 в Максе, то есть переводит в режим отображения сетки или же в показывает модель с текстурами.
  • кубики показывают модель с разных сторон.
  • + и - увеличивают и уменьшают модель, но увеличивать и уменьшать можно также просто скролом
  • клавиши внизу вращают и передвигают модель, но вращать проще, если зажать левую кнопку мыши и просто крутить мышкой
Освоившись в программе, приступаем к делу. Точнее, к телу.
Нажимаем на кнопку с человеком и переходим в режим работы с аватаром.


Сразу уберём Ogl, чтобы видеть сетку. Находим схему человека с отделёнными частями тела:


На этой схеме у каждой части тела есть своё название, и наша зада состоит в том, что бы привести название частей тела аватара в соответствие с названиями частей тела человека на схеме. У нас в аватаре выделен ботинок левой ноги, ищем на схеме соответствующую часть тела и нажимаем её:


Ботинок переименовался в L_Foot. Нажимаем кнопку > и переходим к следующей части тела.


Выделился правый ботинок. Находим соответствие у человека на схеме, и ботинок переименовывается в R_Foot:


Поступаем так со всеми частями тела, имеющимися у аватара. Голова состоит из многих частей: лицо, и части волос. В этом случае мы всё равно называем волосы как голова, потому что как отдельная часть тела они нам не нужны. Если у вас есть уже объект Head и вы ещё один объект хотите отнести к голове, то появится такое окошко, где смело жмите ДА.


Объект назовётся Head_1. Поступаем так же со всеми прядями волос, глазами, если они есть как объект, зубами, то есть присоединяем всё это к голове. Бывают такие аватары, когда в голове есть объект век. Если вы планируете настроить аватар так, что бы он моргал, то их не присоединяйте к голове, а жмите на глаза человека со схемы. Но на сегодняшний момент я никогда веки не отделяю отдельным элементом, потому что нет такой анимации, которая работала бы с веками, кроме как сека qblink из мегопатча, и то аватар при этом стоит как столб и только моргает. Можно по идее заставить и губы шевелиться, и уши, и волосы, теоретически это возможно. Но на практике это дело необозримого будущего, так как я не видела анимации, которая использовала бы эти элементы тела. У нас на данный момент голова представляет собой одно целое.

Когда вы привели название всех частей тела в соответствие с названиями у человека со схемы, нажимайте кнопку Tags + Tree:


В появившемся окне жмём ДА.


Очень важно сделать этот шаг, потому что без него весь аватар не соберётся в единое целое, а будет рассыпаться при движении.

Вот описание работы с аватаром с сайта производителя программы AccuTrans 3D www.micromouse.ca/avatars.html, так сказать из первоисточника.

Переходим к закладе Joint.


Джоинты - это те точки, которые скрепят части тела вашего аватара и одновременно послужат осями, вокруг которых будет происходить вращение при анимации. На рисунке показано движение кисти вокруг условной красной точки, которая имитирует джоинт:


Далее имитировано движение руки в предплечье, опираясь на условный джоинт в локте:


Такой же джоинт мы можем поставить в плече, и тогда вся рука сможет выполнять различные движения. Это принцип анимации в мирах. Во всех отделённых частях тела нам необходимо выставить джоинты так, что бы части тела двигались красиво и естественно. Работа эта тонкая и требует аккуратности.

У нас первым объектом выделилась кисть. Нажимая кнопки < I >


передвинем джоинт кисти примерно так:


Тот же вид спереди:


Можно воспользоваться цифрами в полях, соответствующих кнопкам < I >. Вводите цифру и нажимаете ENTER на клавиатуре. Иногда это бывает полезно, если вы уверены что аватар симметричен: если выстроите джоинты в одной половине тела и перепишите такие же параметры в другую (изменяя знак в графе Х на минус или наоборот, убрав его), то приведёте джоинты к точной симметрии.

Бывает, что джоинты очень неудобно передвигать. Они двигаются или слишком медленно или, наоборот, слишком быстро, что приводит к затруднению при точном их выстраивании. Воспользуйтесь настройками 0,001; 0,01; 0,1 которые изменяют шаг движения джоинта при ручной доводке:


Ещё один метод облегчения работы по выставлению джоинтов. Нажмите на кнопку, обведённую на рисунке:


В итоге в каждой части тела джоинты автоматически встают примерно на свои места, останется немного их подкорректировать.

Джоинт в локте выглядит примерно так:


Плечо:


Голова:


В Head_1 и всех остальных подобъектах головы джоинты выстраивать не надо, они все будут прикреплены к основному объекту головы и будут двигаться вместе с ним.

Колено:


Бедро:


Ботинок:


Шея:


Таз:


Торс (этот джоинт чуть-чуть высоковато расположен, впоследствии пришлось поправить его, в идеале он должен находиться ровно на уровне пояса):


Как только вы предварительно выставили джоинты, обязательно сохраните их:


Дальше мы будем смотреть анимацию. Случается, натыкаешься на такие движения аватаров, от которых программа просто вылетает. Может быть это файл анимации с ошибкой, может быть ранние версии программы были в этом плане несовершенны. Но в любом случае, для того чтобы не пришлось выставлять джоинты сначала, обязательно надо их сохранять.

И ещё такой маленький момент. Когда впоследствии будете открывать сохранённые джоинты для какого-то аватара, делайте это, выделив подобъект, например Head_1, а не какой-то основной объект, потому что самый первый джоинт открывается не правильно, а остальные нормально выстраиваются куда им положено. От чего это зависит - не знаю, возможно, только у меня глючит программа.

Переходим к следующей закладке - Action.


Там удобнее работать, включив Ogl.

Мы уже настроили анимацию, теперь посмотрим, как же наш аватар будет выглядеть в движении. Все файлы анимации тех аватаров, которых вы когда-либо видели в мирах, находятся в кеше миров на вашем компьютере. Для нашей вселенной путь к кешу будет примерно такой:
    E:\Program Files\Russian Universe\cache\art
и далее идёт папка с кешами различных миров, в которых когда-либо побывали вы.

Для какого мира вы делаете аватар? Дело в том, что в каждом мире имеется свой набор движений, и советую смотреть анимацию именно того мира, для которого делаете аватар вы. Вся анимация лежит в папках "seqs". Чтоб никто не догадался, для какого мира делаю аватар я, возьму анимацию нейтрального мира под названием aw, который, видимо, когда-то посетила, и путь к файлам анимации которого выглядит так:
    E:\Program Files\Russian Universe\cache\art\objects.activeworlds.com-aw\seqs
Вот файлы анимации с разширением .seq


Из самих названий уже становится ясно, что из себя будут представлять движения. Так,
    qfly2.seq из названия следует, что это fly - полёт аватара
    qturn.seq скорее всего turn- поворот аватара
    qwave.seq это движение wave, когда аватар машет рукой
Вот теперь посмотрим, как же эти движения будет выполнять наш аватар. Открываем анимационный файл:


Например, секвенцию qwave.seq из папки
    E:\Program Files\Russian Universe\cache\art\objects.activeworlds.com-aw\seqs
Вы же выбираете папку seqs из того мира, в котором будет впоследствии обитать ваш аватар.

В появившемся окне:


выбираем ОК. Открыв таким образом файл анимации, приступим к его просмотру:


Как видим, аватар начал махать рукой:


И тут же замечаем, что при движении между рукой и телом образуется зазор. Останавливаем махание:


И возвращяемся к джоинтам. Возможно, следует подвинуть джоинт в плече немного ближе к центру тела:




Смотрим анимацию заново и видим, что зазор существенно уменьшился.


Значит аналогично поправляем джоинт в правом плече и созраняем джоинты как файл 2.

Очень рекомендую посмотреть, как аватар будет бежать. В этом движении чётко просматриваются соединения в коленях и локтях. Файл скорее всего будет называться qrun.seq или другая анимация, где есть в названии "run".
Вот аватар побежал:


Ясно видим, что в локте зазор слишком большой, а в колене наоборот, вываливается закругление. Поправляем джоинты, и, если это не поможет, идём в Макс и правим геометрию аватара. Перед тем как возвратиться в Макс, просмотрите ещё другие файлы анимации, и даже посмотрите аватар в локальном кеше (как это сделать написано ниже). Когда вы заметите ВСЕ недостатки, то разом поправите их в Максе. Пока же пробуем поправить только джоинты в локтях и коленях, в надежде что этим обойдётся.

В принципе оказалось, что в одном локте при движении зазора никакого не образуется, всё очень хорошо. Так что переписываю цифры хорошо выстроенного джоинта в другую руку, а не двигаю джоинт наглазок. В итоге зазор в локте самоликвидировался:


Та же картина наблюдается и в коленях. Стоило привести параметры джоинта одной ноги, где всё было хорошо, в другую, как картина существенно изменилась к лучшему:


Посмотрите различные анимационные секвенции, обратите внимание на то, как аватар двигается. По сути в этом есть маленькое чудо, когда видишь, как неподвиждная доселе модель оживает. Я смотрю всегда, как аватар стоит, идёт, бежит, как танцует макарену и брейк, как делает поклон и машет правой рукой, левой рукой, как летает и плавает. Пусть может быть вы и не вернётесь в Макс, что бы править геометрию заново. Но вам станет понятно, где есть неточности в процессе формирования закруглений на конечностях, где они оказались немного великоваты, а где наоборот маленькие, где немного не так поделили ногу или не совсем симметрично приставили руку, и в следующий раз, когда будете делать аватар, все эти наблюдения учтёте и аватар выйдет более совершенным. И может быть однажды вы создадите идеальный аватар, про который можено будет сказать "и нет в тебе изъяна". Он будет настолько совершенным, что ему станет тесно в рамках мира, он как Нео вырвется из матрицы и войдёт в наш мир, как шагнула когда-то Галатея навстречу Пигмалиону. Почему бы истории не повториться?

В этой же программе можно создавать и свои оригинальные движени для аватара. Но делать это умеют немногие. Я, к сожалению, не отношусь к их числу.

Приближаемся к финишу. Убедившись, что аватар двигается более или менее прилично, завершаем работу над настройкой анимации, нажав ОК:


Настраивая анимацию, мы заметили, что голова и шея состоят из нескольких кусочков. На голове это пряди волос, и шея делится на верхнюю и нижнюю часть. В принципе это никому мешать не будет. Но лучше всё такие привести все части тела, состоящие из нескольких подобъектов к одному целому. Ведь если голова или рука или другая часть тела состоит их нескольких частей, то в месте стыка получается маленькая, совсем незаметная щель. Она не видна в Аку. Её мало кто заметит в мирах, но мы то заметим всё, и мне лично одна будет мешать и не давать покоя. Конечно, если на этих подобъектах наложены РАЗНЫЕ текстуры, соединять их НЕЛЬЗЯ, мы ничего не сможем сделать, аватар так и будет со щелью. Это уже будет его изъян, от которого в принципе можно было бы избавиться в Максе но это слишком большой объём работы, нам это не надо. А вот если на этих подобъектах ОДНА текстура, то мы можем и должны попробовать их соединить в одно целое. Посему, ищем в меню Layers - Transfer:


В опциях Transfer Layers стрелками < и > ищем ту часть шеи, которую хотим присоединить.


В опциях Target Layers выбираем ту часть шеи, к которой будем производить присоединение.


И нажимаем Transfer Data. В итоге шея превратилась в цельный объект.

Сделаю маленькую оговорку. Если вы будете работать с моделью из этой же игры, то там верхний и нижний разделы шеи всегда относятся к разным текстурам - головы и тела, поэтому трансфер делать не следует. Так получилось в этом аватаре, что на верхней части шеи текстура не головы, а тела, потому трансфер в данном случае возможен. О методе изменения текстур, с помощью которого я натянула на верхний отдел шеи текстуру торса, будет написано в Дополнениях, где расскажу о некоторых редких, но порой полезных манипуляциях.

Главное, для чего вообще следует делать Transfer - это уменьшение веса модели вцелом. Ведь чем "легче" аватар, тем меньше будет от него "тормозов" в мире. Можно конечно не делать Transfer, но если вы сделаете его, то работа выйдет более качественней.

Последнее, что осталось сделать - настроить окончательный вид аватара. Ищем кнопку ЕА.


Нажимаем её и попадаем в Layer Attributes. Здесь нас интересуют параметры Ambient, Diffuse, Opacity.


Ambient и Diffuse определяют то, несколько светлым будет ваш аватар, и то, как он будет реагировать на свет.
Opacity - прозрачность.
Параметр Specular - блеск, на данный момент он в мирах не работает. Возможно, когда-нибудь его вернут, но пока он нас не интересует.

Поставили точку в Ambient, в поле с цифрами ввели 0,9 или ту цифру, которую пожелаете вы, нажали Энтер, и нажали на значок справа, который автоматически назначит Ambient 0,9 всем частям вашего аватара:


Перешли к Diffuse, там примеряли 0,75:


Нет универсальных цифр в параметрах света, которые подошли бы абсолютно всем аватарам в мирах. Аватары мегопатча, например, все с настройками 1,0, и никому это не мешает, все ими пользуются. Ну а вы попробуйте всё-таки усовершенствовать свою модель, поищите оптимальный баланс между Ambient и Diffuse, ведь 0,9 и 0,75 приведены условно, как пример, их, конечно, можно брать за ориентир, но это не значит, что не надо пробовать их изменять и подстраивать под свой аватар.

Так как Opacity нас не интересует, оставляем 1,0, то есть все части тела непрозрачны. Если у вас а аватаре есть, например, очки, то стёкла у них ставьте прозрачными, параметры подбирая в районе 0,5, то есть прозрачные наполовину. Крылья могут быть прозрачными, накидка в женском аватаре или другая часть одежды. У нас такого нет, поэтому идём дальше.

В Light Sampling выбрали Vertex:


и снова назначили этот параметр всем частям аватара:


Параметр Vertex распределяет свет равномерно по всему аватару, а если оставить Facet, то при хороших настройках светоотражения в аватаре будет видны грани. Нам это не подходит.

Обращаю внимание на опцию Double Sided, активизировав которую в какой-то части тела, мы приведём к тому, что текстура на ней будет видна с двух сторон.


В большинстве случаев Double Sided оставляем как есть и не трогаем. Но в данном аватаре мне необходимо поставить на объекте волос Double Sided. Первоначально каждая прядь волос состояла из 2-х объектов: внешней, и внутренней стороны. Всю внутреннюю сторону я удалила ещё в Максе, не заостряя на этом ваше внимание. Именно с тем, что бы потом прописать Double Sided в Аку.
В подавляющем большинстве случаев этот параметр трогать не надо, оставим по умолчанию. Но если вы видите, что какая-то делать модели отображается только с одной стороны, например юбка у аватаров мегопатча, то поправить это можно, активизировав параметр Double Sided только в юбке и не назначая всем частям тела.


Осталось прописать маску. Находим закладку Mask:


Выбираем ту часть тела, на котороую надо назначить маску. В данном аватаре это волосы, которые имеют название Head_1. Затем нажимаем на кнопку с видом папки и находим маску, которую ещё в начале работы сохранили как файл bmp из Альфа-канала текстуры волос.


Что даст нам маска. Когда на волосах будет прописана и текстура волос, и маска, то всё поле чёрного цвета из маски сделает невидимым аналогичные части текстуры волос. То есть волосы станут реальными, будут видны отдельные пряди.

Но здесь есть одна тонкость. Даже и не одна. Но мы пока остановимся на тех вопросах, которые могут пригодиться вам в данном аватаре, в котором волосы состоят из 2-х частей: часть, формирующая голову, и объёмные пряди волос. На обе эти части по идее прописана одинаковая текстура волос, НО если к одной из этих частей мы пропишем маску, то лучше сделать копию текстуры, переименовать её, затем назначить прядям волос и уже к ней прописать маску. Например, просто волосы называются dima-hair.jpg. Предлагаю ту же текстуру скопировать, назвать её dima-hair2.jpg и маска у неё пусть называется соответственно dima-hair2m.bmp. Если этого не сделать, то, по моим наблюдениям, текстуры не будут видны в мире.

Когда всё готово, нажимаем ОК.


Переходим к сохранению аватара. В меню выбираем File - Save With Options...


В появившемся окне нас интересуют следующие параметры:
формат RWX, галочки в опциях Avatar и UV, а так же внимательно изучаем то, что написано в графе Height:


У нас в Height вышли цифры 1,891202. Это рост аватара. Для миров такие цифры совершенно не подходят. Параметры роста должны быть примерно такого вида:
    0,167 - это рост 167
    или же 0,170 что будет равняться 170 см в мире.
То есть уменьшаем размеры аватара до нужных нам.
Для этого в графе OSF Set To вводим для начала 0,1 и нажимаем на саму кнопку OSF Set To:


Параметр изменения размеров модели 0,1 появился по всем осям, что и требовалось.

Смотрим на получившийся рост в графе Height: 0,18912 то есть человек будет 189 см. Уже приемлемо. Но мне хотелось бы уменьшить рост этого аватара примерно к 0,180. Опять возвращаюсь к графе OSF Set To и методом тыка подбираю цифру, обязательно нажимая каждый раз OSF Set To - получится 0,0955 и рост модели установится 0,18061, то есть в мирах у парня будет 180 см роста. То что надо!


Нажимаем Save и называем аватар произвольным именем.



О названиях текстур. Может быть, об этом надо было бы написать с самого начала. Но лучше поздно, чем никогда. В самом начале работы, когда аватар ещё не порезан, и вы назначаете ему текстуры, назовите их удобно не только для вас, но и для тех, кто работает с базой мира. Где-то на сервере впоследствии будут лежать среди сотен других текстур и ваши. Назовите их со смыслом. Текстуры аватар мегопатча, например, называются так:
     avf_drk1_face_melindarom2.jpg
или же
     avm_jester_torso_shirt1.jpg

av - аватар
f - женский
m - мужской
drk - тёмный типа кожи
face - лицо
melinda - имя аватара
rom - романский стиль, то есть аватар в историческом костюме
jester - шут, тоже имя аватара
torso - торс, то есть одежда
shirt - рубашка

Люди, создававшие базу сделали так, что бы было удобно им. Посмотрит такой человек на название текстуры, и будет знать, как она выглядит и какому аватару предназначена. Вы же попробуйте сделать так, что бы было удобно хранителю мира, который работает с базой. Потому что если оставите названия из игры типа 913860fe.jpg, то я считаю что это неудобно. Но называть как мегопатче мы не будем, потому что это слишком длинные названия. Попробуем укоротить. Может быть, имеет смысл текстуру тела назвать так:
     av-dima-torso.jpg
Лицо:
     av-dima-head.jpg

А ещё лучше свести длинну названия текстуры к 8 символам. Попробуйте так:
     avdima01, avdima02, avdima03.
Как раз 8 букв. Но это уже решайте сами. А ещё лучше спросите у хранителя того мира, куда будет залит аватар, как принято назвать текстуры там.

Если вы даёте название маске, назовите её точно так же как текстуру, к которой она предназначена, и в конце добавьте букву m, что будет означать наличие маски. То есть, если текстура волос называется dima-hair2, маску назовите dima-hair2m. Соответственно, текстура волос должна быть формата .jpg, маски только .bmp.
Очень длинных названий лучше избегать, тому есть свои причины. Если можете сократить название, то сделайте это. Избегайте так же применения в названии букв и символов верхнего регистра, этому тоже есть свои причины.

Все изменения в названии текстур надо внести в аватар. Чтобы проверить, всё ли сделано правильно, создайте для готового аватара отдельную папку, туда поместите модель аватара, все текстуры к нему и попробуйте открыть аватар в Аку. Если программа сообщает, что каких-то текстур нет, ищите их.

Доделали аватар, и считаем, что всё готово. Самое время проверить, как аватар будет смотреться в мире.
Файл .rwx назовите по-человечески, например dima, заархивируйте в архив zip. Маски, если они есть, тоже каждую положите в отдельный архив zip. Текстуры архивировать не следует.

Как увидеть в мире то, что лежит на нашем компьютере, а не в интернете на сервере мира? Воспользуемся кешем мира, в котором хранится всё то, что скачал браузер миров из интернета. Мы туда добавим свои вновь созданные вещи, и сделаем так, что браузер будет их отображать в мире.

Есть 2 пути - попроще и посложнее. Если вы разово делаете аватар для себя и вам ни к чему лишние манипуляции в вашем компьютере, то выберите путь номер 1. Если же вы хотите сделать побольше аватаров, моделей, текстур и вообще любите экспериментировать с видом миров, выбирайте путь номер 2.

Итак, вариант 1. Ищем на своём компьютере кеш того мира, для которого вы делаете аватар. Для Русской вселенной, повторюсь, путь к кешу будет выглядеть примерно так:
     E:\Program Files\Russian Universe\cache\art
Ищите не на диске E:\, а на том диске, где установлены миры у вас.
В папке art вы увидите несколько папок с названиями, в которых фигурируют названия различных миров. Открывайте папку того мира, который нужен вам. А я открою папку мира AW:
     E:\Program Files\Russian Universe\cache\art\objects.activeworlds.com-aw
Ещё раз повторю, вы открываете папку не objects.activeworlds.com-aw, а папку того мира, который нужен вам.

Внутри вы обнаружите следующие папки: seqs, sounds, textures:


Создайте ещё папку avatars.


И теперь в папку avatars скопируйте тело аватара, то есть файл .rwx заархивированный в архив zip.
В папку textures скопируйте все текстуры вашего аватара: и формата .jpg, и, если есть, маски, то есть файлы .bmp, предварительно заархивированные в архивы zip.

И последнеее, что надо обязательно сделать - прописать в самом браузере путь к кешу.
Для этого откройте браузер, найдите в меню Настройки-Установки.


В появившемся окне выберите Расширенные установки, и там, где будет написано Путь к локальной базе, введите строку
     E:\Program Files\Russian Universe\cache\art


Вместо E:\ пишите тот диск, на котором миры находятся у вас. Или может быть миры стоят у вас в другой папке, вводите путь к кешу такой, какой он есть на вашем компьютере вплоть до папки \art.
Теперь браузер будет запрашивать файлы не только из интернета, но и с вашего компьютера, и вы сможете увидеть аватар.

И информация на будущее. Когда ваш аватар уже будет благополучно находиться в мире на постоянной основе, то есть его добавят в базу мира, удалите из кеша то, что вы сейчас добавили в него. Их папки textures удалите текстуры и архив маски. Вы заметите, что ваши текстуры формата jpg а все остальные - ras. То, что jpg - удаляйте. И из папки avatars удалите аватар в зипе. Файл avatars.dat тоже можно будет смело сносить по окончании всех работ, пусть он загрузится из интернета.

Путь создания локального кеша номер 2. Для продвинутых пользователей напишу просто.
Итак, в каталоге
     Program Files\Russian Universe\cache
создаём ещё одну папку произвольным названием, например cachetest.
В этом каталоге создаём папку с названием кеша нужного вам мира.

Если название папки с кешем мира выглядт так:
     objects.activeworlds.com-aw
то мы создаём отдельно папку
     objects.activeworlds.com
а в ней уже папку
     aw

Название типа objects.activeworlds.com-aw означает, что на сервере мира есть каталог objects.activeworlds.com, и в нём, среди прочего, есть база мира aw. Поэтому аналогичную структуру мы воссоздаём на своём компьютере.

Если же название папки с кешем мира выглядело бы просто
     objects.activeworlds.com
то точно такую же папку мы создали бы в локальном кеше.

Итого, появился каталог
     E:\Program Files\Russian Universe\cachetest\art\objects.activeworlds.com\aw
В нём создаём папки avatars и textures. Если вы планируете ещё cоздавать модели для миров, создайте папку models, куда будете копировать впоследствии свои модели чтобы посмотреть их локально. Если хотите тестить анимацию, для неё создайте папку seqs.

В этом случае путь к локалному кешу в браузере прописываем как
E:\Program Files\Russian Universe\cachetest\art
То есть, как кеш захватываем папку cachetest, но, конечно указываем тот диск, на котором миры стоят у вас.

Если вы слабо что поняли с созданием локального кеша, или сделали, но не работает, попробуйте ещё почитать статью Хаоса: http://xaoc.org.ru/info/local

Следующий шаг - заставить браузер включить ваш аватар в список аватаров мира. В папке с кешем мира найдите файл avatars.dat. Откройте его с помощью блокнота, кликнув по нему правой кнопкой мыши и в выпавшем меню выбрав Открыть с помощью. Вашему взору предстанет файл, формирующий список аватаров и тех движений, которые аватар способен выполнять в мире. Вот этих движений:


В мире AW начало фалйла avatars.dat выглядит так:


Я делала мужской аватар, поэтому обращаюсь к самому первому аватару в списке, MrTourist, то есть к аватару туриста. Всё, что относится к аватару Туриста, обведено красным квадратом.
В строчке
     name=MrTourist
можете написать то имя, которое почитаете нужным, или оставить её без изменений. Это название аватара, отображающиеся в списке. Можно написать
     name=Dima
или
     name=Dimon
или
     name=Dmitriy
Обязательно латинскими буквами.

Теперь вспомните, как называется файл .rwx вашего аватар? И в следующей строке
     geometry=male.rwx
напишите название файла .rwx то, которое лежит у вас в папке avatars. Я называла аватар просто цифрой 2, поэтому так и написала
     geometry=2.rwx
Если у вас файл аватара называется dima.rwx, то строка geometry должна выглядеть так:
     geometry=dima.rwx

Если у вас женский аватар, то имеет смысл изменить данные аватара туристки, или же любого другого женского аватара в списке. По сути, не имеет значения, данные какого аватар изменяете вы. У меня когда-то был дежурный файл avatars.dat, где были изменены вообще все аватары по списку, и я заходила в мир и видела всех людей в одном и том же аватаре. Во-первых, удобно рассмотреть аватар, а во-вторых, так можно перебрать все движения всех аватаров, примеряя их к тому аватару, который сделали вы. Но это, конечно, излишество. Достаточно переименовать 1 аватар.

Сохраняем изменения. Если вы хотите зайти в мир в обычном режиме, то следует изменить свойства только что переделанного файла avatars.dat. Вообще я сталкивалась с тем, что люди бояться править что-то в файле avatars.dat, и изменять его свойства, боясь испортить что-либо в работе браузера. Это беспочвенные опасения. Файл avatars.dat является частью кеша, который грузится из интернета, как только вы заходите в мир. Если у вас avatars.dat нет, он загрузиться по новой. И даже если avatars.dat у вас уже есть, то всё равно есть очень большая вероятность того, что при заходе в мир этот файл сам собой обновится. Вдруг пока вас не было, в мир добавили новый аватар? Чтобы он появился у вас в списке и вы его могли видеть, avatars.dat должен обновиться. То есть, даже если вы что-то испортите в avatars.dat, то сможете просто выкинуть его и он загрузится новый из интернета при первом же заходе в миры. Но ведь мы только что сознательно изменили его. Как же сделать так, что бы он не обновился? Кликаем по avatars.dat правой кнопкой мыши и в выпавшем меню выбираем строчку Свойства:


В появившемся окне убираем галочку из пункта Архивный и активизируем Только чтение:


Нажимаем Применить и Ок.

Теперь заходим в миры. Зайти можно обычным способом, и минуя соединение с сервером мира, то есть локально, даже если не подключены к интернету. Если хотите зайти локально, то, как только начнёт раскрываться браузер и пойдёт соединение с сервером Вселенной, выберите кнопку "пропустить":


Браузер откроется, не соединяясь сервером. Если у вас в это время работает интернет, то все файлы, попадающие в поле зрения, начнут усиленно идти на обновление. Вам это надо? Если надо, то ждите пока всё обновится. Если не надо, то отключитесь от интернета. То есть или смотрите аватар просто открыв браузер обычным спобом, или локально и без интернета. А если хотите обновить кеш и загрузить много чего с сервера мира, то открывайте миры локально с включённым интернетом. Если вы будете смотреть аватар локально без интернета, то изменять свойства файла avatars.dat не надо, он и так никаким образом не сможет обновиться.

Зашли в миры, и одеваем из списка аватаров тот аватар, который изменили мы. Посмотрите как он выглядит, сделайте приближение камеры посредством клавиш * и / на дополнительной клавиатуре, попробуйте различную анимацию. Если возникли какие-то проблемы и аватар не видно, или нет текстур, то надо разобраться в причинах.
  • Первое что может быть: строки с изменённым аватаром вообще нет в списке. Проверьте avatars.dat, может быть название аватара написано кириллицей, или нет такой-то строчки в коде аватара, быть может вы её случайно удалили, не придав этому значения. Может быть вы вообще забыли сохранить изменения в этом файле.
  • Может случиться так, что вы одели аватар и видите только треугольник. Проверьте название в строке geometry в avatars.dat. Посмотрите, лежит ли файл с именно таким названием в папке avatars? Вписали ли вы путь к локальному кешу в браузере? Правильно ли он вписан?
  • Если аватар вы видите, но он без текстур - тоже проверьте, все ли текстуры есть в папке textures, лежит ли там маска в зипе, причём сами текстуры не надо архивировать. Выполнили ли вы условие с самого начала: текстуры и сама модель при работе должны быть в одном каталоге, а не по разным папкам? Если у вас 2 одинаковые текстуры, на одну из которых наложена маска, попробуйте назвать их по-разному, об этом написано выше. Вобщем, ищите причину.
Ну вот и всё. Осталось самое приятное. В принципе можно этого не делать. Но если у вас есть ещё силы - выберите анимацию для аватара. Конечно, это может сделать и хранитель мира. Но кто как ни вы знает все достоинства и недостатки модели, поэтому именно вы сможете подобрать оптимальное сочетание движений для аватара.

Открываем avatars.dat ещё раз. Посмотрите код аватаров, находящихся ближе к концу списка. Скорее всего это новые аватары, значит у них анимация может оказаться более совершенной. То, что находится между строчками beginimp и endimp - основная анимация аватара. Обязательно посмотрите, как аватар стоит - то есть попробуйте для wait разные секи. Поищите в папке seqs или же в самом списке аватаров движение для wait, подходящее именно вашему аватару.
То, что находится после строки beginexp - это дополнительная анимация аватара. То есть те движения, которые аватар будет выполнять по вашему желанию:


Составьте их по своему вкусу, включите секи тех движений, которые хотелось бы видеть у своего аватара, и которые ему шли бы. Хранитель мира может и сам их составить, но он же не обязательно будет знать ваши вкусы и предпочтения.

Сохраните код вашего аватара в блокнот начиная от строки avatar заканчивая endavatar и отправьте хранителю мира вместе с текстурами и моделью.

В приложении можно прочитать о том, как соединить части элементов в аватаре, как создать новый полигон, и о работе с текстурами средствами модификатора UVW Map.
Перейти к приложению >>>


Текста получилось много. Мне так проще было: написать много, а не править каждый параграф десятки раз, приводя всё к оптимальному виду. И к тому же была просьба написать всё очень подробно со всеми тонкостями, что и сделала, почти со всеми тонкостями, о которых известно мне на данный момент.

Практически всё, что выше описано, кто-то когда-то мне рассказал в мирах или я это где-то прочитала. Использованная литература: разговоры в чате с Лютикой, Флешем, Тенью, Стасом, Старцем, Смешинкой, статьи ЛО и Хаоса на их сайтах, и весьма полезная книга в реале, где доходчиво написано всё начиная с азов:



Спасибо Старцу за внесение существенных поправок и дополнений.

Вся изложенная информация применима к жизни в мирах в версии 3.6. Если версия миров у вас другая, может быть придётся вносить в свою работу коррективы.

Это тестовая версия статьи. Пожалуйста, присылайте ваши комментарии и вопросы мне лично в телеграммах или же, если выложена на форуме - в комментариях.

Не претендую на истину в последней инстанции. Наверняка кто-то в работе нашел более оптимальные методы. Я изложила лишь свой взгляд на вещи.