Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
Sign in to follow this  
vitacite

Ретекстур чего угодно. (camoSelections)

Recommended Posts

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

Далее описываю своим словами....

Главное чтобы модель содержала специальные выделеные для ретекстура группы полигонов (selection), а так же содеражала ссылки на эти группы полигонов в model.cfg.  Узнать есть или нет такие группы полигонов можно с помощью программы Elitness (из пакета микеро)

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

на данном скрине видно наличие в 0 (визуальном лоде) выделения под именем CamoMale и ссылку на него в model.cfg. 

В дейз есть несколько вариантов Camo: CamoGround - для вещей лежащих на земле и отображаемых в инвентаре, CamoMale - мужской скин, CamoFemale - женский скин.  Соответственно в каждом из вариантов 3d модели (на земле/мужская/женская) будет свой selections, но конфиг у них будет общий. 

 

Таким образом, если модель годна для ретекстура (selection может быть, но не обязан), все что надо сделать кроме текстур, это создать собственный конфиг. Логика конфигов в Dayz содержит принцип наследования. Чтобы не писать одно и тоже для однотипных моделей, мы можем просто ссылаться на некий базовый конфиг и забирать параметры из него.

Показываю технологию на примере рюкзака aliceBackPack, но те же самые принципы будут работать для любой модели в Dayz. 

Объясню на примере листинга конфига этого рюкзака..

class CfgPatches
{
	class olke_Characters_Backpack  //путь к проекту
	{
		units[]=
		{
                    "AliceBag_ClearSky" // класс модели в конфиге
		};
		weapons[]={};
		requiredVersion=0.1;
		requiredAddons[]=
		{
			"DZ_Characters" // ссылка на требуемый аддон в Dayz (без него работать не будет).
		};
	};
};

class cfgVehicles // объявляем класс Vehicles 
{
/* инциализируем базовые класс (можно посмотреть в ванильном конфиге
для любого вашего предмета) все эти классы уже описаны в Dayz и все 
что нам надо сделать это просто вызвать их. */

// инициализируем общий для всей одежды класс Clothing_Base 
	class Clothing_Base; 
// инициализируем общий для всей одежды класс Clothing	
	class Clothing: Clothing_Base {}; 
// а вот тут мы инициализируем ваниальный рюкзак AliceBag_ColorBase - как базовый. 	
	class AliceBag_ColorBase: Clothing {}; 

/* Далее, объясню понятее, сначала указываем имя нашего класса, 
в нашем случае это AliceBag_ClearSky
затем через : мы указываем тот класс с которого мы заберем все параметры	
В нашем случае это проинициализированный выше AliceBag_ColorBase
в скобках {}; мы указываем только те параметры которые хотим поменять */


	class AliceBag_ClearSky: AliceBag_ColorBase
	
	{
		/* базовые классы обычно невидимы, scope=0 
		поэтому нелишним будет указать для своего класса ,чтобы наш видим */
		scope=2; 		
		/* модификатор видимости влияет на степень видимости для зомби */
		visibilityModifier=0.69999999;
		/* Теперь переходим к теме вопроса
		базовый класс содержит параметры hiddenSelections[] = {"camoGround","camoMale","camoFemale"}; 
		т.е. все три selection на земле, мужской и женский со всех трех моделей, поэтому нам этот 
		параметр указывать не обязательно. В своем конфиге мы укажем только 
		пути к этим трем текстурам*/
		
		hiddenSelectionsTextures[]=
		{
			"\olke\characters\backpack\data\alicebackpack_ClearSkyG_co.paa", //на земле
			"\olke\characters\backpack\data\alicebackpack_ClearSkyM_co.paa", //мужской
			"\olke\characters\backpack\data\alicebackpack_ClearSkyF_co.paa"  //женский
		};
	};
};

