UE4代碼片段備份

在Actor內建立一個StaticMesh

#include "Components/StaticMeshComponent.h"
#include "Engine/StaticMesh.h"
auto comp1 = CreateDefaultSubobject<UStaticMeshComponent>("Cube");
ConstructorHelpers::FObjectFinder<UStaticMesh> sm(TEXT("/Engine/BasicShapes/Cube.Cube"));
comp1->SetStaticMesh(sm.Object);
comp1->SetWorldScale3D(FVector(0.5));
comp1->SetupAttachment(RootComponent);

用UE宏實現委託

https://blog.csdn.net/yangxuan0261/article/details/52097699c++

  1. DECLARE_DELEGATE(FTimerDelegate);
  2. #define DECLARE_DELEGATE( DelegateName ) FUNC_DECLARE_DELEGATE( DelegateName, void );
  3. #define FUNC_DECLARE_DELEGATE( DelegateName, ... ) \ typedef TBaseDelegate<__VA_ARGS__> DelegateName;
    至關於 TBaseDelegate FTimerDelegate

KismetSystemLibrary

UKismetSystemLibrary::Delay(this, HitDelayTime, FLatentActionInfo(16, 2147483647, TEXT("方法名"), this));//這個延時執行一個方法this

動態加載

LoadObject 在 Object.h內 不用找頭文件了,動態加載 GO.net

設置模型碰撞

SMC = CreateDefaultSubobject<UStaticMeshComponent>("SMC");
ConstructorHelpers::FObjectFinder<UStaticMesh> sm(TEXT("/Game/Code/Cell/CellMs.CellMs"));//查找模型加載
SMC->SetStaticMesh(sm.Object);
SMC->AttachTo(RootComponent);
SMC->CastShadow = false;
SMC->SetCollisionProfileName(UCollisionProfile::CustomCollisionProfileName);//自定義碰撞配置文件 
SMC->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Ignore);//忽略全部通道
SMC->SetCollisionObjectType(ECollisionChannel::ECC_WorldStatic);//世界靜態碰撞對象
SMC->SetCollisionResponseToChannel(ECollisionChannel::ECC_GameTraceChannel5, ECollisionResponse::ECR_Block);//使用自定義通道

其餘

PlayerContorller set enable click event 啓用鼠標點擊事件code

相關文章
相關標籤/搜索