Jump to content
Sign in to follow this  
Howli

реверс инженеринг UMaterialUniform

Recommended Posts

UProps сериализуется нормально, после него идет материал:

00 00 00 00 00 00 00 00   хз везде 0
04 00 00 00  ===  начало  TArray<Fчего-то>, должно быть 4 элемента
---1---
2A 00 00 00    FMaterialUniformExpressionVectorParameter
4C 00 00 00    SelectionColor
00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F  float x4
---2---
22 00 00 00    ExpressionAppendVector
25 00 00 00    ExpressionPeriodic
24 00 00 00    ExpressionFoldedMath
29 00 00 00    ExpressionTime
23 00 00 00    ExpressionConstant
CD CC CC 3D 00 00 00 00 00 00 00 00 00 00 00 00  0F 02 
25 00 00 00    ExpressionPeriodic
24 00 00 00    ExpressionFoldedMath
29 00 00 00    ExpressionTime
23 00 00 00    ExpressionConstant
CD CC 4C 3E 00 00 00 00 00 00 00 00 00 00 00 00  0F 02  
01 00 00 00 
---3---
2A 00 00 00   FMaterialUniformExpressionVectorParameter
3E 00 00 00    Mesh_trangition
00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F  float x4
---4---
2A 00 00 00   FMaterialUniformExpressionVectorParameter
14 00 00 00    Burn_Color
00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F  float x4

06 00 00 00  === начало TArray<Fчего-то>, должно быть 6 элементов
---1---
26 00 00 00   ExpressionScalarParameter
1D 00 00 00    Emissive_value
00 00 00 40   integer
---2---
29 00 00 00   ExpressionTime
24 00 00 00   ExpressionFoldedMath
29 00 00 00   ExpressionTime
23 00 00 00   ExpressionConstant
CD CC CC 3D 00 00 00 00 00 00 00 00 00 00 00 00 0F 02   хз
---3---
24 00 00 00   ExpressionFoldedMath
29 00 00 00   ExpressionTime
23 00 00 00   ExpressionConstant
CD CC 4C 3E 00 00 00 00 00 00 00 00 00 00 00 00 0F 02 
---4---
25 00 00 00   ExpressionPeriodic
24 00 00 00   ExpressionFoldedMath
29 00 00 00   ExpressionTime
23 00 00 00   ExpressionConstant
CD CC 4C 3E 00 00 00 00 00 00 00 00 00 00 00 00 0F 02 
---5---
25 00 00 00   ExpressionPeriodic
24 00 00 00   ExpressionFoldedMath
29 00 00 00   ExpressionTime
23 00 00 00   ExpressionConstant
CD CC CC 3D 00 00 00 00 00 00 00 00 00 00 00 00 0F 02 
---6---
24 00 00 00  ExpressionFoldedMath
26 00 00 00  ExpressionScalarParameter
4F 00 00 00   Skin_Spec_value
00 00 80 3F  float

нюанс в ExpressionAppendVector   который по логике вроде бы несет в себе 2 блока, но есть похожие ниже, в которых 1 константа.

если допустим ExpressionAppendVector должен содержать в себе 2 х ExpressionPeriodic,
а ExpressionPeriodic содержать ExpressionFoldedMath, но тогда не лезет странное положение ExpressionTime...

Kакие будут мысли как воссоздать логику?

Share this post


Link to post
Share on other sites

"Алиса", иди лесом

Edited by Hotaka
  • Haha 1

Share this post


Link to post
Share on other sites

По моему контекста не хватает: Что именно и как вы пытаетесь сериализовать/десериализовать? Какие хроники? Как воспроизвести проблему?

Share this post


Link to post
Share on other sites

Как бы движок Unreal,
На модель накладывается текстура, точнее материал, пытаюсь разобраться в деталях UMaterial.
Думаю доделать себе полноценное редактирование параметров материала в данном случае с поддержкой УЕ3
Пропсы обьекта сериализируются полноценно, но дальше идет еще кусок данных, на который нет исходов.

надо воссоздать структуру, прикидываю так
TArray<FMaterialVectorParameter>
TArray<FMaterialTextureParameter>
TArray<FMaterialScalarParameter>
но не лезет те два блоки выше описанных.

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

 

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  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...