Продолжение статьи "Оружейная мастерская"
Большая просьба комментарии оставить на потом. Иначе вам и другим будет неудобно читать. Скриншотов много, придется делать длинную статью в комментариях. Как разберусь что и куда и все это изложу.. обсудим.
Продолжение....
Результат получился примерно такой...
Далее я скопировал стандартный материал, и редактировал его под наш АК12
// листинг файла AK12_Base.rvmat
ambient[]={1,1,1,1};
diffuse[]={1,1,1,1};
forcedDiffuse[]={0,0,0,1};
emmisive[]={0,0,0,1};
specular[]={0.72352946,0.72352946,0.72352946,1};
specularPower=105;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="olke\weapons\firearms\ak12\data\ak12_base_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage2
{
texture="#(argb,8,8,3)color(0.5,0.5,0.5,0.5,DT)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage3
{
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage4
{
texture="olke\weapons\firearms\ak12\data\ak12_base_as.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage5
{
texture="olke\weapons\firearms\ak12\data\ak12_base_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage6
{
texture="#(ai,64,64,1)fresnel(1.61,1.4)";
uvSource="none";
};
class Stage7
{
texture="dz\data\data\env_land_co.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
Материал абсолютно не отличается от подобных в Арма 3, все тож самое идеалогия и тд. Правда надо отметить, что нормали видно лучше. C блеском и яркостью пришлось сильно повозиться, т.к. блестяшки я затенил недостаточно и все сияло, и блестело, будто это автомат арабского шейха :)))
Результат измученного материала получился примерно такой.
Аналогично я поступил с прикладом, (магазины и прицельная рамка, с базовой текстурой). На скриншотте все выглядит целой моделью, однако в Object Builder, представляется все не так..
Прежде чем АК12 принял такой вид пришлось повозиться с позиционированием. Делал я это следующим образом. В свежеимпортированную модель АК12 подгружал прокси в виде ванильного автомата из Dayz и позиционироал по нему. Сказать что это еб...ня.. это не сказать ничего. Спасибо богемии интератив за ох...ные инструменты. Гореть им в аду.
Причем эта ........ть работает только в бульдозере.. т.е. запускаем смотрим двигаем так чтобы совпало... ну вы поняли... Cовместив наши объекты с оригинальными удаляем прокси и оставляем объект в нужной позиции. (на скриншоте ванильный АК 101 из Dazy и полпрозрачный оригинальный который мы крутим вокруг своей оси и позиционируем). Все было бы проще, если бы БИС-ы удосужились в Samples под Dayz сделать и оружие, но они не удосужились.
Это ведь великий секрет!
Обратите внимание, как позиционирован приклад в пространстве!!! Т.е. от оригинальной модели пришлось его вертеть по всем осям. Пока не получился вот такой результат.
Прокси тут затенен, а мой приклад от АК 12 полупрозрачный т.к. в текущий момент выделен.
Как вы могли заметить из предыдущего скриншотта я выделил знакомые мне selection по Arma3, в Dayz они называются так же bolt - затвор, trigger - курок? bullet- пуля (она там отдельной
моделькой внутри автомата (будет потом вылетать при стрельбе обеспечивая анимацию отстрела) и соответствуют костям в конфиге. Так же были подвязаны прокси магазин, прицел и приклад. Судя по рендерингу в бульдозере все позиционировалось правильно.
Для того чтобы разобраться дальше нам потребуется программа Elitness из пакета Mikero Tools ...
Что мы можем в ней наблюдать..
Стандартная модель АК 101 содержит 5 визуальных лодов.
ViewPilot, Geometry, Memory, ViewGeometry, FireGeometry.
Так же визуальный лод содержит кости для анимаций
под затвор (bolt), пулю (bullet), переключатель огня (firemod), курок (tigger) магазин (magazin) и камо (camo) (для смены текстур налету). и непонятный пока zbitek
Все части автомата подцеплены через прокси (в случае с АК101 они находятся в папке attachments), model.cfg не сильно отличается от моего.. разве что содержит загадочное слово ZBYTEK.
Лод Geometry крайне упрощен, и содержит всего один компонент.
Лод memory содержит, как старые известные по Арма 3 точки, так и новые с которыми будем разбираться.
Обратите внимание, что Lod-а теней нет вообще, они генерируются налету из визуалки.
Для начала сделаем то просто.
Простую коробку для геометрии, с учетом размера приклада (думаю позже буду ее подгонять под плечо и анимации от АК 101).
Не забываем делать поиск компонентов и выставлять массу.
В property name = autocenter 0 (отменить выравнивание по центру)
Параметр масса = 20.
Так же я создал Lod Memory в котором обозначил оси для анимации движения затвора - bolt axis, nabojnicestart и nabojniceend для траектории вылета отстреляной гильзы, eye - положение глаз игрока при прицеливании (потребует подгонки) и usti hlavne место вылетания пули и огня.
Желательно названия точек сохранять такими если не врут вики для Арма 3, названия прописаны в движок.
Продолжение следует...