UE4 小知识记录

如图所示,now能够拿到所有的当前时间信息


用1 / delta time就能够得到FPS,其他操作时防止刷新过快,看不清字,另外,帧率越高,性能越好


第一个蓝图是世界时间运行的快慢,1是标准速度,0.1是标准速度的0.1倍,另外,第一个蓝图只能影响场景,不能影响到pawn,所以要有第二组蓝图节点,该节点用于游戏慢动作


显示场景三角面数:

stat RHI

扫描二维码关注公众号,回复: 17187539 查看本文章


DDC(DeriverdDataCache):中文名字叫派生数据缓存

将之加入到项目后就存在了DDC

点击Settings

编辑缓存位置

点击Brouse 

显示的文件就是加入到项目的DDC了,在这里可以进行删除 


玩家飞行逻辑:


如何在Actor内添加输入


UE4自带空气墙


用于制作技能CD,防止暂停过后,CD还在计算,所以用这个值来判断技能CD是否结束,是否能进行下一次攻击 


橡皮绳actor:

 

点击Attach Start为false,开始的位置就成非悬挂状态

点击Attach End为false,结束的位置就成非悬挂状态


SceneComponent比ActorComponent多一个位置信息,SceneComponent继承自ActorComponent

以上为SceneComponent

这个才是ActorComponent,没有位置信息 


Spline今天看到的新用法:

右键点击spline

即可用样条线直接画形状,比如说圆形啊什么的,不然圆形你不知道这个确实还不好弄不出来


解决曝光问题:

关闭Eye Adaptation 

场景就不曝光了 


这个地方只能用TEXT(),可以写FString a = TEXT("123");

可以static ConstructorHelpers::FObjectFinder<UMaterial> flyMat(TEXT("123"));

但是不能static ConstructorHelpers::FObjectFinder<UMaterial> flyMat(a);//报错

解决办法,申明一个const TCHAR*的变量即可解决该问题 

FString转化未const CHAR* 


 

ZOrder决定绘制的顺序,值越小,绘制的优先级越高,所以值大的在值小的上层(可遮挡)

UI贴图关闭MIPS,可以省三分之一的内存,一般ASTC 4*4压缩肉眼看不出变化


打包后,可以在这个目录下设置一些GameUserSetting的参数,比如说分辨率,项目质量设置,是否全屏等等


获取变量类型的三种方法:

1、std::is_same

相同为1,不同为0

2、typeid().name();

打印成int类型

3、std::is_floating_point<Type>::value       std::is_integral<Type>::value       std::is_base_of<FString,Type>()

对应上了就是1,不对应就是0 

std::is_intergral也一样

Is_base_of,是否为什么的父类 


UE5的Nanite,自动对模型做LOD,三角面可根据距离平滑过渡,提高性能优化

导入模型的时候把这个给√上 

Nanite通常在三角面数多的情况下使用,才能优化,三角面不多还是用普通的就行


布料系统(毛发、布料实现)

UE4_头发飘动物理_哔哩哔哩_bilibili


若GamePlay框架中,最好是继承自GameMode而不是GameModeBase,不然所有蓝图的BeginPlay将失效


CORE_API DECLARE_LOG_CATEGORY_EXTERN(LogHAL, Log, All);

LogHAL是新Log名,其它照抄就可以

以后就这么用:

UE_LOG(LogHAL, Fatal, TEXT("FGenericPlatformProcess::ReadPipeToArray not implemented on this platform"));


骚操作


法线混合不要直接用Add,用这个BlendAngleCorrectedNormals


CameraVector是材质像素朝向相机位置的一个方向向量,相机位置移动,内部uv也会移动,所以这样写有一种贴图在洞里面的感觉


球形加上Noise很有用,比如这个可以做撒出去的水

猜你喜欢

转载自blog.csdn.net/qqQQqsadfj/article/details/129000306