From 0588b298b710d0ffb4e597adec140a6e8d280d44 Mon Sep 17 00:00:00 2001 From: BlueRose <378100977@qq.com> Date: Thu, 27 Jun 2024 18:21:54 +0800 Subject: [PATCH] vault backup: 2024-06-27 18:21:54 --- .../various-complements/histories.json | 2 +- 02-Note/DAWA/ASoul/流程笔记/角色流程.md | 5 +- 02-Note/DAWA/ASoul/渲染方案/材质部分.md | 65 +++++++++++++++++-- 3 files changed, 64 insertions(+), 8 deletions(-) diff --git a/.obsidian/plugins/various-complements/histories.json b/.obsidian/plugins/various-complements/histories.json index 744eee4..c77646c 100644 --- a/.obsidian/plugins/various-complements/histories.json +++ b/.obsidian/plugins/various-complements/histories.json @@ -1 +1 @@ -{"DebugView":{"DebugView":{"internalLink":{"count":1,"lastUpdated":1716796051996}}},".p4ignore":{".p4ignore":{"currentFile":{"count":1,"lastUpdated":1717048569032}}},"admin":{"admin":{"currentFile":{"count":1,"lastUpdated":1717123692206}}},"具体的命令应该说是":{"具体的命令应该说是":{"currentFile":{"count":1,"lastUpdated":1717749753511}}},"添加一个Idol.xxx标签。":{"添加一个Idol.xxx标签。":{"currentFile":{"count":2,"lastUpdated":1718092533903}}},"FGBufferData":{"FGBufferData":{"currentFile":{"count":1,"lastUpdated":1718936545718}}},"中添加写入FGBufferData逻辑。代码如下:":{"中添加写入FGBufferData逻辑。代码如下:":{"currentFile":{"count":1,"lastUpdated":1718964454078}}},"MountPoint":{"MountPoint":{"currentFile":{"count":1,"lastUpdated":1719385071039}}}} \ No newline at end of file +{".p4ignore":{".p4ignore":{"currentFile":{"count":1,"lastUpdated":1717048569032}}},"admin":{"admin":{"currentFile":{"count":1,"lastUpdated":1717123692206}}},"具体的命令应该说是":{"具体的命令应该说是":{"currentFile":{"count":1,"lastUpdated":1717749753511}}},"添加一个Idol.xxx标签。":{"添加一个Idol.xxx标签。":{"currentFile":{"count":2,"lastUpdated":1718092533903}}},"FGBufferData":{"FGBufferData":{"currentFile":{"count":1,"lastUpdated":1718936545718}}},"中添加写入FGBufferData逻辑。代码如下:":{"中添加写入FGBufferData逻辑。代码如下:":{"currentFile":{"count":1,"lastUpdated":1718964454078}}},"MountPoint":{"MountPoint":{"currentFile":{"count":1,"lastUpdated":1719385071039}}},"V02:Surface材质相关属性逻辑,被MF":{"V02:Surface材质相关属性逻辑,被MF":{"currentFile":{"count":1,"lastUpdated":1719480408956}}}} \ No newline at end of file diff --git a/02-Note/DAWA/ASoul/流程笔记/角色流程.md b/02-Note/DAWA/ASoul/流程笔记/角色流程.md index 0c17588..c7b64a8 100644 --- a/02-Note/DAWA/ASoul/流程笔记/角色流程.md +++ b/02-Note/DAWA/ASoul/流程笔记/角色流程.md @@ -33,8 +33,9 @@ 5. ***材质相关操作***: 1. 在ResArt/CommonMaterial/Functions/CameraLightCollection中添加对应角色的属性。 2. 在ResArt/CommonMaterial/Functions/MF_CharacterMainLightIntensity中添加对应RoleID。 - 3. 在对应角色的基础材质中设置RoleID数值。 - 4. 调用Python脚本制作Dissolve材质。LiveDirector/Editor/MaterialMigration/MakeDissolveMaterials.py + 3. 在ResArt/CommonMaterial/Functions/MF_CharacterRimLightIntensity中添加对应RoleID。 + 4. 在对应角色的基础材质中设置RoleID数值。 + 5. 调用Python脚本制作Dissolve材质。LiveDirector/Editor/MaterialMigration/MakeDissolveMaterials.py ## 含有角色标签的文件 1. [x] TsCharacterItem.ts `Script/LiveDirector/Character/View/TsCharacterItem.ts` diff --git a/02-Note/DAWA/ASoul/渲染方案/材质部分.md b/02-Note/DAWA/ASoul/渲染方案/材质部分.md index 80e823d..e179d25 100644 --- a/02-Note/DAWA/ASoul/渲染方案/材质部分.md +++ b/02-Note/DAWA/ASoul/渲染方案/材质部分.md @@ -1,9 +1,9 @@ # 相关资产路径 Content/ResArt/CommandMaterial -- [ ] [[#Functions]] +- [x] [[#Functions]] - [x] [[#MatCap]] -- [ ] [[#MaterialInstance]] - [ ] [[#Materials]] +- [ ] [[#MaterialInstance]] - [ ] [[#Outline]] - [x] [[#Textures]] @@ -13,7 +13,7 @@ Content/ResArt/CommandMaterial - MF_ToonBaseShadingModel - MF_ToonSkinShadingModel - MF_ToonHairShadingModel -- [x] Effects +- [x] [[#Effects]] - MF_Dissolve - MF_EdgeLight - MF_Fur @@ -26,8 +26,35 @@ Content/ResArt/CommandMaterial - MF_Hash22 - MF_Hash23 - [x] ***CameraLightCollection***:各个角色的主光照颜色、边缘光颜色与主光亮度以及LightDir。 -- [ ] MF_CharacterMainLightIntensity:使用CustomNode编写的函数,通过RoleID进行switch Case计算,CameraLightCollection中的 - +- MF_CharacterMainLightIntensity:使用CustomNode编写的函数,通过RoleID进行Switch Case计算对应角色的MainLightColor * MainLightIntensity,这些一般在Sequence中进行修改。 +- MF_ApplyToonHairSpecular:头发高光计算,被M_ToonBase_V02调用。 +- ***MF_CharacterEffects***:基本所有角色相关材质都有使用。主要调用了MF_EdgeLight、MF_Dissolves实现了**边缘光与溶解效果。 +- MF_CharacterRimLightIntensity:使用CustomNode编写的函数,通过RoleID进行Switch Case计算对应角色的RimLightColor * RimLightIntensity,这些一般在Sequence中进行修改。 +- MF_FaceHighlightAndShadow:使用Shadow贴图渲染脸上的阴影效果(通过Dot(LightVector,FaceRight)判断左右)以及边缘高光(通过Dot(LightVector,FaceFront)作为Mask),被M_ToonFace调用,但没有使用脸部阴影效果只使用了高光(实际看不出来)。 + - 其中的FaceRight、FaceFront、FaceLightDir**使用了CustomPrimitiveData**。 +- MF_FaceOverlay:脸部材质额外的BaseColorTexture叠加效果,猜测是用来制作一些特殊表情的腮红效果,被M_ToonFace调用。 +- MF_Inputs:镭射材质效果,只被M_ToonLaserPBR、MI_Leishezhi调用。 +- MF_Matcap:Matcap效果,输出2种贴图Multip 与 Add效果,被MF_ToonPBRInput调用。 +- **MF_Matcap_Add**:MF_Matcap的升级版。 + - OutputAdd = LightMap * LightMatcap + - OutputEmissive = Matcap Texture 01 + Matcap Texture 02 + Matcap Texture 03 + Emissive Matcap * Emissive Texture + - OutputNeckShadow = lerp( lerp(1.0, Matcap Color 04, Matcap Texture 04), 1, NeckShadow) + - OutputInnerline = Innerline Matcap +- MF_NormalMapIntensity:Normal强度调整,被大量材质引用。 +- ***MF_SceneEffects***:调用了MF_Dissolve实现了溶解效果。但备用他的材质并不多。 +- MF_ShiftTangent:Kajiya-Kay中的ShiftTangent,被M_ToonHair_V01调用。 +- MF_StrandSpec:Kajiya-Kay中的高光计算逻辑,被M_ToonHair_V01调用。 +- MF_Surface:Surface材质相关属性逻辑,被MF_ToonPBRInput、MF_ToonBaseInput调用。 +- MF_Surface_V02:Surface材质相关属性逻辑,被MF_ToonBaseInput_V02调用。 +- MF_TextureBooming:材质没有上线。 +- **MF_ToonBaseInput**:通用ToonBase材质逻辑函数。集合了MF_CharacterMainLightIntensity、MF_Matcap_Add、MF_Surface、MF_ToonBaseShadingModel材质函数以及一些变量材质设置。被**M_ToonBase_V02_Penetrate**、**M_ToonBase_V02_Test**调用。 +- ***MF_ToonBaseInput_V02***:通用ToonBase材质逻辑函数V02。集合了MF_CharacterMainLightIntensity、MF_Matcap_Add、**MF_Surface_V02**、MF_ToonBaseShadingModel材质函数以及一些变量材质设置。被**M_ToonBase_V02**、**M_NaiLin_AnotherWorld02**、**M_EggGym_Flower**调用。 +- MF_ToonHairSpecularMaskUV:计算Hair高光遮罩UV,被MF_ApplyToonHairSpecular调用。 +- **MF_ToonPBRInput**:通用ToonPBR材质逻辑函数。集合了MF_CharacterMainLightIntensity、MF_Matcap、MF_Surface、**MF_ToonPBRInput**l材质函数以及一些变量材质设置。被**M_Penetrate**、**M_ToonBase_V01**、**M_ToonFace**、**M_ToonHair_V01**、**M_ToonSkin**、**M_BeiLa_Skin_AnotherWorld**、**M_Wave**。 +- [ ] ***MF_TranslucentDOF***:Translucent材质的景深效果,***没有看懂***。被MF_Input、**MF_Surface**、**MF_Surface_V02**、M_ToonFacee_old、M_ToonLaserPBR调用。 +- MF_VectorRotateAboutAxis:向量旋转函数。被MF_WorldSpaceStarring调用。 +- MF_WorldSpaceStarring:被M_NaiLin_AnotherWorld02调用。 +- SceneEffectsCollection:场景效果材质参数集,**可能已经废弃,因为UE5大世界不支持关卡流**。会被MF_SceneEffects、BP_EmptyToStageA以及其他材质调用。 ## ShadingModels 采用CustomNode构造FMaterialAttributesde的之后传递到MaterialAttribute模式的材质中,其他骚操作还有: 1. 使用宏开启MRT5:`#define PIXELSHADEROUTPUT_MRT5 1` @@ -216,6 +243,34 @@ return Result; # Matcap 存放大量Matcap用的**球形环境贴图**。 +# Materials +>所有角色与新服装都迁移到V02版本,V01已废弃。 + +- Special + - M_BeiLa_Skin_AnotherWorld:特别定制的材质。 +- [ ] V02 + - Special + - M_NaiLin_AnotherWorld02:特别定制的材质。 + - ***M_ToonBase_V02***: + - M_ToonBase_V02_Test: + - MI_Brow_V02: + - MI_Eye_V02: + - MI_EyeGlass_V02: + - MI_EyeHighlight_V02: + - MI_EyeShadow_V02: + - MI_MakeUp_V02: +- [ ] **M_Eye_Highlight**: +- M_Hide: +- [ ] M_Penetrate: +- [ ] **M_ToonBase_V01**: +- [ ] ***M_ToonBase_V02_Penetrate***: +- [ ] **M_ToonFace**: +- [ ] M_ToonFace_old: +- [ ] **M_ToonHair_V01**: +- [ ] **M_ToonSkin**: + +# MaterialInstance + # Outline # Textures 存储一些默认贴图与一些测试用(无用)贴图。 \ No newline at end of file