11669人加入学习
(26人评价)
【旧版】Unreal基本知识案例 - 密室逃脱

旧版课程,制作完成于2017-01-11

价格 免费

总结:


  1.UE4工具将项目启动的时候,有时候总是提示类似classid的错误,每次都需要删除【项目名\Saved\Crashes】下的文件,再重新启动,但是不是每次都好用。
目前找到个方法-->>在【编辑-->项目设置-->描述】里有个【项目ID】给设置成【无效化】,基本上不出现类似的错误。


2.在写完C++代码,编译后如果出错,一定不能运行,程序崩溃,好像项目再也启动不起来了,不得不重新建项目,所有的重新来做。


3.C++里有代码下边红线的(此时试试重复添加UE4引用,可能会将红线消除掉),如果编译没有问题,应该可以执行运行,目前是这样。

[展开全文]

end键————落地快捷键

 

步长、捕捉

[展开全文]

如何解决崩溃问题,在文件夹中可删除文件

.vs

Binaries

Intermediate

Save()

以及VS工程

如果还是不行的话,可以把原文件中的Content中

一个文件中Content以及Source不能删除,主要的东西在这两个文件夹中

[展开全文]

由于版本的不同,在GetWorld()出现了问题,应当这样修改

在.h中加上头文件#include"Runtime/Engine/Classes/Kismet/GameplayStatics.h"

在AActor* DefaultPawn;后面添加

ATutorialsPlayerController* TutorialsPlayerController = Cast<ATutorialsPlayerController>(PlayerController);

这样可以获取PlayController对象。

[展开全文]

在这里需要用Fn+End建    落地建是落在他下面的物体上面

[展开全文]

Ctrl +N  新建关卡

Ctrl+S   保存关卡

Backspace   直接可以删除物体

[展开全文]

上一节是绑定了抓取物品:

现在要移动物品:

if(PhysicsHandle && PhysicsHandle->GrabbedComponent)

{

    PhysicsHandle->SetTargetLocation(GetLineEnd());
}

 

PhysicsHandle ->ReleaseComponent();

[展开全文]

射线检测:

FHitResult Hit;

GetWorld()->LineTraceSingleByObjectType

(

Hit,

Start,

End,

FCollisionObjectQueryParams(ECollisionChannel::ECC_PhysicsBody),

FCollisionQueryParam(FName(TEXT("")), false, GetOwner())

);

[展开全文]

射线检测:

FVector Start; //射线起点

FRotator ViewRotator;

GetWorld()->GetFirstPlayerController()->GetPlayerViewPoint(Start, ViewRotator);

FVector End = Start + ViewRotator.Vector() * 100(cm);

 

DrawDebugLine(GetWorld(), start, end, FColor(255,0,0), false, 0,  0, 10);//画辅助线 

[展开全文]

选中默认Pawn,蓝图功能中转换选择的Actor为蓝图类。

创建蓝图类后,将其放到场景中,此时默认Pawn还是会被创建。这里需要去项目设置中,地图和模式选项,DefaultPawnClass

创建新的GameMode

指定DeaultPawnClass

[展开全文]

tick中判断 TriggerVolume->IsOverlappingAcor是否出发Actor

(效率不高)

world中存储着所有的Actor和Controller之类的

所以我们需要的一切应该都可以通过world来得到

DefaultPawn = GetWorld()->getFirstPlayerController()->getPawn();

他这个defaultPawn也是在类中增加了一个指针.....

是不是随用随获取好一点

而且初始化操作放在BeginPlay中了 ,估计是因为对象创建的时候还没有创建玩家。

[展开全文]

1.将触发器绑定到了OpenDoor控件中,作为一个成员变量,同时使用UPROPERTY(EditAnywhere)在蓝图中进行指定(绑定操作,赋值操作)

 

2.想产生联系:就指针弄个归属关系......

[展开全文]

1.如何获取绑定到的Actor对象

GetOwner:从Component继承来的

也就是说归属关系已经被Actor和Component封装好了

2.如何出发开关门事件

[展开全文]

新建组件:继承自UActorComponent

启动时调用BeginPlay

每帧调用 TickComponent

[展开全文]

授课教师

SiKi学院老师

课程特色

图文(2)
视频(37)

学员动态

一只呆头熊 加入学习
cometer 完成了 资料下载
cometer 开始学习 资料下载
cometer 加入学习