SkyLoader 53 Опубликовано 26 Марта 2016 (изменено) Вопрос по скиннингу. У нас есть несколько типов скиннинга. В первом скиннинге в вершине хранится индекс кости. Во втором скиннинге хранится два индекса с указанием некой тяжести, которая потом используется при лепре итоговой матрицы. (третий и четвертый в расчет не берем) Что это за тяжесть? Это тот коэффициент, который настраивается при мягкой привязки на вертекс? Или что-то другое? Изменено 26 Марта 2016 пользователем SkyLoader Поделиться этим сообщением Ссылка на сообщение
SkyLoader 53 Опубликовано 26 Марта 2016 (изменено) Вес, про который ты спрашиваешь - как раз интерполятор между двумя костями. А, спасибо, значит как и думал. Может, в ЧН или ЗП есть варианты и с большим числом костей на вершину (в современных играх и 4 кости может влиять), но точно сказать не могу, нет под рукой ресурсов ЗП. Да, так и есть, добавили еще два скиннинга. Для трех и четырех костей на вершину. Самое интересное, что вроде бы кол-во байтов у вершины должно быть больше с увеличением кол-ва данных (индексов костей и интерполяторов), но как во втором скиннинге, так и в третьем и четвертом размер один - 28 байтов. Текстурные координаты заносятся в шорт в четвертом скиннинге вообще Четветвертый скинниг редко я встречал, зачем надо было так компоновать? struct v_model_skinned_2 // 28 bytes { float4 P : POSITION; // (float,float,float,1) - quantized // short4 float4 N : NORMAL; // (nx,ny,nz,weight) // DWORD float3 T : TANGENT; // tangent // DWORD float3 B : BINORMAL; // binormal // DWORD int4 tc : TEXCOORD0; // (u,v, w=m-index0, z=m-index1) // short4 }; struct v_model_skinned_3 // 28 bytes { float4 P : POSITION; // (float,float,float,1) - quantized // short4 float4 N : NORMAL; // (nx,ny,nz,weight0) // DWORD float4 T : TANGENT; // (tx,ty,tz,weight1) // DWORD float4 B : BINORMAL; // (bx,by,bz,m-index2) // DWORD int4 tc : TEXCOORD0; // (u,v, w=m-index0, z=m-index1) // short4 }; struct v_model_skinned_4 // 28 bytes { float4 P : POSITION; // (float,float,float,1) - quantized // short4 float4 N : NORMAL; // (nx,ny,nz,weight0) // DWORD float4 T : TANGENT; // (tx,ty,tz,weight1) // DWORD float4 B : BINORMAL; // (bx,by,bz,weight2) // DWORD int2 tc : TEXCOORD0; // (u,v) // short2 float4 ind: TEXCOORD1; // (x=m-index0, y=m-index1, z=m-index2, w=m-index3) // DWORD }; Изменено 26 Марта 2016 пользователем SkyLoader Поделиться этим сообщением Ссылка на сообщение
SkyLoader 53 Опубликовано 1 Августа 2016 Благодаря Macron-у удалось пофиксить древний баг ТЧ с чернеющими на дистанции стеклами и порталами. А возможно-ли провернуть подобную штуку с ogf модельками? Подождите LA DC, возьмете шейдеры оттуда. Я это фиксил. Поделиться этим сообщением Ссылка на сообщение