Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
NoNameUltima

Плавающий персонаж после респавна.

Recommended Posts

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

А суть оказалась проста - Напф карта-остров. (Например тот же Черно - материк), и у карт есть предел, за пределом карты - "радиация", чтобы игроки не забегали в эдакий буфер.

При возрождение игроков, и при заходе на сервер игрока, изначально срабатывает статическая точка появления, она прописана с mission.sqm для слота игрока.

В настройках Напф эта точка задана так же как и у других карт - далеко за пределами игрового мира. Отличие в том, что на картах-материках - за пределами мира, та  же земля, а у Напф - водичка. И игрок сначала появляется в миссионной точке возрождения(на долю секунды... ну в зависимости от лагов и нагрузки +-), а уж затем скрипт выбора места возрождения перекидывает его в другую точку. Вот он и появляется - аля пловец)

Решение просто - заменить точку в mission.sqm на точку находящуюся 100% на земле.

Share this post


Link to post
Share on other sites



Хм.. никогда такой баг не схватывал. Однако будем иметь ввиду.

Share this post


Link to post
Share on other sites

Задам глупый вопрос, можно? :upsidedown:

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

Share this post


Link to post
Share on other sites

grigor вроде как у всего свои координаты есть и их где-то можно изменить, в том числе и место респавна. Другой вопрос- где?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By vitacite
      День добрый. Гайд по ретекстуру персонажа. Как пример, сделаем несколько "новых вещей" путем изменения ванильных текстур на свои. 
      Вводная и теоретическая часть.
      {
      Сразу скажу.  Я пытаюсь объяснять своим языком, чтобы было понятно всем, и далеко не хорошо разбираюсь в скриптинге и конфигурациях Dayz, так что если вы хотите изучить все более подробно, в грамотных терминах и нужных словах прошу сюда.. 
      https://community.bistudio.com/wiki/CfgVehicles_Config_Reference  ;
      };
       
      1.Почему именно ретекстур. За все время пока я занимаюсь Арма 3 и теперь Dayz я не видел нормально портированных моделей экипировки (ну может только rhs и еще парочка), по большей части все тырят друг у друга, и модели эти оставляют желать лучшего. Ванильные модели сделаны наиболее корректно, поэтому если "новая вещь" получается за счет изменения текстуры, что со стороны внешнего вида, что со стороны нагрузки на игровую часть это лучшее, что может быть.
       
      2. Для ретекстура на понадобится понадобится:  Минимальный набор софта - Dayz tools, (программа TextView) Adobe Photoshop и так же подготовленный диск P:  с развернутым клиентом и notepad++ как редактор конфигов.
       
      3. Где и что лежит. На нашем диске P: в папке с развернутым клиентом DZ находим папку с моделями и текстурами для персонажа и его экипировки. Полный путь к папкам которые нам нужны для счастья ниже...
       
       
      Все текстуры находятся в формате .paa и нас интересуют текстуры которые имеют перфикс _co и  - обозначающий собственно непрозрачную текстуру модели, так же нас будет интересовать в каждой папке файл config.cfg. Перфиксы  _nohq, _smdi, _as и тд.. относятся к разным свойствам материалов и мы их в данном гайде не трогаем. работаем только с текстурами. В наборе инструментов Dayz tools есть утилита TextView (ее сразу лучше привязать для к просмотру файлов *.paa) которая спокойно конвертирует файлы в редактируемый формат  *.tga 
      4.  Что нужно понимать касательно конфигов.  Чтобы быстро разбираться в конфигах к моделям надо понимать несколько принципиальных вещей.
      (1)  В конфигах используется принцип наследования:
      Ну например вы описали в конфиге параметры рюкзака его вес, объем, название, описание, пути к текстурами и тд.  Большой такой кусок конфига на 30 строк. Все это описание помещается в некий "контейнер", класс:
      class Ванильный_рюкзак_Dayz { автор = "автор"; название = "ванильный рюкзак"; полное описание = "ванильный рюкзак объемом 60 литров"; объем рюкзака = "60"; собственный вес рюкзака = "6"; число занимаемых слотов в инвентаре = "9" путь к модели = "DZ\Characters\backpacks\ванильный_рюкзак.p3d"; путь к текстуре = "DZ\Characters\backpacks\data\ванильный_рюкзак_co.paa"; путь к материалу = "DZ\Characters\backpacks\data\ванильный_рюкзак.rvmat"; }; Надеюсь логика класса понятна, в нашем примере он содержит детально описание предмета, его характеристики которые передаются в игру. Все эти характеристики словно в коробочку помещены между фигурными скобками { }; точка с запятой после последней обозначает, это закрывающая скобка. Однако! мы решили создать еще один предмет. Точно такой же рюкзак, со всеми теми же параметрами но текстура у него будет уже не зеленая, а к примеру черная и еще мы дофига ленивые и нам влом писать по новой все те же характеристики, ведь этот тот же рюкзак отличающийся только текстурами.
      Что же делать? Вот нам и пригодится принцип наследования:
       
      class Наш_черный_рюкзак : Ванильный_рюкзак_Dayz  { // заменяем -> путь к текстуре = "DZ\Characters\backpacks\data\ванильный_рюкзак_co.paa"; на -> путь к текстуре = "DZ\Characters\backpacks\data\нашатекстура_рюкзак_co.paa"; }; Наш собственный рюкзак, мы привязываем к классу выше, через : и говорим движку игры взять все параметры у ванильного рюкзака Dayz и заменить только отличающиеся в нашем случае картинку, но мы можем поменять любой параметр, например не только картинку. Надеюсь принцип наследования одним классом параметров другого понятен.
      (2) Далее, для того, чтобы менять текстуры моделей, не занимаясь каждый раз их ломанием с помощью софта сторонних производителей, в большинстве моделей присутствует так называемый selection = выделение по-русски, блок сетки модели (полигонов), которые выделены под одним названием - camo,  с помощью этого camo происходит накидывание на модель как текстуры так и материала. Выглядит это примерно так..
      ....... hiddenSelectionsTextures[]= { "\olke\characters\backpack\data\alicebackpack_ClearSky_co.paa", "\olke\characters\backpack\data\alicebackpack_ClearSky_co.paa", "\olke\characters\backpack\data\alicebackpack_ClearSky_co.paa" }; ........ Сам selection camo прописан в model.cfg, а из модели он вызывается путем запроса hiddenSelectionTextures[ ] = после чего опять в "контейнере" {}; следуют через запятую текстуры которые меняются.
      Теперь сразу отвечу на вопрос почему текстуры 3... Все просто в Dayz в отличие от Арма 3 мы имеем полноценную женскую и мужскую модель, а так же модель вещи лежащей на земле. Я не стал (да разработчик тоже не стал в случае рюкзака) особо, заморачиваться и привязал одну текстуру.  Но могут случится и разные текстуры, например разные цвета и оттенки для одного и того же рюкзака в женском и мужском варианте, или лежащем на земле. Все миниатюры так же меняют свой внешний вид по этим текстурам.
       
      Если все понятно пойдем дальше.
      На диске P:\ создаем свою рабочую папку под текстуры и конфиги в моем случае это 

       
      olke\characters\backpack olke\characters\headgear olke\characters\pants olke\characters\tops olke\characters\vest еще неплохо создать папку для исходников, потом поймете почему... olke\characters\source. В каждой из этих папок я создал папку data в которую буду складывать текстуры и материалы, чтобы не было бардака. Теперь приведу пример, как будет выглядеть законченный конфиг для многострадального рюкзака.
      // листинг кофинга для модифицированного рюкзака: class CfgPatches // данный класс это заголовок конфига, содержит техническую информацию, требуемые аддоны, авторство, и тд. должен быть обязательно { class olke_Characters_Backpack { units[]= { "AliceBag_ClearSky" // название класса нашего рюкзака }; weapons[]={}; requiredVersion=0.1; requiredAddons[]= { "DZ_Characters" // аддон наличие которого игра проверит прежде чем запускаться. }; }; }; // далее будет использоваться принцип наследования, а сама конструкция напоминает матрешку, когда один класс (контейнер) вкладывается в другой класс. // по приципу class { class { class {}; }; }; обратите внимане на фигурные скобки.. class cfgVehicles // сообщаем игре что наш предмет относится к предметам обозначаемым в игре Vehicles (механизмы, вещи с анимацией и тд). { class Clothing_Base; // инициализируем класс Clothing одежда сообщаем тем самым игре, что наш предмет будет относится к одежде class Clothing: Clothing_Base {}; // забираем базовые параметры из Clothing_Base class AliceBag_ColorBase: Clothing {}; // забираем базовые параметры из класса AliceBag_ColorBase class AliceBag_ClearSky: AliceBag_ColorBase // наследуем в своем классе все параметры из AliceBag_ColorBase { scope=2; //видимый или не видимый в игре объект visibilityModifier=0.69999999; // видимость для зомби hiddenSelectionsTextures[]= // ссылки на текстуру { "\olke\characters\backpack\data\alicebackpack_ClearSky_co.paa", "\olke\characters\backpack\data\alicebackpack_ClearSky_co.paa", "\olke\characters\backpack\data\alicebackpack_ClearSky_co.paa" }; }; // закрываем предыдущий контейнер }; // закрываем предыдущий контейнер В крайнем случае все нужные классы можно подчерпнуть редактируя путем упрощения ванильные файлы конфигурации по путям указанным выше.  Мы же не ставим перед собой цель стать гуру dayz. Мы просто хотим сделать эквип для чистого неба :)) 
       
      C конфигами и теорией все. Дальше перейдем к графической части. Во вложении содержатся - собственно они, структура папок и бонусом файл stringtable.csv в котором изменены названия под новые модели. Понятное дело текстур там нет, чтобы уменьшить размер и придать толчок вашему творчеству. 
       

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • By vitacite
      Данный гайд используется, как есть. По принципу  "Не нравится - не ешь!". Он подразумевает, что вы уже умеете делать карту для Арма 3, знаете как сконфигурировать диск P для Dayz и настроить Terrain Builder. 
      Знаете и понимаете зачем нужна маска, сатка и карта высот. Для примера, была выбрана поверхность из окрестностей ЧАЭС.  Ссылки на софт (есть в видео, но продублирую тут).
       
      СОФТ И ССЫЛКИ
      https://forums.bohemia.net/forums/topic/224613-qgis-game-terrain-tools/ - топик в богемии с описанием процесса для Арма 3
      https://qgis.org/en/site/ - ссылка на QGIS
      https://gitlab.com/Adanteh/qgis-game-terrains/-/wikis/home - ccылка на плагин который все делает сам 🙂
      https://urs.earthdata.nasa.gov//users/new - нужно будет зарегистрироваться, чтобы скачать высотку.
       
      Результатом станет отличная спутниковая карта, карта высот и маска. Если про sata-map (карту высот) все понятно из видео, то про маску - отдельная песня.
      Ее можно сгенировать двумя способами.
      Способ № 1

       
      OSM Based - заключается в том, что будут подгружены шейпы из QGIS и по ним сгенерирована маска  (Внимание! чтобы все заработало, до выгрузки маски, перейти в закладку ROADS (там же) и подгрузить шейпы дорог.) 
      Плюсы - быстро, минусы - фиговая точность и качество, и не везде эти слои есть. Например, для Европы и США будет более менее... для Чернобыля она просто никакая. В моем случае часть поверхности леса закрыта шейпами, а часть нет. Соответственно в маске там будет просто дырка.
       
      Cпособ № 2. Regions of Interrests (генерация маски с помощью искусственного интеллекта) (отмечаем чекпоинт и жмакаем на кнопку CREATE REGION OF INTEREST)

      после нажатия, развернется свиток, где можно будет выбрать:
      1. цвет для будующей маски.
      2. создать выделение с помощью полигона. 
      Чтобы все получилось,  НЕ НУЖНО! делать огромные полигоны!!!!  Нужно выделить маленькими полигонам(шейпами), наибольшее количество ВАРИАНТОВ травы, леса, грязи и тд. Чем больше вы покажите AI вариантов для каждого типа ваших поверхностей, тем более круто он обучится ее делать и тем круче маска будет сгенерирована.В результате получится маска качеством, как на видео. 

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
      В текстовик в папке проекты будут сразу выгружены цвета вашей маски для Layer.cfg. Так же в маске изначально закрываются все проблемы с паразитными цветами, размытыми краями и тд. (если вы делали карту для Arma2/3) то понимаете о чем я.
      (Обратите внимание. Данный вариант потребует установки дополнительного плагина. Все что нужно сделать нажать на кнопку там же в свитке:)
      Install OrfeoTollbox (REQUIRED) И подождать, т.к. грузится и ставится оно сравнительно долго!
      Для выделения вариантов жмем на кнопку: 
      Create Sample в свитке и начинаем ввыделять полигонами объекты прямо поверх SATA-MAP (левой кнопкой мыши ставятся вершины, правой кнопкой закрывается полигон). Еще раз, выделяем маааленькими полигонами, максимальное число вариантов будущей поверхности на вашей спутниковой карте. Вы удивитесь сколько оттенков зеленого леса к примеру может там быть..
       
      Посе создания маска и нажатия кнопки GENERATE. Плагин сгенерирует и сохранит все слои (sata-map, mask-map, height-map, и текстовик с данными для Layer.cfg и Config.cfg, а так же параметрами вашего фрейме) в папку проекта QGIS.
       
      Все что останется, это скопировать файлы в Source вашего проекта, и можно все это загружать для создания фрейма в TB.
       
      После того, все слои в фрейме будут загружены и сконфигурированны в TB можно будет преступить генерации леса в утилитах ниже.
      Первая из них генерирует лес по маске.
       
      Учтите данная утилита для Arma 2 и не может работать с масками более чем 5120 на 5120 px, поэтому если размер вашей карты больше, то придется делать маску отдельно для леса. В при моих размерах пришлось у меньшать ее в три раза (когда будете делать это в фотошопе не забудьте выставить в окне RESIZE изменение размера с четкими контурами) иначе вашу четкую маску размоет и вы получите паразитные цвета.
       
      Маштабированную маску по которой садим лес сначала загружаем в проект...

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
      Далее жмем на кнопку с деревом (Forest Geneator) подгружаем по новой маску леса. И нажимаем кнопку анализировать. Получим вид как на скрине.
      (список цветов в маске)
       
      Вам нужно будет выделить цвет из маски, и создать в нем массив с деревьями путем добавления их названий (список лежит в файлике ниже).

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

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
      После того, как все цвета будут выбраны и засеяны растительностью жмете Create. Опытным путем с 2-3 раза вы поймете насколько надо засеять деревья и кустарники, на какой местности, чтобы их было не слишком мало или много.  Ваши деревья будут рассажены по цвету, и выгружены как объекты в текстовый файл в формате VBS3
      "t_betulapendula_2fc";201816.625;7.632;149.000;-0.131;0.924;1.000;0.000; Будьте бдительны! Данная утитилита проекты (почему-то) не сохраняет. Если вы ее закроете, то придется проделывать ВЕСЬ ПУТЬ!!!! сначала!!! Поэтому во время тестов выгружаем отдельный слой в Terrain Builder объекты из конвертированного файла, запускаем бульдозер оцениваем плотность и красоту. Если не устраивает, меняем процентное соотношение в программе и заново сохраняем НЕ ЗАКРЫВАЯ ЕЕ!!!!
       
      Выгруженный нами файл для VBS3 придется еще раз конвертировать для билдера от Arma 3 (Dayz SA). Процесс достаточно простой. Все сделает вторая утилита. (Внимание!!!! Я не знаю зачем она это делает, перед каждым названием вашего дерева будет стоять не (") а (""), поэтому для окончательной загрузки, лишнюю  (") надо будет удалить используя подручные средства. (например notepad++).
       
      При всей муторности описания поверьте мне это самый быстрый из существующих способов более-менее качественной рассадки деревьев. Поигравшись с параметрами и настройками, вы сможете рассадить растительность на карте за 10-15 минут.
      Собственно все. Незабудьте прежде чем подгружать в TB объекты из текстовика (через Import Object) сами деревья подгрузить в TB и задать все необходимые параметры.
       
      Ниже ссылки
      https://www.armaholic.com/page.php?id=10508 - программа чтобы поставить на карту деревья
      https://forums.bohemia.net/forums/topic/226269-tools-utilities-compilation-list-for-arma3/ V3 to TB Objectlist Converter
       
      Как обычно все до чего дотрагиваются Bohemia работает криво косо и через жопу. Но в моем случае все заработало 🙂 
      Удачи.
      PS: результат если все сделать правильно.
       
       
    • By vitacite
      Бесплатные проекты - "пацаны собрались и замутили сервачок" долго не живут.  В этом я убеждался много раз. Нет сначала на интузиазме эффективность неплохая, но затем все это затухает управляемость команды падает.  Начинаются вопросы - "а почему это должен делать я?",  отмазки "да я на даче сегодня", "да у меня командировка" и тд...  + кто-то должен спонсировать оплату сервера, антидудосов и прочей лобуды, а такого человека интерес тоже может пропасть в любой момент. А чтобы проект был хороший - кому-то надо реально "въебывать", как на второй работе, и  кому-то постоянно вливать туда бабло.
      Поэтому, лично я, считаю любой некоммерческий проект заранее проваленным!  Побегать недельку другую с друзьями это да. Что-то более серьезное, не тратьте свои силы и время! Как минимум на  тему сталкера я таких проектов видел 10 штук и в некоторых даже сам поучаствовал. Начиналось все амбициозно и даже набирало онлайн до 100 человек. Но заканчивалось все одинаково 3-4 месяца и с десято скучающих тел, на безлюдном сервере.  С точки зрения администации, игроки ведут себя как проститутки, бегая с сервера на сервер, друзья перешли, или потому что на том добавили новый прикольный скрип, или прикольную тачку, или тут плохой пинг, а там хороший, или админ козел забанил за читы и тд.  а все эти приколюхи требуют денег, а игровое сообщество не очень расположено их платить за некачественный контент. Да и сама администрация достаточно быстро забивает и расслабляется.
      (я сейчас не говорю о конкретном проекте, скорее это собирательный образ халявы).
       
      А теперь по-существу.  Так сколько должен стоить контент с хотя бы приемлемым качеством?  

      Свое мнение я написал ниже.
       
       
      Спасибо за внимание.
       
      А что думаете Вы напишите ниже в комментариях!
       
       
    • By vitacite
      Вступление: 
      Бодрого дня комрады. Данный гайд расчитан на тех кто умеет пользоваться 3D Studio Max, умеет пользоваться Object Builder и хотя бы пытался делать собственные модели.  Я разбираюсь с этой темой с нуля,  у меня есть опыт создания стволов для Арма 3, но в Dayz, как выяснилось все совсем иначе. Статей будет видимо несколько ибо Богемия, это такая Богемия, что не важно какую игру она делает. Инструменты остаются кривожопыми, паралогичными и в целом непонятными.
       
      Начнем с полного нуля. Т.е. выбора модели и подготовки ее и текстур.
      1.  Модельный контент на самом деле ограничен в использовании. Отсюда за порт калаша из Арма 3 без учета авторских прав, может влететь не только в виде SteamBan-а вашего мода, но еще и за нарушение авторских прав.
      Поступим честно. Купим модель у автора на стоке.  В данном случае я выбрал модель АК12 я выбрал за внешний вид. Вот ссылка на саму модель. Заодно оцените сколько стоит труд моделлеров. 
      https://www.cgtrader.com/3d-models/military/gun/ak-12-m
       

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
      Кроме того эта модель имеет полный набор необходимых текстур (имеет карту теней, карту высот, нормали и прочее). Что позволит создать адекватный мультиматериал.  Правда все это не форматах Dayz SA (Арма 2), по переделать это не так сложно.
      Сразу скажу т.к. модель в игре будет смотреться несколько иначе.  Мне придется разобраться АК 12, чтобы выделить необходимые движущиеся части, курок, затвор, отделить магазин, прицелы, приклад в отдельные части. Так, как это используется в Dayz. Все это будет делаться в 3D макс. А так же сохранить в формате, который адекватно экспортируется в Dayz Object Builder.
      По мере прогресса, я буду выкладывать отчеты с подробным описанием действий. 
       
      Использованный софт:  изучение модели, для составление гайда (название селекшенов, лодов и тд.) проводилось с помощью программы Elitness из пакета Mikero tools  https://mikero.bytex.digital/Downloads. Подгонка моделей проводилась в бесплатной ученической версии 3DStudio Max, конверт текстур Photoshop, подгонка моделей Object Builder, конфиги писал в notepad  ++
       
      План действий такой. 
       
      Распил 3D модели в 3D макс на отдельные части (те, которые будут выделены в прокси, как отдельные предметы)
      Создание текстур и материалов (AS,SMDI,NOHQ) на базе приложенных в модели и подгонка материала.
      Создание селекшенов и лода memory
      Перемещение частей в прокси и подгонка их к базе.
      Создание model.cfg
      Создание config.cpp 
      Импорт всего этого добра в собственный
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
       
       
       
       
       
       
       
      Изначально модель была не готова для конверсии. В первых, все части были собраны в одну представляя из себя нагромождение частей АК-12,  во-вторых пришлось делать Detoch частей модели например затвора, т.к. изначально он был представлен двумя несвязанными друг с другом полигонами, а у нас затвор - движующаяся часть.  В итоге скрыв лишние LOD-ы (они пока нам не нужны) и пересобрав там где надо запчасти. Получилась следующая картина.

       
      Я заранее выделил, как отдельные модели части которые будут подвергнуты анимации. А именно курок (base curok) и затвор basehutter. А также выгрузил в отдельную модель рамку прицела и приклад, чтобы подцепить к модели через прокси. Об этом расскажем отдельно. А планки Пиккатини сделал неснимаемыми (без них между прицелом и базой АК будет большой зазор). Так пришлось повозиться с место крепления съемного приклада, т.к. при разборе модели на зап.части там образовалась дыра.  Готовую модель требуется конвентировать в формат FBX.
       

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
       
       
       
       
       
       
       
      Выделяем только те части которые нами выбраны для моделирования и делаем export selected.
      В моем случае я подготовил папку
      P:\тегпроекта\weapons\firearms\AK12\source\ При сохранении чтобы все потом правильно экспортировалось, желательно выставить чекпоинты в открытых свитках, как на скриншоте, остальное оставить по умолчанию. 

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
      И обязательное условие формат для экспорта должен быть FBX 2010.  Не спрашивайте почему, это загадка для меня связанная с работой Object Builder, но в моем случае нормальный экспорт получается только в 2010 FBX.
      Так же отдельными моделями по такому же принципу выгружаем приклад и прицел и магазин(ы) автомата. Это отдельные модели которые мы будем цеплять через прокси.
       

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
       
       
       
       
       
       
       
      При импорте в Object Builder отключите чекпоинт на Sharp & Smoth edges (иначе все идет кубами) и Animation (ее просто нет), включите Prepare materials. 
      Полученный автомат загружается неправильно ориентированным в пространстве, незатекстуренным, но с готовыми к работе selection. 
       
      Сохраняем нашу модель под именем 
       
      P:\тегпроекта\weapons\firearms\AK12\ak12_base.p3d  И займемся конфигом.  
      Открываем notepad++ и создаем model.cfg следующего содержания 
      class CfgSkeletons { class Default; class ak12_base_skel : Default //название скелета { skeletonInherit = ""; isDiscrete = 1; SkeletonBones[]= { "magazine" ,"", //кости для анимации сменный магазин "trigger" ,"", //курок "bolt" ,"" //затвор }; }; }; class CfgModels { // BASE CLASS DEFINITIONS START class Default; class ak12_base:Default //цепляем скелет к нашей модели. { skeletonName="ak12_base_Skel"; sections[]= { "magazine" //выделяем сецию магазин }; class Animations { }; }; // BASE CLASS DEFINITIONS END }; Он базовый позже мы его дополним. Конфиг я планирую использовать от ванильного АК47, врядли он будет сильно отличается, от АК12. 
      По схожим прнципам копируем файлы с будующими прокси..
      Магазин на 30 патронов.
      ak12_magazine_30rnd.p3d Магазин под барабан 
      ak12_magazine_drum.p3d Прицельная рамка
      ak12_sight.p3d Съемный приклад
      ak12_stock.p3d 
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      Итоговый вид моего рабочего каталога.
      Пришло время занятся материалом для нашего АК.
      Архив содержит текстуры для базы АК12 в формате TGA (это кстати важно т.к. позволяет сохранять битность тестур, а там где мы работаем с материалами мы будем работать с каналами)
       
      AK12_Base_A.tga  - диффузная карта
      AK12_Base_AO.tga - окружение
      AK12_Base_MSA.tga - карта отражения
      AK12_Base_MT_AO_0_G.tga - карта металик, карта отражения, и окружение вместе.
      AK12_Base_N.tga - карта нормалей (тут пришлось заморочиться т.к. эта карта нормалей для OpenGL.  а в нашем случае карта нормалей нужна для Direct X.)
       

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
      Разницу можно увидет на скриншотте выше в левой части нормаль в OpenGl формате в правой части нормальн в DirectX формате. 

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
      В нашем случае я поменял красный и зеленый каналы, синий не тронул. 
      https://community.bistudio.com/wiki/Texture_Map_Types
      про разницу карты нормалей между openGL и директ X тут - 
      https://help.cc0textures.com/doku.php?id=usage:directx-opengl
       
      Для нормального материала нам понадобится карты AS и SMDI
      Создадим их AS из AO не меняем..
      Для SMDI берем родную текстуру 
      AK12_Base_MSA.tga и создаем SMDI  (как можно узнать из статьи выше карта SMDI хранит информацию в зеленом и синем канале игнорируя красный и альфу). Создаем пустую картинку аналогичных размеров и начинаем копирование нужных каналов.  Соответственно зеленый канал из оригинальной тестуры, я скопировал в синий канал новой текстуры SMDI, красный канал SMDI залил белым (0), а в зеленый канал скопировал текстуру из красного оригинального (содержащего блестяшки и сильно ее затенил).
      (скрин не влез из-за ограничений  800кб) но ничего продолжим ниже.
       
       
       
       
      Продолжение следует........
    • By 123new
      Вижу крайне много любопытных вопросов по поводу идентификаторов игрока в игре. Что же, разжую для не знающих немного.
       
      В игре есть следующие типы идентификаторов:
      1. Steam64ID идентификатор профиля игрока (на пиратках его UID называют), примерно такой: 765475....65 (17 цифр).
      2. Так называемый мною, BIS ID - uid из окна (консоли) сервера игры и ADM-файлов логов сервера, который пишется самой игрой
      3. Battleye GUID игрока.
       
      Первый идентификатор (Steam64ID) на ПК является прямым идентификатором стим-профиля игрока, уникальным у каждого игрока. Т.е. публичным идентификатором вашего профиля для большинства стим-игр (например, Counter-Strike).
      Второй идентификатор (BIS ID) является определенной хеш-суммой, полученной из Steam64ID посредством конвертации сначала в sha256, а затем в base64. Спасибо за это разъяснение и пример кода-конвертации авторам игры на своем официальном форуме.
      Третий идентификатор (Battleye GUID) является публичным идентификатором Battleye античита, получаемый также из Steam64ID поcредством получения его хеш-суммы MD5. Этот же идентификатор есть в логах сервера от Battleye, в любых RCON-приложениях (DART, BEC и т.п.), также его можно конвертировать самим.
       
      Так вот, как же получить Steam64ID:
      1. Зайти на любой ресурс, предназначенный для сбора таких данных. например на: https://steamid.io/
      2. Ввести ссылку на ваш стим-профиль
      3. Получить результат из кучи данных, одно поле из которых и будет содержать ваш Steam64ID
       
      Как получить BIS ID:
      1. Открыть любой Phyton-конвертер в интернете, например: https://www.tutorialspoint.com/execute_python_online.php
      2. Ввести в него следующий код:
      # Hello World program in Python from hashlib import sha256 from base64 import b64encode def construct_bi_uid(steam_id): hashed = sha256() hashed.update(str(steam_id)) return b64encode(hashed.digest()) print construct_bi_uid(76514925976798981) 3. заменить 76514925976798981 на ваш Steam64ID
      4. Отправить код в исполнение, нажав Execute.
      5. Получить результат

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
      Как получить Battleye GUID:
      1. Открыть любой ресурс с готовой формой конвертирования, например:
      https://armstalker.com/guid/
      https://dayzrussia.com/f/index.php?pages/dayzguid/
      либо написать свою, на основе данных, предложенных на странице Github
      https://gist.github.com/chris579/53053b6d6438df9a9718c23c0d6bbd69
      Оставлю ниже лишь код для Phyton:
      # Thanks to gunlinux import md5 steamid=76514925976798981 temp = "" for i in range(8): temp += chr((steamid & 0xFF)) steamid >>= 8 m = md5.new("BE"+temp) print m.hexdigest() 2. Вставить в поле ввода UID(Steam64ID) ваш Steam64ID
      3. Нажать кнопку конвертирования или исполнить код, и получить в готовом виде Battleye GUID
       
      Возможно имеются и другие методы и наработки в получении данных идентификаторов более простыми методами, на других языках, либо автоматически. Я описал лишь известные мне.
      Все желающие могут добавить в комментариях свои способы конвертаций, возможно это поможет кому-либо.
×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.