diff --git a/.obsidian/plugins/various-complements/data.json b/.obsidian/plugins/various-complements/data.json index 23b3a6d..1a26793 100644 --- a/.obsidian/plugins/various-complements/data.json +++ b/.obsidian/plugins/various-complements/data.json @@ -47,14 +47,6 @@ }, "showLogAboutPerformanceInConsole": false, "selectionHistoryTree": { - "VertexBufferSRV": { - "VertexBufferSRV": { - "currentFile": { - "count": 1, - "lastUpdated": 1707223827335 - } - } - }, "此外,UMaterialInstance的部分接口也会触发FMaterialResource实例的创建,此文不继续追踪了。": { "此外,UMaterialInstance的部分接口也会触发FMaterialResource实例的创建,此文不继续追踪了。": { "currentFile": { @@ -134,6 +126,14 @@ "lastUpdated": 1709798435896 } } + }, + "Burst01": { + "Burst01": { + "currentFile": { + "count": 1, + "lastUpdated": 1709885354901 + } + } } } } \ No newline at end of file diff --git a/06-DCC/Blender/导出PSK_PSA脚本 & 部分UModel AES Key.md b/06-DCC/Blender/导出PSK_PSA脚本 & 部分UModel AES Key.md index f292b4f..28393ab 100644 --- a/06-DCC/Blender/导出PSK_PSA脚本 & 部分UModel AES Key.md +++ b/06-DCC/Blender/导出PSK_PSA脚本 & 部分UModel AES Key.md @@ -182,6 +182,43 @@ for action in bpy.data.actions: ``` +**鸣潮批量转换脚本**: +```python +import bpy +import os +import math +from io_import_scene_unreal_psa_psk_280 import * +from better_fbx import * +pskPath = 'C:\\Users\\BlueRose\\Desktop\\WutheringWaves\\Game\\Aki\\Character\\Role\\FemaleM\\Yangyang\\R2T1YangyangMd10011\\Model\\R2T1YangyangMd10011.psk' +psaDirPath = 'C:\\Users\\BlueRose\\Desktop\\WutheringWaves\\Game\\Aki\\Character\\Role\\FemaleM\\Yangyang\\CommonAnim' + +# 清空场景并且导入模型 +for root, subdirs, files in os.walk(psaDirPath): + for f in files: + if f.endswith('.psa'): + # 清空并且设置为30fps(大部分是30fps) + bpy.ops.scene.new(type='EMPTY') + bpy.ops.object.select_all(action='SELECT') + bpy.ops.object.delete() + bpy.context.scene.render.fps = 30 + pskimport(pskPath, bReorientBones = False, bImportmesh = False, bImportbone = True) + + psa_file = os.path.join(root, f) + psaDirPath = os.path.dirname(psa_file) + fbx_file = os.path.join(psaDirPath,f) + fbx_file = os.path.splitext(fbx_file)[0] + ".fbx" + print(fbx_file) + + psaimport(psa_file) + + bpy.ops.object.select_all(action='SELECT') + #bpy.ops.export_scene.fbx(filepath=fbx_file,add_leaf_bones=False) + bpy.ops.better_export.fbx(filepath=fbx_file,my_fbx_format="binary",use_selection=False,use_visible=True) + + bpy.ops.scene.new(type='EMPTY') + bpy.ops.object.select_all(action='SELECT') + bpy.ops.object.delete() +``` ## 添加平滑组 ```python @@ -453,8 +490,27 @@ Wuthering Waves (beta)  0xF259C330E6B308BF34086CF30013241A1277F6E25D8F580746C2E ```c++ D:\OtherTools\GameAssets\umodel_win32_1590\umodel_materials.exe -path=D:\Games\WutheringWaves -out=C:\Users\BlueRose\Desktop\WutheringWaves -game=wuther -aes=0xF259C330E6B308BF34086CF30013241A1277F6E25D8F580746C2E8829EA1E15F ``` - -/Game/Aki/Character/Role/Female154/Yangyang +以秧秧为例: +- 模型位于:/Game/Aki/Character/Role/FemaleM/Yangyang/R2T1YangyangMd10011/Model +- 动画: + - 公共动画:/Game/Aki/Character/Role/FemaleM/BaseAnim + - 角色动画:/Game/Aki/Character/Role/FemaleM/Yangyang/CommonAnim/ + - Attack01~05 + - AirAttack系列 + - Burst01 + - Skill01~02 + - SkillQte + - Stand1_Action01~03 + - Stand2 + - StandChange + - AimOffset动画:/Game/Aki/Sequence/SequenceAnim/DialogAnim/FemaleM/Yangyang/AnimOffset + - 身体动画(大量动画):/Game/Aki/Sequence/SequenceAnim/DialogAnim/FemaleM/Yangyang/Body + - cs(文件夹): Apology01、Promise、Walk + - fuyong(文件夹):Walk、Run + - 面部相关动画:/Game/Aki/Sequence/SequenceAnim/DialogAnim/FemaleM/Yangyang/Face + - ShengQi02 + - UI相关动画:/Game/Aki/Character/Role/FemaleM/Yangyang/CommonAnim/UIAnim + - 角色飘带动画:/Game/Aki/Character/Role/FemaleM/Yangyang/R2T1YangyangMd10011/RibbonAnim # 罪恶装备 1. Guilty Gear: Strive 0x3D96F3E41ED4B90B6C96CA3B2393F8911A5F6A48FE71F54B495E8F1AFD94CD73