Т.к. текстура отражает разную поверхность и материалы, на эти же camo можно положить через конфиг не только диффузную текстуру _co но и материал..

  hiddenSelectionsMaterials[]=
        {
            "\olke\characters\backpack\data\alicebackpack_ClearSkyG.rvmat", //на земле
            "\olke\characters\backpack\data\alicebackpack_ClearSkyM.rvmat", //мужской
            "\olke\characters\backpack\data\alicebackpack_ClearSkyF.rvmat"  //женский
        };

Таким образом в итоге получится что-то типа....

class CfgPatches
{
    class olke_Characters_Backpack
        units[]=
        {
                    "AliceBag_ClearSky"
        };
        weapons[]={};
        requiredVersion=0.1;
        requiredAddons[]=
        {
            "DZ_Characters"
        };
    };
};

class cfgVehicles
{
class Clothing_Base; 
class Clothing: Clothing_Base {}; 
class AliceBag_ColorBase: Clothing {}; 

class AliceBag_ClearSky: AliceBag_ColorBase
{
   scope=2;         
   visibilityModifier=0.69999999;
   hiddenSelections[] = {"camoGround","camoMale","camoFemale"}; 
   hiddenSelectionsTextures[]=
        {
            "\olke\characters\backpack\data\alicebackpack_ClearSkyG_co.paa", //на земле
            "\olke\characters\backpack\data\alicebackpack_ClearSkyM_co.paa", //мужской
            "\olke\characters\backpack\data\alicebackpack_ClearSkyF_co.paa"  //женский
        };

  hiddenSelectionsMaterials[]=
        {
            "\olke\characters\backpack\data\alicebackpack_ClearSkyG.rvmat", //на земле
            "\olke\characters\backpack\data\alicebackpack_ClearSkyM.rvmat", //мужской
            "\olke\characters\backpack\data\alicebackpack_ClearSkyF.rvmat"  //женский
        };

    };
};

По такому же принципу работает любой ретекстур.  Инициализируем базовые классы -> привызываем к ним свою модель-> определяем через параметр HiddenSelections - выделения, через HiddenSelectionTextures и HiddenSelectionMaterials - задаем текстуры и материал.

Edited by vitacite (see edit history)

Share this post


Link to post
Share on other sites



@vitacite шикарно. Всем бы такую активность на форуме (в том числе и мне времени бы побольше на эту активность) 😂

Share this post


Link to post
Share on other sites

А что такое visibilityModifier ?

Я вижуалом не занимался никогда, но пришлось в итоге поретекстурить

Делал все так же

Вроде норм

 

 

Share this post


Link to post
Share on other sites

visibilityModifier - модификатор видимости. Разберусь как это работает, расскажу.

Share this post


Link to post
Share on other sites
28.09.2020 в 13:54, vitacite сказал:

visibilityModifier - модификатор видимости. Разберусь как это работает, расскажу.

разобрался? ))

 

Share this post


Link to post
Share on other sites

С ванильным шмотом понятно. А как быть с портированной моделью?

Есть некая модель, которая была портирована. В самой модели указал силекцию, условно "camo1". Так же в objectBuilder указал путь к текстуре и материалам. Прописал в конфиг с указанием пути к модели. В игре отображается прекрасно. Но, дело в том, что нужно несколько окрасов этой модели. 

Далее.. добавил разновидности текстур, прописал по анологии с примером автора. Дополнительные классы отображаются в игре, но текстура отображается стандартная (которая была прописана при портировании модели). Возможно есть какие либо идеи как добиться желаемого результата? Подскажите)

Share this post


Link to post
Share on other sites

Ну я уже на такие вопросы отвечал. Проверяйте. 

 

1. Название самого селекшена

2. Наличие вашего selection в model.cfg вашей модели.

3. Правильность написания конфигов и наследования базового класса.

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

 

Share this post


Link to post
Share on other sites

BorizzK : Ага. Модификатор камуфляжа по-поводу видимости для зомби.

Edited by vitacite (see edit history)

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
Sign in to follow this  

  • 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 в котором изменены названия под новые модели. Понятное дело текстур там нет, чтобы уменьшить размер и придать толчок вашему творчеству. 
       

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

×
×
  • 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.