Спорные статьи - вроде бы люди писали, старались - выбрасывать неудобно. Будет время попробую вникнуть, подправить, добавить картинки.
Тутор от IGROman про конвертирование моделей в Fallout 3
В первое время при конвертировании я стыкался с многими вопросами, ответы на которые трудно найти в Интернете. Посему в этой теме предлагаю совещаться о нюансах этого дела.
Итак, конвертирование моделей в Fallout 3
1. Созданная модель должна быть переведена в Editable mesh. В принципе, экспортер, наверное, должен и сам преобразовать меши, но надежнее будет ручками.
2. Спрячьте ВСЮ свою модель (ПКМ\Hide Selection или ПКМ\Hide Unselected). Импортируйте любую модель того же типа и посмотрите на ее иерархию. Например, стандартный Fallout'овский лазерный пистолет (Meshes\Weapons\1hanspistol\Laserpistol.nif). Для распаковки-запаковки архивов игры использую Fallout 3 Archive Utility. Ее интерфейс прост, как двери. В окне Select Destination directory нужно просто выбрать папку Data игры - нужное дерево папок распаковщик создаст сам. На момент написания поста использую Nif-плагин для 3ds max 3.5.5.4728, 3ds max версии 8. В настройках импорта обязательно поставьте галочку "Import skeleton". В меню макса беру Graph Editors\New Schematic View (При последующих вызовах этого окна можно Graph Editors\Saved Schematic Views). Корневой обьект Laser pistol можно переименовать. В конце процедуры он должен находиться в координатах 0,0,0 - потому, что будет прикрепляться к кости Weapon правой руки Right hand, а вся модель будет привязана к нему. Кратко о назначении остальных елементов: ProjectileNode - сюда крепится снаряд, которым оружие стреляет (в данном случае лазерный луч Meshes\projectiles\laserbeamprojectile.nif); ##LPTrigger - имеет дочерний объект-меш ##LPTrigger:0, который является курком оружия. Курок вращается вокруг ##LPTrigger, как вокруг оси благодаря блоку nif-файла NiTransformController, который описывает движение неким загадочным способом. ##LPSideLatch - ответственен за извлечение магазина. К нему крепится ##LPSideLatch:0, который есть рычагом извлечения, и ##LPSmallEnergyCell, имеющий дочерний блок-меш - энергетическую ячейку ##LPSmallEnergyCell:0. Название этих хелперов может быть другим, если загружено оружие другого типа. bhkRigidBody - точка отсчета, от которой отсчитывается коллизия. Тоже должна иметь координаты 0,0,0. bhkConvexVerticesShape - коллизия модели. Это некий меш с инвертированными внутрь нормалями, который служит границами взаимодействия с окружающим миром. Например, при столкновении предметов физическим движком Havok используются коллизионные меши. В зависимости от типа построения, колизионный меш может иметь и другие имена, например, bhkBoxShape. Если все кажется слишком запутанным - не отчаивайтесь. Все гениальное просто. Или поищите другие туториалы - учитель из меня не очень. Запишите или запомните иерархию модели.
3. Выделяйте поочередно все элементы и смело нажимайте на Unlink Selected. Отсоедините все элементы.
4. Нажмите Ctrl+A, далее ПКМ\Freeze Selection. Отобразите свою модель (Unhide All). Теперь тщательно подгоните свою модель по размеру и положению ручки к замороженной. Это должно помочь избежать глюков с неправильным прикреплением к руке. Можно также подгонять под правую руку, импортировав Data\Meshes\characters\_male\Right hand и расположив ее так, чтоб кость Weapon была в координатах 0,0,0. Снова спрячьте свою модель, нажмите ПКМ\Unfreeze All.
5. Теперь удалите все меши (только меши!). Они обычно оканчиваются цифрами, например, LaserPistol:0. Коллизию тоже удаляйте, если она не подходит под вашу модель.
6. Выделяйте хелперы в окне Schematic View и двигайте их так, чтобы их расположение соответствовало вашей модели. ProjectileNode должен быть у стволового отверстия (или что там у вас), ##LPTrigger - быть как бы осью курка, ##LPSmallEnergyCell - на энергетической ячейке и т.д.
7. Соедините получившееся в иерархию, подобную той, что была (все в том же окне Schematic View нужно выбрать инструмент Connect и провести от присоединяемого элемента к материнскому с зажатой ЛКМ).
8. Коллизию имеют не все модели. Ее нет у модели одежки на теле, например. Но мы разсматриваем экспорт оружия, значит - делаем коллизию. На панели инструментом справа нажимаем кнопку Helpers, из выпадающего списка ниже - NifTools, и еще ниже - нажимаем кнопку bhkCollProxy. Теперь кликаем где-нибудь возле модели. Хелпер поставился. В его настройках устанавливаем галочку ConvexShape - это тип коллизии. В поле несколько ниже добавляем меш модели, по форме которого должна быть построена коллизия. Если новый меш слишком высокополигональный - поставьте птичку Enable optimize еще ниже (он высокополигонален процентах в 90 случаев). Чем проще коллизионный меш, тем проще считать физические взаимодействия. Не думайте, что имея мощный комп, вы плевать хотели на упрощение коллизии. Порой сложные меши приводят к дивным глюкам в игре, когда предметы дрожат, лежа на земле или качаются из угла в угол. Нажимаем кнопку Clone Mesh еще ниже и удаляем хелпер bhkCollProxy. Теперь добавляем новосозданному мешу модификатор bhkRigidBodyModifier. Назовите меш bhkConvexVerticesShape (не проверял, может быть, и не надо). Если нужно, то создайте хелпер bhkRigidBody и разместите его в нулевых координатах.
9. Начинаем экспорт (Версия Nif-плагина для 3ds max у меня 3.5.5.4728, а NifScope - 1.0.20.4748). В поле Root Node Type (если не можете найти - прочитайте предыдущее предложение) должна быть следующая ситуация. Модели без коллизии имеют NiNode, с колизией - BSFadeNode.
10. Теперь смотрим продукт в NifScopе. В каждом ноде в блоке BSShaderPPLightingProperty в поле Shader Flags снимаем флажок с SF_SHADOW_MAP (если этого не сделать, модель будет невидимой в игре).
11. Дополнительная настройка модели. а) если имеются прозрачные участки - текстурированные текстурой с альфа-каналом - добавляем в нод блок NiAlphaProperty (Из нода ПКМ\Node\Attach Property\NiAlphaProperty). Это заставит экономный движок обрабатывать альфа-канал меша. б) если модель имеет текстуру свечения (ИМЯтекстуры_g.dds) - в блоке NiMaterialProperty нужного меша меняем цвет в поле Emissive Color ставим цвет, которым, по вашему мнению, должны светится участки согласно оной карты свечения. в) если модель с коллизией не имеет в качестве рутовой кости BSFadeNode - с ней нельзя будет взаимодействовать в игре. Сделайте ПКМ на рутовой кости\Block\Convert\BSFadeNode. г) вставьте другие понравившиеся блоки. Экспериментируйте на здоровье.
12. Не забудьте сохранить модель. NifScope считает, что вы - профессионал своего дела и не спросит об этом при выходе.
Удачи в конвертировании!
Туториал от Бун. Как изменить название местности.
Почти всем пользователям модов известна такая проблема: Пустоши Мохаве переименовались в английскую Mojave Wasteland и другие ячейки, используемые модом, тоже. Например, школа Гудспрингса. Вот решение: 1. Заходим в ГЭКК. 2. Находим конфликтный плагин (вы можете вычислить его в описании мода, например: если сказано, что предмет находится в Гудспрингсе (не в школе) и у вас пострадали Пустоши Мохаве - это он) и загружаем его, сделав активным файлом и подгрузив перед этим FalloutNV_lang. 3.5 Теперь ищем верхнюю панель. Там заходим в World/World Spaces... и ищем нужную (испорченную английским) ячейку в списке слева. Когда нажмете на нее, поищите справа поле Name. И переименуйте ячейку. Если после сохранения плагина в игре ничего не изменилось (что маловероятно), то повторяем пункт 2. P. S. Данный пункт двойной, так как ячейка мира и ячейка интерьера - это разные вещи. 3.5 Если у вас пострадала ячейка интерьера (типа школы Гудспрингса), то придется заглянуть в Cell View и искать нужную ячейку. Но это просто! Видите поле Name? Там почти все локации (кроме тестовых и сюжетных) на русском языке. Найдите после символа " английские локации. Там вам попадется нужная. Далее: ПКМ\Edit\Interior Data\ и найдите Name. Вставьте новое название. Нажмите ОК. 4. Сохраните мод и выйдите.
Б-г сделал всех равными. А Беседка ещё более равными, выдав нам инструмент творения. И тут уже не до сантиментов. Кто как хочет, так и творит. Создаёт, так сказать, свою атмосферу. С корованами, и наркодилерами. Лично я не вижу в этом ничего ужасного.
Есть творцы. Есть ремесленики. Творцы, (это которые квесты ваяют, так всем необходимые) почему то смотрят на ремеслеников свысока. "Х-р всякой хренью заниматься, давай уже, сделай квест. Да такой, что бы душа развернулась, а потом не свернулась" Однако, требовать от других, что бы они делали то что интересно Вам, на мой взгляд неправильно. Ведь ... Б-г сделал всех равными. А Беседка....
Надеюсь, не задел ни чью нервную систему. И уж тем более ЧСВ.
И вообще, чего я постоянно оправдываюсь - кому мод нужен, те качают и ставят.
"Так что сталеглазые больше ничего не сказали, а только очень сильное поле взяли да месяцу на каждый рог в узелке привязали, а потом включили контакты: пускай за нас говорят факты."
Аудитория есть? Есть. Желание делать есть? Есть. Действуй. И да пребудет с тобой сила.
Пирс, фотка абсолютно упоротая. Белый верх\чёрный низ- это упоротость. Количество и цвет шаров- абсолютная упоротость. Твоя ухмылка- ты точно не упорот?
Ладно, ладно... Шучу. Хорошая фотка.
Изменение репутации для пользователя Римайер
РимайерOffline
Сообщение №372
| Тема: Бункер модмейкеров
написано: 11 октября 2013, 19:08
| Отредактировано: Римайер - 11 октября 2013, 19:13
Кстати. О грузчиках. Вот перевод Яндекса, текста С.Лема, что у меня в сообщении 3978.
Встречаем, перевод ЯндексПереводчика.
Итак, первое. "Рядом, под белым солнцем, за зеленой звездой, жили Staloocy, к счастью, krzątliwie, смело, потому что ничего не боялись: ни жирных семейных, ни политики традиционных, ни мысли черных, ни белых ночей, материи и антиматерии, потому что они машину машин, umajoną, снятая, положение всемерно всего"
Второе. "Таким образом, уже ничего не говорили, только взяли одно очень сильное поле, связали ему после supełku в каждом углу и осуществляет контакты: пусть за нас говорят факты."
Joopeeter, грузчики- они разные бывают. Одни делают "бой" из ящиков водки. А другие- ласково и нежно заносят рояль на 12й этаж. Но это так. Про нежность.
Hellraiser, Николай. Твои переводы- эталон. И да, своим постом я именно это хотел показать. Переводчик- не всегда грузчик. А как правило- творец.
У нас тут в Бункере некая напряжённость образовалась. Я что хочу сказать- ребята, давайте жить дружно.
Добавлено (11.10.2013, 23:45) --------------------------------------------- Kris†a™, спасибо. Приятно, когда интерпретируют тем или образом мои высказывания. Да, на контрасте. А как иначе?
Добавлено (11.10.2013, 23:49) --------------------------------------------- Kris†a™, для Вас- исскуство. Для меня- ремесло. Хорошо, что мы понимаем границы возможностей. И чётко позиционируем себя в моддинге. Кстати, Николай вместе с переводом зачастую правит баги оригинала. Это мы к какой категории отнесём?
Я где то прочитал- 80% лЮбого явления- полный .... отстой. Из оставшихся 20%- можно смело отбривать ещё 80%. Ничего удивительного, что у нас на МГ, что на альтернативной англоязычной площадке мы наблюдаем засилье барахла.
Hellraiser, я недавно, но уже подсел. Купил премиумную Е-25. Фан-машина.
YikxX, сорри, забыл в "" взять слово танкист.
А история- да грустная. Почему то деды так и помирают. Одни, в однокомнатной квартире. Правда, при чём тут правительство- не пойму. Правительство ему инъекцию не вкололо вовремя? Или не сидело рядом с ним, ловя последний вздох?
Изменение репутации для пользователя Римайер
РимайерOffline
Сообщение №382
| Тема: Бункер модмейкеров
написано: 11 октября 2013, 22:04
| Отредактировано: Римайер - 11 октября 2013, 22:05
А у меня котя не любит фотографироваться. Хотя толстый, и ленивый. Имеет паспорт, где полное имя его- Кинг Джорж V. Если бы знал, наверное не был бы так ласков.
Самолётиков по Мохаве накидано- мама не горюй. А у бомбистов и ремонтная база, и персонал. Там отремонтируют, и обучат. Ну по крайней мере как взлетать покажут.
KAIN48, Игорь Николаевич. Мы здесь не за "репутацией" собравшись. Мы здесь ради знанию. А уж коли ради знания, то нечего и "колёсами" хвалиться. "Колёса"- это наносное. Пыль.
Титул не уберу- достоин. А всё остальное- дым.
И да, я тоже не строил по тутору убежище. А сразу перешёл к оружию. Кому что интересно.