![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ue5
[苦行僧]
我不创造知识,我只是知识的搬运工
展开
-
ue5 编译问题 Custom Property List Not Initialized for
我在c++的character中 初始化了一个蓝图组件,而蓝图组件中不管是属性的类型或者在函数中用到了cast ,都又指向了 这个character的蓝图类,于是在生成cdo的时候 就是也要构建bp character的 cdo,但是此过程 就是在character的创建cdo的过程。2、在蓝图组件中,通过接口函数调用bp character 方法,这样避免出现 bp character类型在蓝图组件中。我这边出现此种问题主要的原因是 循环引用。原创 2022-12-29 16:48:32 · 392 阅读 · 0 评论 -
ue 编译问题 Error MSB3073
问题出现在MSVC编译器(14.32.31326:MSVC v143-VS 2022 C++v14.32-17.2)中。Visual Studio 2022 17.3.3 最新版本,版本过高。使用以下版本 MSVC编译器,重新编译即可。原创 2022-12-23 11:24:22 · 1740 阅读 · 0 评论 -
ue5 小知识点 关于抛射物 project
用project 组件。原创 2022-12-13 12:15:45 · 332 阅读 · 0 评论 -
ue5 小知识点 timeline
只能在actor的蓝图里面 设置出来。原创 2022-12-13 12:13:13 · 491 阅读 · 0 评论 -
ue5 lyra camera
简单来说就是有个默认的cameramode ,一旦有ga要求自己的camera mode 就会把ga 的mode添加到cameramodestack中。每一帧都会调用ULyraCameraComponent::GetCameraView()下面就是多个camera mode切换的时候是如何blend的。1、cameracomponent的修改。UpdateCameraModes()中。技能用完就把技能cameramode撤销。原创 2022-11-01 20:23:53 · 799 阅读 · 0 评论 -
ue5 lyra的角色动画系统 持续更新中。。。。
当然弊端是有的,如果不同的骨架,骨架偏差比较大, retarget后动画会有偏差,所以虚幻做的retarget大面上看上去是美好的,如果要抠细节,会有很多的不足。在这些逻辑中该用到AI中的layer都用了layer,只不过这些layer有的是空的,逻辑都在其他动画蓝图中。这个方法去调用,相当于用B中的layer覆盖了A中的layer的逻辑,相当于具体的逻辑实现都在B中实现。在A中写了整个的动画逻辑比如locomotion,上半身特定动画融合,挨枪子的动画融合,全身动画融合等。原创 2022-09-29 16:28:33 · 1642 阅读 · 4 评论 -
ue5 小知识点 UStaticMeshComponent的材质 set get
set材质调用的是父亲的setmaterial方法 你会发现set的材质会保存在一个叫OverrideMaterials[ElementIndex] = Material;所以 UStaticMeshComponent的set get 和 它里面的staticmesh 的材质 是 独立的两套。get的时候 先从OverrideMaterials中拿 没有的话 再从mesh中拿。但是要想获得材质的数量 就 跟OverrideMaterials 没关系了。获得材质的数量是直接从mesh上拿的。...原创 2022-08-31 14:20:31 · 1194 阅读 · 0 评论 -
ue5 ActionRPG项目中的 gas
触发一个GA在GA中播放一个montage,同时等待一个tag的到来,而这个tag的到来一般是由montage中通过anim notify触发的。GA在等到tag到来的时候 就通过tag找出对应的ge(能找到说明也是碰撞到了对方)然后把ge给了对方,然后就是通过Exculation修改target的属性。首先ActionRPG项目中的GAS是在gas的基础上 增加了 很多c++代码的gas,对于抱着入门学习的同学,学起来 可能会更加迷茫。在ActionRPG中 一个简单的技能是如下过程。...原创 2022-08-29 16:56:57 · 499 阅读 · 0 评论 -
ue5 小知识点 actor和actor之间的嵌套
所以actor之间没有直接的addactor等操作 而是变相的通过scene component的层级结构来确定actor之间的层级结构。UE里是通过Child:AttachToActor或Child:AttachToComponent来创建父子连接的。一种是scene component 这种是带transform的 是能在场景中渲染的,同时很重要的是 能嵌套的。第二种是普通的actor component 这种不带transform 在actor中是平级的。actor和actor的嵌套。...原创 2022-08-26 15:31:16 · 2015 阅读 · 0 评论 -
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 · 587 阅读 · 0 评论 -
ue5 gas
attribute 是 attribute set 负责复制的,一般来说 只有ge才能修改attribute。asc放在playerstate中是最好的。asc 里面有 当前的 ge 当前的ga。asc负责复制 这些ge ga。原创 2022-08-19 15:25:27 · 225 阅读 · 0 评论 -
ue5 小知识点 subsystem
UEditorActorSubsystem* EditorActorSubsystem = GEditor->GetEditorSubsystem<UEditorActorSubsystem>();原创 2021-11-19 16:00:46 · 4066 阅读 · 0 评论 -
ue4 小知识点 材质 笔记
想通过normal的z变量去融合 ----------------------------------------------------迭代分割线----------------------------------------------1、ue4有很多个材质模板,hlsl编写的模板,这些模板根据某个配置,来启动不同的代码段,实现不同的功能。这个配置的来源就是材质编辑器。用户操纵材质编辑器的选项,制定数据的输入,相当于定制一个材质模板的配置。编译,根据配置,最后生成最终要运行的hlsl代码。可以在材质编辑原创 2020-03-01 23:36:01 · 1626 阅读 · 1 评论 -
ue5 小知识点 开启lumen的设置
在 project setting中1、 2、 3、原创 2022-07-01 10:31:37 · 1400 阅读 · 0 评论 -
ue5 小知识 FreezeRendering 查看视锥内渲染的物体
在运行时 运行命令行1、FreezeRendering2、ToggleDebugCamera --------------------------------------------------------------------------渲染的时候查询三角形数量和drawcall 用stat rhi---------------------------------------------------------打开和关闭auto instancer.meshdrawcommands.dynamicins原创 2022-06-30 19:30:26 · 777 阅读 · 0 评论 -
ue5 小知识点 geometry script modeling
geometry script原创 2022-06-09 11:52:56 · 1296 阅读 · 4 评论 -
ue5 小知识点 random point in Bounding Boxf From Stream
random point in Bounding Boxf From Stream原创 2022-06-09 11:46:50 · 343 阅读 · 0 评论 -
ue5 小知识点 water 水体
框架和基础结构:water body actor 只是编辑工具water mesh actor才是生成mesh的主体,各种水的无缝连接就是因为它的存在,融合的地方会有一个过渡材质去处理过渡的效果。water body custom 可以指定一个staticmesh形状,比如游泳池,喷泉等,由于用户指定了mesh所以并不需要生成water mesh actor。相反其他的几个(ocean river lake)是有一个water mesh actor的。除了 water body原创 2022-05-26 10:38:33 · 3758 阅读 · 2 评论 -
ue5 智能指针
1 持有非UObject对象的智能指针TSharedPtr,TSharedRef,TWeakPtr,TSharedFromThis,TUniquePtr,TUniqueObj,TPimplPtr,TNonNullPtr,TOptional2 持有UObject的智能指针TStrongObjectPtr,TWeakObjectPtr,FSoftObjectPtr,TSoftObjectPtr,TSoftClassPtr,FSoftObjectPath,FLazyObjectPtr,TPersist原创 2022-05-08 21:13:35 · 898 阅读 · 0 评论 -
ue5 lyra探索分析1
刚开始默认的地图中然后就把这些数据传送给了 lyragammode了在这个函数里 处理上面的lyraexperiencedefinition数据 其中包括pawn是谁 都有什么action原创 2022-04-22 19:08:58 · 5560 阅读 · 5 评论 -
ue5 小知识点 加载某种类型(PrimaryDataAsset)的所有asset到内存中
原创 2022-04-21 17:46:14 · 1183 阅读 · 0 评论 -
ue5 小知识点 动画蓝图接口 不能在editor中复制新的
不能快捷键Ctrl+D复制,因为复制的新的是和之前的接口是一个,在动画蓝图link的时候会冲突报错,只能新建或者右键 duplicate。原创 2022-04-19 14:16:00 · 1025 阅读 · 0 评论 -
ue 小知识点 换装 一个人多个部分mesh 动画
为了换装,把人分成了 很多部分,比如头部,上半身 下半身,但是人的动画是用的 人的整体骨骼的。这个时候部位也要跟随主骨骼的动画。有一下两种情况:1、头部和身体不同骨架,头部要跟随身体动2、部位和身体相同骨架,比如上半身和 下半身一些背景总骨架上身骨架头部...原创 2022-03-06 13:35:24 · 1091 阅读 · 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 · 1663 阅读 · 0 评论 -
做游戏的技术要点
原创 2022-01-21 08:02:34 · 2232 阅读 · 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 · 2531 阅读 · 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 · 1307 阅读 · 0 评论 -
ue 小知识点 Character AttachActor... and collison
一个Characterattach到坐骑上 ,如果collison不改变, 移动的时候就会发生莫名的问题。所以attach上之后,character的capsule和mesh都要设置collision为not enable。原创 2021-12-14 09:00:36 · 450 阅读 · 0 评论 -
ue 小知识点 如何倒序播放一个动画序列
改成-1即可动画蓝图中 play rate 改成-1蒙太奇也是一样的原创 2021-12-10 16:18:58 · 3492 阅读 · 1 评论 -
ue 小知识点 开启垂直同步 vsync
1、用命令行r.VSyncEditor 1r.VSync 12、用蓝图节点原创 2021-12-01 15:48:31 · 5400 阅读 · 2 评论 -
ue小知识点 动画蓝图 ABP的 begin、init和Character的posses的先后
先ABPinit 然后 character 的on posse 然后 ABP的begin原创 2021-11-24 10:23:01 · 496 阅读 · 0 评论 -
ue4 小知识点 蒙太奇 montage 结束 融合跳动问题
可以通过设置蒙太奇的同步组 Sync Group来解决这个问题我之前收剑的蒙太奇播放结束回到动画蓝图的时候融合会有抖动。原创 2021-05-24 17:24:04 · 1835 阅读 · 0 评论 -
Ue5 小知识点 各种lerp smooth
关键词 interp原创 2021-10-27 11:39:10 · 2458 阅读 · 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 · 744 阅读 · 0 评论 -
ue 小知识点 虚幻额外的plugin 有很多意想不到的
https://github.com/orgs/ue4plugins/repositories原创 2021-10-09 17:52:26 · 614 阅读 · 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 · 957 阅读 · 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 · 1471 阅读 · 0 评论 -
UE 小知识点 获得module
FEditorToolModule& AssetRegistryModule = FModuleManager::LoadModuleChecked<FEditorToolModule>("EditorTool"); FEditorToolModule& PerforceSourceControl = FModuleManager::GetModuleChecked<FEditorToolModule>("EditorTool");原创 2021-09-17 09:56:23 · 688 阅读 · 0 评论 -
ue 小知识点 删除资源asset
ObjectTools::CleanupAfterSuccessfulDelete(pa, /*bPerformReferenceCheck*/false);原创 2021-09-10 17:41:17 · 1626 阅读 · 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 · 1821 阅读 · 0 评论