老师,这个电脑桌面的虚幻c++面试我想要
老师,这个电脑桌面的虚幻c++面试我想要
#include "Components/BoxComponent.h"
.h
UPROPERTY(EditAnywhere,CateGory="OverlapComponent")
UBoxComponent* OverlapComponent;
UFUNCTION()
void OnComponentBeginOverlap(UPrimitiveComponent* OverlappedComponent,AActor* OtherActor,UPrimitiveComponent* OtherComp,int32 OtherBodyIndex,bool bFromSweep,const FHitResult& SweepResult);
.cpp
AMyAcotr::AMyAcotr()
{
OverlapComponent = CreateDefaultSubobject<UBoxComponent>(TEXT("OverlapComponent"));
OverlapComponent->SetupAttachment(RootComponent);
OverlapComponent->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Overlap);
}
void AMyActor::BeginPlay()
{
OverlapComponent->OnComponentBeginOverlap.AddDynamic(this,&AMyActor::OnComponentBeginOverlap);
}
void AMyActor:Tick(float DeltaTime)
{
AddActorWorldOffset(MSpeed,True);
AddActorWorldRotation(TSpeed,True);
}
void AMyActor::OnComponentBeginOverlap(UPrimitiveComponent* OverlappedComponent,AActor* OtherActor,UPrimitiveComponent* OtherComp,int32 OtherBodyIndex,bool bFromSweep,const FHitResult& SweepResult)
{
//触发事件
}
.h
UPROPERTY(EditAnywhere,CateGory="Force")
FVector MSpeed;
UPROPERTY(EditAnywhere,CateGory="TForce")
FRotator TSpeed;
.cpp
void AMyAcotr:Tick(float DeltaTime)
{
AddActorWorldOffset(MSpeed,True);
AddActorWorldRotation(TSpeed,True);
}
.h
UPROPERTY(EditAnywhere,CateGory="Force")
FVector MSpeed;
UPROPERTY(EditAnywhere,CateGory="TForce")
FRotator TSpeed;
.cpp
void AMyAcotr:Tick(float DeltaTime)
{
FVector NewLocation = GetActorLocation();
NewLocation = GetActorLocation() + FVector(MSpeed.X*DeltaTime,MSpeed.Y*DeltaTime,MSpeed.Z*DeltaTime);
SetActorLocation(NewLocation);
FRotator NewRotation = GetActorRotation();
NewRotation =GetActorRotation() + FRotator(TSpeed.Yaw*DeltaTime,MSpeed.Roll*DeltaTime,MSpeed.Pitch*DeltaTime);
SetActorRotation(NewRotation);
}
.h
UPROPERTY(EditAnywhere,CateGory="Force")
FVector Force;
UPROPERTY(EditAnywhere,CateGory="TForce")
FVector TForce;
.cpp
AMyAcotr::AMyAcotr()
{
Force = FVector(0.f,0.f,0.f);
TForce = FVector(0.f,0.f,0.f);
}
void AMyAcotr::BeginPlay()
{
Cube->AddForce(Force,NAME_None,true);
Cube->AddTorqueInRadians(TForceNAME_None,true);
}
.h
UPROPERTY(VisibleAnywhere, CateGory = "Cube")
UStaticMeshComponent* Cube;
.cpp
Cube = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Cube"));
RootComponent = Cube;
meta = (ClampMin= -5,ClampMin = 5,UIMin = -4,UIMax = 4)//限制最大最小值和UI最大最小zhi
建议输入法直接设置为在中文输入法下仍旧使用英文符号......
虚幻窗口介绍:
窗口可以独立成小窗口,可以吸附等等。
如果不小心关闭了某个窗口,可以从上栏window下拉列表找出来
小提示:斜边tib可以贴到上面,适用编辑器的,编辑器的工具链都为斜边tib
方形tibs为编辑器相关的下辖的窗口,有一些也可以贴到上面
工具链窗口放在主窗口只能为小窗口
当乱了的时候 window里面有个重启编辑器
重启后就会按照默认的编辑器窗口了
三级设置
虚幻有三层设置
1.编辑器偏好
2.项目设置
3.世界设置
编辑器偏好:
定义整个编辑器的,
与项目没什么关系
而且编辑器的修改只针对这个项目
项目设置顾名思义就是针对整个工程的
世界设置,就是针对当前关卡的设置。
存放缓存的地方,如何管理对应的缓存
epic里,设置 保管库的位置,
epic下载的东西都在这个库里
当我不需要某个资源时,除了在软件中删除,还需要在这个保管库里删除对应的文件夹
win 用户 你,在地址栏里加上杠 AppData
找到local unrealengine 这里就是DDC 派生数据缓存
比如 在工程中加载了一堆材质,在加载的过程中要渲染,要加载,很费时间,当加载完成后,再打开这个材质就不需要加载了,而且ue也很聪明,知道这个材质球会在多个工程引用,那么每次打开工程就加载渲染一下太复杂了,所以就把这个材质球的加载与渲染放在一个文件夹里了,这个文件夹就在这个地址里面。
当旧的ue系统版本删除后,也可以来这里把对应要删的大胆的删掉。
其他的是临时文件和快捷文件,如果想 在引擎中显示这两个文件夹,就在文件编辑器里右键来显示这两个文件夹,但是一般也不要懂这个文件夹
intermdiate 这个可以删,这个是引擎中间件,但是下次加载就需要花上更多的时间了
saved 临时文件夹,但是不建议删,里面包含了备份文件,后退文件,控制台历史记录等等
c++创建的工程
.vs智能提示的缓存
.sln解决方案文件
这两个文件并不大,实在没有空间了的话可以删
binaries 可以删 编辑器热加载类所使用的,或者编辑器有一些奇奇怪怪的操作时可以删除,后面详说
souce 对应C++class 这里放着C++的源文件
不要去动,都是项目所需要的东西
如果想打包传给别人,最小最小需要的就是:config content
删除缓存并重新编译项目
-至少删除.vs、Binaries、Intermediate、*.sln文件(夹)
修改了
需要SpaceScape制作星空的
在场景加入 Wind Directional Source,风 来吹动布料
在Mesh中做操作
先右键创建布料
在菜单栏中点击 激活布料绘制
hostname可以通过c++做
FindSession,
Steam一次最多只能找到50个
Lan默认100个
GameMode 需要使用use seamlesss travel
无缝传送需要控制台的命令
servertravel +地图路径
Execute ConsoleCommand
来连接到指定服务器