diff --git a/.obsidian/plugins/various-complements/histories.json b/.obsidian/plugins/various-complements/histories.json index 021a589..9f4dfe9 100644 --- a/.obsidian/plugins/various-complements/histories.json +++ b/.obsidian/plugins/various-complements/histories.json @@ -1 +1 @@ -{"OutlinePass":{"OutlinePass":{"internalLink":{"count":1,"lastUpdated":1715346170348}}},"JNCustomAssetEd:定义修型资产":{"JNCustomAssetEd:定义修型资产":{"currentFile":{"count":1,"lastUpdated":1715827692229}}},"GreenScreen":{"GreenScreen":{"currentFile":{"count":1,"lastUpdated":1715843645080}}},"Character":{"Character":{"currentFile":{"count":1,"lastUpdated":1715848900346}}},"定义了·FGuid":{"定义了·FGuid":{"currentFile":{"count":1,"lastUpdated":1715915171873}}},"(例如Idol.BeiLa)。以及FollowingSocketName":{"(例如Idol.BeiLa)。以及FollowingSocketName":{"currentFile":{"count":1,"lastUpdated":1716192086731}}},"DirectorCamera为场景相关的相机(静态镜头)。":{"DirectorCamera为场景相关的相机(静态镜头)。":{"currentFile":{"count":1,"lastUpdated":1716192192053}}},"ECS资料":{"ECS资料":{"currentFile":{"count":1,"lastUpdated":1716465594941}}},"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}}}} \ No newline at end of file +{"JNCustomAssetEd:定义修型资产":{"JNCustomAssetEd:定义修型资产":{"currentFile":{"count":1,"lastUpdated":1715827692229}}},"GreenScreen":{"GreenScreen":{"currentFile":{"count":1,"lastUpdated":1715843645080}}},"Character":{"Character":{"currentFile":{"count":1,"lastUpdated":1715848900346}}},"定义了·FGuid":{"定义了·FGuid":{"currentFile":{"count":1,"lastUpdated":1715915171873}}},"(例如Idol.BeiLa)。以及FollowingSocketName":{"(例如Idol.BeiLa)。以及FollowingSocketName":{"currentFile":{"count":1,"lastUpdated":1716192086731}}},"DirectorCamera为场景相关的相机(静态镜头)。":{"DirectorCamera为场景相关的相机(静态镜头)。":{"currentFile":{"count":1,"lastUpdated":1716192192053}}},"ECS资料":{"ECS资料":{"currentFile":{"count":1,"lastUpdated":1716465594941}}},"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}}}} \ No newline at end of file diff --git a/02-Note/DAWA/ASoul/流程笔记/角色流程.md b/02-Note/DAWA/ASoul/流程笔记/角色流程.md index 0aa8752..9a915ab 100644 --- a/02-Note/DAWA/ASoul/流程笔记/角色流程.md +++ b/02-Note/DAWA/ASoul/流程笔记/角色流程.md @@ -2,12 +2,29 @@ 继承关系:BP_XXX_Base -> BP_Idol_Base -> TsIdolActor -> AVCharacter -> ACharacter 。 主要逻辑位于TsIdolActor中,文件路径为`Script/LiveDirector/Character/TsIdolActor.ts` +# 添加新衣服流程 +1. 在Content/Character/XXX中创建继承自BP_XXX_Base的蓝图。 +2. 设置SkeletalMesh。 +3. 添加对应的OutlineMaterial。 +5. 在DressName中输入新衣服的显示名称。 +6. 添加Prop标签。 + 1. Idol.XXX + 2. Prop.Dress(第一件衣服需要设置成Prop.Dress.Default) + 3. Prop.MountPoint.Body +7. ***脚本扫描***:点击编辑器的嘉然头像->角色道具配置全量生成 or 角色道具配置增量生成。会往IdolPropAssetConfig.json添加对应衣服或者道具配置数据。 # 添加新角色流程笔记 1. 添加一个Idol.xxx标签。 2. 修改下面相关文件[[#含有角色标签的文件]]。 3. 添加对应的蓝图与文件结构。 1. Content/Character + 1. 在Idol_Base中添加[[#BP_XXX_Base]]。 2. Content/ResArt/CharacterArt:放置角色与服装,按照 +4. 指定用于修型的PostProcess动画蓝图。 +5. 添加Prop标签。 + 1. Idol.XXX + 2. Prop.Dress + 3. Prop.MountPoint.Body +6. ***脚本扫描***:点击编辑器的嘉然头像->角色道具配置全量生成 or 角色道具配置增量生成。会往IdolPropAssetConfig.json添加对应衣服或者道具配置数据。 ## 含有角色标签的文件 1. [x] TsCharacterItem.ts `Script\LiveDirector\Character\View\TsCharacterItem.ts` 1. 3级角色控制界面相关的UI操作。 @@ -26,6 +43,13 @@ 7. [x] ~~TsSimpleLevelManager.ts~~ 1. SwitchLiveArea()中调用,只调用了Idol.BeiLa,属于容错语句。 8. ~~CameraDebug.cpp ~~(这个不需求) + +## BP_XXX_Base +1. 指定动画蓝图。 +2. 指定LiveLinkName。 +3. 指定OutlineMaterial。 +4. + # AVCharacter 主要实现了`virtual void OnRep_AttachmentReplication() override;`,声明了若干BlueprintNativeEvent: - bool CanSyncRelativeTransform();