如图所示,now能够拿到所有的当前时间信息
用1 / delta time就能够得到FPS,其他操作时防止刷新过快,看不清字,另外,帧率越高,性能越好
第一个蓝图是世界时间运行的快慢,1是标准速度,0.1是标准速度的0.1倍,另外,第一个蓝图只能影响场景,不能影响到pawn,所以要有第二组蓝图节点,该节点用于游戏慢动作
显示场景三角面数:
stat RHI
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通常在三角面数多的情况下使用,才能优化,三角面不多还是用普通的就行
布料系统(毛发、布料实现)
若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很有用,比如这个可以做撒出去的水