По модели:
Катастрофическое отсутствие фасок. Они значительно улучшают внешний вид модели, советую изучить пайплайн булей с сабдивом - он наилучший для работы с оружием, хорошие материалы по этой теме - плейлист topostudy на ютюб-канале mx1001, правда, он почти все фаски делает вручную, что не очень рационально по времени, большинство фасок можно сделать модификатором bevel.
По текстурам:
Слишком однородный рафнес, всё выглядит очень матовым. Краску можно сделать более глянцевой (рафнес 0.4-0.5), к тому же, можно добавить к рафнесу какую-нибудь текстуру, поищи в интернете surface imperfections textures, текстуру нужно с помщью ноды math(add) прибавить к значению 0.4, или 0.5 (нода value), только не перебарщивай, если нужно - можно текстуру пропустить через math(multiply), где значение в свободном сокете регулирует влияние текстуры. Более глянцевым можно сделать и затвор.
Грязь распреляется катастрофически равномерно по всей винтовке, такого не бывает, и смотрится это плохо. Лучше смешай шейдер грязи с краской с помощью AO (Ambient Occlusion).
Разводы на черных частях слишком сильно выделяются, они должны быть едва видны.
В целом, при текстурировании придерживайся поэтапного наложения деталей, вот, на примере краски песочного цвета, которой покрыта большая часть винтовки:
1) Сделай базовый шейдер краски (рафнес около 0.4-0.5, хотя, поищи побольше рефов, и выставляй значения именно по ним, а не придерживайся чего-то одного)
2) Добавь вариативности цвета, создай текстуру musgrave texture, затем mix rgb. Одним из цветов выбери цвет самой краски, второй цвет сделай чуть светлее, и менее насыщенным, в фактор воткни musgrave texture, только опять же не переусердствуй: вариация должна быть видна, но очень слабо, musgrave texture можно воткнуть в color ramp, чтобы сделать её не такой контрастной.
3) Высветли острые рёбра.
Нода bevel отметит все фаски на модели, её можно использовать как фактор. Скопируй шейдер краски, сделай цвет более светлым, рафнес можно сделать ниже, чем у самой краски, затем, с помощью mix shader смешай шейдеры с нодой bevel в факторе. Сам bevel можно с помощью mix rgb(overlay) смешать с текстурами шума, чтобы сделать его не таким ровным. Второй вариант - воткнуть bevel в сокет from min ноды map range, а в value воткнуть какую-нибудь текстуру
шума, или гранжа.
4) Сделай шейдер грязи, рафнес у неё повыше, с помощью AO смешай с основным шейдером.
5) Дальше можно ещё много всего добавлять по такому же принципу, главное - детали не должны слишком сильно выделяться, особенно мелкие. К слову, необязательно делать всё только процедурно. Маски можно дорабатывать руками, для этого создаем для нужной маски черную текстуру, дорисовываем на ней белым цветом какие-то детали, и смешиваем с маской с помощью mix rgb(lighten), либо math(add)