
ue4
[苦行僧]
我不创造知识,我只是知识的搬运工
展开
-
ue5 lyra的角色动画系统 持续更新中。。。。
当然弊端是有的,如果不同的骨架,骨架偏差比较大, retarget后动画会有偏差,所以虚幻做的retarget大面上看上去是美好的,如果要抠细节,会有很多的不足。在这些逻辑中该用到AI中的layer都用了layer,只不过这些layer有的是空的,逻辑都在其他动画蓝图中。这个方法去调用,相当于用B中的layer覆盖了A中的layer的逻辑,相当于具体的逻辑实现都在B中实现。在A中写了整个的动画逻辑比如locomotion,上半身特定动画融合,挨枪子的动画融合,全身动画融合等。原创 2022-09-29 16:28:33 · 2233 阅读 · 4 评论 -
ue5 lyra探索分析2 持续更新中
意思是 你玩一个角色 同时 还有其他玩家和你一起玩, 那么你电脑上 ,你操作的角色就是ROLE_AutonomousProxy 你电脑上的其他玩家就是ROLE_SimulatedProxy。如果pawn的controller合法 如果这个pawn是local player controller调用 load into experience方法。如果是客户端并且localrole是ROLE_AutonomousProxy。如果是服务器 并且localrole是ROLE_Authority。原创 2022-08-23 13:52:43 · 740 阅读 · 0 评论 -
ue5 gas
attribute 是 attribute set 负责复制的,一般来说 只有ge才能修改attribute。asc放在playerstate中是最好的。asc 里面有 当前的 ge 当前的ga。asc负责复制 这些ge ga。原创 2022-08-19 15:25:27 · 306 阅读 · 0 评论 -
ue5 小知识点 subsystem
UEditorActorSubsystem* EditorActorSubsystem = GEditor->GetEditorSubsystem<UEditorActorSubsystem>();原创 2021-11-19 16:00:46 · 4417 阅读 · 0 评论 -
ue5 小知识点 加载某种类型(PrimaryDataAsset)的所有asset到内存中
原创 2022-04-21 17:46:14 · 1440 阅读 · 0 评论 -
ue 小知识点 换装 一个人多个部分mesh 动画
为了换装,把人分成了 很多部分,比如头部,上半身 下半身,但是人的动画是用的 人的整体骨骼的。这个时候部位也要跟随主骨骼的动画。有一下两种情况:1、头部和身体不同骨架,头部要跟随身体动2、部位和身体相同骨架,比如上半身和 下半身一些背景总骨架上身骨架头部...原创 2022-03-06 13:35:24 · 1283 阅读 · 0 评论 -
ue 小知识点 controller possess pawn的过程
void AController::Possess(APawn* InPawn){ if (!bCanPossessWithoutAuthority && !HasAuthority()) { FMessageLog("PIE").Warning(FText::Format( LOCTEXT("ControllerPossessAuthorityOnly", "Possess function should only be used by the network autho.原创 2022-02-15 11:00:21 · 2016 阅读 · 0 评论 -
做游戏的技术要点
原创 2022-01-21 08:02:34 · 2270 阅读 · 0 评论 -
ue5 小知识点 用户动画操控的精髓
a、character移动了带动 controller的移动,因为一般controller是跟随character的,这里controller实际上也是camera。2、input move的时候如果移动的方向和character的方向不一致,character是需要旋转到 和摄像机一致的方向的。这个时候 character是朝哪个方向移动,也可能是character的正前方也可能是controller的正前方。1、controller的旋转 会带动character的旋转。1、input 的turn。原创 2022-01-15 13:26:46 · 2629 阅读 · 0 评论 -
ue5 小知识点 生成sln的命令
C:/UE4/UnrealEngine-4.11/Engine/Binaries/DotNET/UnrealBuildTool.exe"-projectfiles-project="C:/Users/xtyga/Documents/UnrealProjects/JBoomSky/JBoomSky.uproject"-game-engine-progress-2015原创 2022-01-11 11:19:28 · 1482 阅读 · 0 评论 -
ue 小知识点 Character AttachActor... and collison
一个Characterattach到坐骑上 ,如果collison不改变, 移动的时候就会发生莫名的问题。所以attach上之后,character的capsule和mesh都要设置collision为not enable。原创 2021-12-14 09:00:36 · 516 阅读 · 0 评论 -
ue 小知识点 如何倒序播放一个动画序列
改成-1即可动画蓝图中 play rate 改成-1蒙太奇也是一样的原创 2021-12-10 16:18:58 · 4738 阅读 · 1 评论 -
ue 小知识点 开启垂直同步 vsync
1、用命令行r.VSyncEditor 1r.VSync 12、用蓝图节点原创 2021-12-01 15:48:31 · 6601 阅读 · 2 评论 -
ue小知识点 动画蓝图 ABP的 begin、init和Character的posses的先后
先ABPinit 然后 character 的on posse 然后 ABP的begin原创 2021-11-24 10:23:01 · 605 阅读 · 0 评论 -
Ue5 小知识点 各种lerp smooth
关键词 interp原创 2021-10-27 11:39:10 · 2574 阅读 · 0 评论 -
ue 小知识点 commandlet
上面引擎定制好的 一些commandlet的功能,可以直接通过命令行调用[UE4Editor-Cmd.exe路径] [uproject路径] -run=[Commandlet名字] -这条Commandlet的参数"D:/Epic Games/UE_4.24/Engine/Binaries/Win64/UE4Editor-Cmd.exe" D:/0_WorkSpace/UE4/test1/test1.uproject -run=TextAsset filename=testFolder/te...原创 2021-10-09 18:52:28 · 919 阅读 · 0 评论 -
ue 小知识点 虚幻额外的plugin 有很多意想不到的
https://github.com/orgs/ue4plugins/repositories原创 2021-10-09 17:52:26 · 686 阅读 · 0 评论 -
ue 小知识点 spawnactor的 时候
在LevelActor.cpp中跟now 和 mac 地址有关 FName NewActorGUID(FName BaseName) { uint8 HighPart[9]; const FDateTime Now = FDateTime::Now(); check(Now > Origin); const FTimespan Elapsed = FDateTime::Now() - Origin; const uint64 ElapsedUs = (uint6..原创 2021-09-23 18:43:37 · 1101 阅读 · 0 评论 -
ue 小知识点 物理大气 ctrl+l 改变太阳的位置的代码
void FLevelEditorViewportClient::MouseMove(FViewport* InViewport, int32 x, int32 y){ if (bUserIsControllingAtmosphericLight0 || bUserIsControllingAtmosphericLight1) { UWorld* ViewportWorld = GetWorld(); const uint8 DesiredLightIndex = bUserIsContr.原创 2021-09-22 14:31:49 · 1670 阅读 · 0 评论 -
UE 小知识点 获得module
FEditorToolModule& AssetRegistryModule = FModuleManager::LoadModuleChecked<FEditorToolModule>("EditorTool"); FEditorToolModule& PerforceSourceControl = FModuleManager::GetModuleChecked<FEditorToolModule>("EditorTool");原创 2021-09-17 09:56:23 · 792 阅读 · 0 评论 -
ue 小知识点 删除资源asset
ObjectTools::CleanupAfterSuccessfulDelete(pa, /*bPerformReferenceCheck*/false);原创 2021-09-10 17:41:17 · 1883 阅读 · 0 评论 -
ue小知识点 world partition 一个actor一个文件
void UEditorToolBPLibrary::GotPartitionActorName(const TArray<AActor*>& ActorsArray, TMap<FString, FString>& NamesMap){ for (auto MyActor : ActorsArray) { if(MyActor) { UWorld* MyWorld = MyActor->GetWorld(); if (MyWorld.原创 2021-08-23 19:46:47 · 2165 阅读 · 0 评论 -
ue 小知识点 版本控制p4源码
如何获得在编辑器下可以获得上面的值上图是管理p4的插件1、通过config获取,如果设置好p4并且链接上,p4的信息就会保存在config中void UEditorToolBPLibrary::GetP4Info(TMap<FString, FString>& NamesMap){ const FString SettingsSection2 = TEXT("PerforceSourceControl.PerforceSour..原创 2021-08-23 18:33:20 · 649 阅读 · 1 评论 -
ue4 小知识点 双击蓝图节点直接调转c++方法的设置
原创 2021-06-30 15:14:28 · 1178 阅读 · 0 评论 -
ue4 小知识点 程序化修改Asset 编辑器中设置变量值
如图:我的目的很简单就是想程序化修改vv的值,然后保存。修改这些值,只要修改UClass的CDO的值就好。loadasset不行。返回的Uobject对象不知道是什么东西,class也不是对象也不是。只能用返回的是UClass。void UXBlueprintFunctionLibrary::FillNewABPPropertyValue4(UClass* Parent, UClass* Child, const TArray<FString>&a.原创 2021-06-29 14:38:16 · 1260 阅读 · 0 评论 -
ue4 小知识点 运行时runtime 动态修改 gamemode的default pawn class
在gamemode的蓝图中 重写GetDefaultPawnClassForController方法。这个方法就是具体生成character的时候调用的。原创 2021-06-24 15:02:01 · 1694 阅读 · 0 评论 -
ue4 小知识点 animation retarget 全选 避免重复
如果你原来有animation sequence 、montage、blend space。最好全部选再重定向。这样ue能根据资源的引用自动过滤重复的。举例说明一个a'ni原创 2021-06-21 15:38:53 · 649 阅读 · 0 评论 -
ue4 小知识点 内存分析
1、LLM重定位ik foot l 不能保证位置对齐新骨架 curve 得全原创 2021-06-18 11:11:20 · 1572 阅读 · 0 评论 -
ue4 小知识点 关于重定向 rig
rig里有约束设定。设定world 会完全还原 源的动作。骨骼位置很到位。原创 2021-06-09 16:47:54 · 295 阅读 · 0 评论 -
ue4 小知识点 不同骨架 动画蓝图的继承
1、B继承AB的Anim graph就没有,Animation layer也没有,所以想直接扩展这方面的逻辑,貌似不行,但是有两条弯曲的路a、在A中把逻辑写全,bool变量控制流程,在B中设置正确的bool,感觉没有多大意义,相当于所有的角色逻辑都写在了A中。b、B的mesh 用post prosess anim blueprint。不过这ppab貌似逻辑上很难和A进行交互耦合,实现不了我们想要的继承功能。这个ppab在B之后 物理之前运行。目前以上两个方案 很难和蓝图(c++)的继承相..原创 2021-05-25 10:23:10 · 2480 阅读 · 1 评论 -
ue4 小知识点 蒙太奇 montage 结束 融合跳动问题
可以通过设置蒙太奇的同步组 Sync Group来解决这个问题我之前收剑的蒙太奇播放结束回到动画蓝图的时候融合会有抖动。原创 2021-05-24 17:24:04 · 2083 阅读 · 0 评论 -
ue4 als advanced locomotion system v4 part 4 IK
ALS中的脚部和手部都有ik,用的都是two bone ik。这个节点的作用是当你指定了一根骨骼b后,它默认的影响的是这根b骨骼和父亲a骨骼这两根骨骼。如图a骨骼是b的父亲,ik的原理是1点是不动的3点是受外界影响动位置,ab骨骼是在123点的平面平面上。所以通过joint target影响2点位置,就决定了两根骨骼的弯曲状态。脚步IK先看脚步ik的配置,这里藏着一个深深的坑图中效果器的骨骼可以和要ik的两根骨骼没有任何关系,效果器的骨骼只是影响效果器的位置和朝向,而效果器的位.原创 2021-05-22 12:07:57 · 536 阅读 · 0 评论 -
ue4 小知识点 als advanced locomotion system v4 foot ik 坑
新作的动作必须ik_foot_root 的location和 rotation必须是0,就是说和root的坐标和朝向是一致的ik_foot_l(ik_foot_r)的rotation 和foot_l(foot_r) 在root坐标系下是一样的。原创 2021-05-21 14:55:40 · 456 阅读 · 0 评论 -
ue4 als advanced locomotion system v4 part 3 MeshSpace And LocalSpace
step 1MeshSpace和LocalSpace指的某根骨骼的transform是相对于root坐标系还是相对于parent坐标系。选择mesh space additive 和不选择 有什么区别呢?查看源码所以MS的 Additive是translation和scale都是基于parent的坐标系的差值。而rotation的差值是基于root坐标系。LS的 Additive是translation和scale都是基于parent的坐标系的差值(和MS值一样)。而ro原创 2021-05-12 15:43:04 · 830 阅读 · 0 评论 -
UE4 小知识点 GEngine ,GEditor ,GameInstance ,World, LocalPlayer生命周期
摘抄自大钊的 subsystem知乎理解这些引擎重要的内建类的生命周期机制是理解的基础。因此也请读者事先知道引擎编辑器模式、Runtime模式和PIE(Play In Editor)模式这三个的区别。编辑器模式就是你启动编辑器,Runtime模式是指你游戏打包后的运行状态,PIE模式指的是在编辑器里点击Play后的运行状态。UEngine* GEngine: 代表引擎,数量1。Editor或Runtime模式都是全局唯一,从进程启动开始创建,进程退出时销毁。 UEditorEngine* GEd.原创 2021-05-10 08:49:37 · 5179 阅读 · 0 评论 -
ue4 小知识点 动画重定位 animation retarget
重定向的目的是 a 想用b的现有的动画重定向的基石共同的rig重定向后产生的新资源 和b相同的a动画,资源量翻倍。原创 2021-05-08 08:49:14 · 753 阅读 · 0 评论 -
ue4 小知识点 animinstance 的destroy时刻
可以在c++ UAnimInstance子类中重载virtual void NativeUninitializeAnimation();此函数然后在NativeUninitializeAnimation函数中调用一个BlueprintImplementableEvent 方法void UALSCharacterAnimInstance::NativeUninitializeAnimation(){ Super::NativeUninitializeAnimation(); B...原创 2021-05-07 16:48:18 · 252 阅读 · 0 评论 -
ue4 小知识点 UCLASS(Abstract,Within = GameInstance)
UCLASS(Abstract, Within = GameInstance)class ENGINE_API UGameInstanceSubsystem : public USubsystem{}Abstract标记指明UGameInstanceSubsystem是抽象基类,是不能被直接创建出来的。需要创建子类,子类可以创建实例。 Within = GameInstance,Within这个标记的意思是其对象的Outer必须是某个类型,另外Within的标记是会被继承到子类的。所以综合的.原创 2021-05-06 08:33:06 · 2025 阅读 · 0 评论 -
ue4 als advanced locomotion system v4 part 2 overlay
通过扩展overlay state来扩展自己的动作状态以官方box为例 当overlay state 等于Box的时候 就进入了box state看站立pose,用的是0帧 看这一帧对应的曲线曲线怎么用看这里layering =1 代表用overlay的动作layering add =1 代表 overlay动作叠加 locomotion ms的动作,胳膊用的是ls比如box动作双胳膊肯定要用box的所以 layering arm l = 1,双胳膊是不用晃...原创 2021-04-28 14:50:53 · 372 阅读 · 0 评论 -
ue4 小知识点 sync group 的动画的 anim notify 在一直按键的时候 不起作用
当一个动画序列设置了sync group 如图那么这个动画的 anim notify有个选项必须选,否则在 按 按键的同时 这个notify不会触发。我觉得深究源码的话应该是notify的线程被input的线程给阻塞了。但是勾选了如下,就能在一直按键的时候能出发anim notify。...原创 2021-04-22 14:44:57 · 627 阅读 · 2 评论