vault backup: 2024-06-11 17:04:02
This commit is contained in:
commit
d9f05a36b3
.obsidian/plugins/various-complements
01-Diary/周小结
02-Note/DAWA/ASoul/流程笔记
@ -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}}}}
|
||||
{"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}}}}
|
@ -13,8 +13,3 @@
|
||||
5. 完成6台手机的FaceMask部署。
|
||||
6. 帮助绑定同学使用UE5动画重定向程序实现贝拉动画=>思诺动画。
|
||||
|
||||
# 6.3~6.7
|
||||
1. 给所有同事的电脑部署p4v以及工作区。
|
||||
2. 设置P4各个账号的权限、规范工作区与commit Log。
|
||||
3. 完成3级导播台RootMotion、PostAnimBlueprint的启用/禁用切换功能。
|
||||
4. 添加新角色的F08相关的代码,待测试。
|
10
01-Diary/周小结/2024.6.md
Normal file
10
01-Diary/周小结/2024.6.md
Normal file
@ -0,0 +1,10 @@
|
||||
# 6.3~6.7
|
||||
1. 给所有同事的电脑部署p4v以及工作区。
|
||||
2. 设置P4各个账号的权限、规范工作区与commit Log。
|
||||
3. 完成3级导播台RootMotion、PostAnimBlueprint的启用/禁用切换功能。
|
||||
4. 添加新角色的F08相关的代码,待测试。
|
||||
|
||||
# 6.11~6.14
|
||||
1. [ ] 学习之前的角色添加录制视频,解读ASoul新角色的蓝图的创建规范。
|
||||
2. [ ] 尝试创建新角色的蓝图以及文件夹结构。
|
||||
3. [ ]
|
@ -2,10 +2,30 @@
|
||||
继承关系: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操作。
|
||||
2. [x] TsCharacterMocapViewTmp.ts :这个是MotionProcess的UI,继承控件`/Content/UIAssets/Character/Mocap/WBP_CharacterMocapViewTmp`
|
||||
@ -17,54 +37,18 @@
|
||||
2. 快捷命令 快速创建4个角色 IdolCostume
|
||||
5. [x] TsSpawnPointSettingItem.ts
|
||||
1. IdolItemUI,继承控件`/Content/UIAssets/Character/WBP_SpawnPointSettingItem`
|
||||
6. [ ] TsIdolPropManagerComponent.ts
|
||||
6. [x] TsIdolPropManagerComponent.ts
|
||||
1. 没有思诺与心怡
|
||||
2. 需要搞清楚。
|
||||
7. [x] ~~TsSimpleLevelManager.ts~~
|
||||
1. SwitchLiveArea()中调用,只调用了Idol.BeiLa,属于容错语句。
|
||||
8. ~~CameraDebug.cpp ~~(这个不需求)
|
||||
|
||||
## MotionProcess可疑的地方
|
||||
```ts
|
||||
// #region 角色创建
|
||||
static ServerCreateIdolControllerAtLiveArea(World: UE.World, IdolRootTag: UE.GameplayTag, variance:number, LiveAreaGIUD: UE.Guid): TsIdolControllerActor {
|
||||
let bpClass = UE.Class.Load(this.BluePrintPath)
|
||||
if (bpClass == null) {
|
||||
console.error("IdolController BluePrint is null")
|
||||
return null;
|
||||
}
|
||||
|
||||
let levelController = TsLevelAreaManager.Get(World)
|
||||
if (levelController) {
|
||||
let liveArea = levelController.GetLiveArea(LiveAreaGIUD)
|
||||
if (liveArea == null) {
|
||||
console.error("Cannot create idol because of invalid livearea guid!!")
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
let spawnTransform = new UE.Transform()
|
||||
let controller = UE.GameplayStatics.BeginDeferredActorSpawnFromClass(World, bpClass, spawnTransform) as TsIdolControllerActor
|
||||
controller.LiveAreaGIUD = LiveAreaGIUD
|
||||
if (variance < 0) {
|
||||
variance = this.GetVarianceNumber(World, IdolRootTag)
|
||||
}
|
||||
controller.Identity = new UE.IdolIdentity(IdolRootTag, variance)
|
||||
controller.visibility = true
|
||||
var mgr = Utils.GetPropManager(controller.GetWorld())
|
||||
controller.Index = mgr.CharacterIndex
|
||||
mgr.CharacterIndex += 1
|
||||
UE.GameplayStatics.FinishSpawningActor(controller, spawnTransform)
|
||||
controller.SetTransformToLiveArea()
|
||||
controller.PropComp.ServerLoadPropPreset(0)
|
||||
DirectorEventSystem.Emit(World, DirectorEvent.CharacterGeneratedServer, controller, controller.Identity.RootTag.TagName)
|
||||
|
||||
console.log("Successfully load " + controller.GetIdentityName())
|
||||
return controller
|
||||
}
|
||||
```
|
||||
|
||||
`DirectorEventSystem.Emit(World, DirectorEvent.CharacterGeneratedServer, controller, controller.Identity.RootTag.TagName)`
|
||||
## BP_XXX_Base
|
||||
1. 指定动画蓝图。
|
||||
2. 指定LiveLinkName。
|
||||
3. 指定OutlineMaterial。
|
||||
4.
|
||||
|
||||
# AVCharacter
|
||||
主要实现了`virtual void OnRep_AttachmentReplication() override;`,声明了若干BlueprintNativeEvent:
|
||||
@ -141,4 +125,6 @@ CanSyncRelativeTransform(): boolean {
|
||||
let fullbodyNode = Reflect.get(animInstance, 'AnimGraphNode_Fullbody') as UE.AnimNode_FullBody
|
||||
return !(fullbodyNode && fullbodyNode.bGetMotionData)
|
||||
}
|
||||
```
|
||||
```
|
||||
|
||||
# Prop.Dress.Default
|
||||
|
Loading…
x
Reference in New Issue
Block a user