Unreal Engine5 笔记(持续更新)
CDebug及UE_LogdebugPrintGEngine-AddOnScreenDebugMessage(-1, 5, FColor::Red, Begin play);含参printint a 100; GEngine-AddOnScreenDebugMessage(-1, 5, FColor::Red, FString::Printf(TEXT(%d), a));绘制调制函数#include DrawDebugHelpers.hDrawDebugSphere()UWorld* worldGetWorld(); //确保世界不为NULL if(world) { DrawDebugSphere(GetWorld(),GetActorLocation(),25.0f,24,FColor::Red,true ); //不会消失 DrawDebugSphere(GetWorld(),GetActorLocation(),25.0f,24,FColor::Red,false,30.0f ); //30s后消失 }DrawDebugLine()DrawDebugLine(GetWorld(),GetActorLocation(),GetActorLocation()100.0f*GetActorForwardVector(),FColor::Red,true);DrawDebugPoint()DrawDebugPoint(GetWorld(),GetActorLocation()100.0f*GetActorForwardVector(),15.0f,FColor::Red,true);UE_logDisplay:普通日志消息Warning:黄色日志消息Error: 红色日志消息int NumberOfApples10; UE_LOG(LogTemp,Display,TEXT(NumberOfApples: %d),NumberOfApples);基本类型Bool大小1 byte取值范围0|1布尔变量必须以b为前缀uint8 bTest:1;uint8是无符号 8 位整数类型占用 1 字节8 位:1是 C 的位域语法指定该变量只占用 1 个比特位。因此Test实际存储的值只能是 0 或 1该语法只可在头文件中使用uint8大小1 byte取值范围0~255int32大小4 byte取值范围-2^32~2^32-1float大小4 byte取值范围-2^32~2^32-1int 64大小4byte取值范围-2^64~2^64-1FName大小12byteFString大小12byteFText大小24byteFVector(三维向量)FVector2D(二维向量)FRotatorPitch是围绕Y轴旋转叫做俯仰角Yaw是围绕Z轴旋转叫做偏航角Roll是围绕X轴旋转叫做翻滚角Ftransform宏UPROPERTYEditAnywhere在编辑中可见且可编辑EditDefaultsOnly只在类默认设置中可见EditInstanceOnly可通过属性窗口进行编辑但只能在实例上进行不能在原型上进行VisibleAnywhere在编辑中可见且不可编辑BlueprintReadOnly蓝图只读BlueprintReadWrite蓝图可读可写UFUNCTIONUE5.6官方UFunction文档UFUNCTION([specifier1setting1, specifier2, ...], [meta(key1value1, key2, ...)]) ReturnType FunctionName([Parameter1, Parameter2, ..., ParameterN1DefaultValueN1, ParameterN2DefaultValueN2]) [const];BlueprintAuthorityOnly如果在具有网络权限的机器上运行服务器、专用服务器或单人游戏此函数将仅从蓝图代码执行BlueprintCallable此函数可在蓝图或关卡蓝图图表中执行BlueprintCosmetic此函数为修饰性的无法在专用服务器上运行BlueprintImplementableEvent此函数可在蓝图或关卡蓝图图表中实现BlueprintNativeEvent此函数旨在被蓝图覆盖掉但是也具有默认原生实现。用于声明名称与主函数相同的附加函数但是末尾添加了_Implementation是写入代码的位置。如果未找到任何蓝图覆盖该自动生成的代码将调用_Implementation方法BlueprintPure此函数不对拥有它的对象产生任何影响可在蓝图或关卡蓝图图表中执行。早默认情况下带有const标记的函数将作为纯函数公开。要将常量函数变成非纯函数你可以做以下声明BlueprintPurefalseUFUNCTION(BlueprintPure) float BlueprintPureFunction; UFUNCTION(BlueprintCallable) float BlueprintCallableFunction UFUNCTION(BlueprintCallable) int32 BlueprintCallableConstFunction() const UFUNCTION(BlueprintPurefasle) Int32 BlueprintPureFalseFunction() constCategory TopCategory\|SubCategory\|Etc在蓝图编辑工具中显示时指定函数的类别。使用 | 运算符定义嵌套类别元数据说明符官方文档常用属性元数据说明符ClampMinN用于浮点和整数属性。指定可在属性中输入的最小值NClampMaxN用于浮点和整数属性。指定可在属性中输入的最大值N自定义宏#define DRAW_SPHERE(Location) if (GetWorld()) DrawDebugSphere(GetWorld(),Location,25.0f,24,FColor::Red,true);#define DRAW_VECTOR(StartLocation,EndLocation) if (GetWorld())\ { \ DrawDebugLine(GetWorld(),StartLocation,EndLocation,FColor::Red,true,-1.f,0,1.f);\ DrawDebugPoint(GetWorld(),EndLocation,15.f,FColor::Red,true);\ }代码规范官方文档命名规范枚举枚举的前缀为E,定义在头文件UENUM(BlueprintType) enum class EColorBits :uint8 { ECB_Red, ECB_Green, ECB_Blue };结构体官方文档前缀为U,定义在头文件USTRUCT([Specifier, Specifier, ...]) struct FStructName { GENERATED_BODY() };结构规范符Struct Specifiers结构规范器提供元数据控制结构体在引擎和编辑器的各个方面如何表现Atomic表示该类型应始终序列化为单一单元。该类不会生成自动生成的代码。该头仅用于解析元数据。BlueprintType将此类型暴露为可在蓝图中用于变量的类型NoExport该类不会生成自动生成的代码。头部仅用于解析元数据生成和销毁Actor官方文档类型转换函数FString To FName FName To FString//FString To FName FString Str TEXT(TestString); FName Name FName(*Str); //FName To FString FString TargetFString Name.ToString();组件UStaticMeshComponentUStaticMeshComponent* MyMesh;构造函数中MyMesh CreateDefaultSubobjectUStaticMeshComponent(TEXT(MyMeshComp)); RootComponent MyMesh;UCapsuleComponent官方文档UPROPERTY(VisibleAnywhere) UCapsuleComponent* Capsule;Capsule CreateDefaultSubobjectUCapsuleComponent(TEXT(MyCapsule)); SetRootComponent(Capsule);USkeletalMeshComponentUPROPERTY(VisibleAnywhere) USkeletalMeshComponent* SkeletalMesh;SkeletalMesh CreateDefaultSubobjectUSkeletalMeshComponent(TEXT(MySkeletalMesh)); SkeletalMesh-SetupAttachment(GetRootComponent());Input Enhanced Input玩家控制AutoPossessPlayer EAutoReceiveInput::Player0; //Player0 控制Input System来自UE4依赖InputComponent 和Project Settings→修改input配置在UE5中推荐使用Enhanced Input System代替主要为以下模块组成Input Action、Input Mapping Context、Triggers / ModifiersUEnhancedInputLocalPlayerSubsystemEnhancedPlayerInputComponent
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2418393.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!