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

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

价格 免费

做动画效果,使用蓝图/代码

蓝图实现简单

 

使得自身进入机关,也触发开门效果

Simulate Physics

MassInKg

 

蓝图---转换选择的Actor为蓝图类:

转换成蓝图类后,世界大纲视图中的名字也变了,加上了_Blueprint

 

编辑蓝图类:

①:双击内容浏览器中的蓝图类(SM_Door_Blueprint)

②:在世界大纲视图中的文件后面,点击编辑 SM_Door_Blueprint

 

蓝图下的窗口:

视口(Viewport) 用于观看模型是怎么样子的

事件图表 (Event Graph)

事件图表(Event Graph)下,可以按住鼠标左键框选,右键对应的图标删除,

 

 

改成蓝图类后,上面的属性就会丢失掉:

比如下图中Trigger Volume ,需要拖拽的引用

 

 

在C++代码里面定义事件,蓝图也可以监听到

需要开门的时候,去触发事件,蓝图可以监听到事件,然后做一些事情

 

 

OpenDoor.h 头文件中

// DECLARE声明,DYNAMIC动态,MULTICAST多个,DELEGATE委托 (C# delegate 委托,Event 事件)

DECLARE_DYNAMIC_MULTICAST_DELEGATE(FDoorEvent); // 事件加F,需要加“;”号

 

UPROPERTY(BlueprintAssignable) // 使用这个“注释”,可以使得下面2个在蓝图可以识别到

FDoorEvent OnOpen;

FDoorEvent OnClose;

 

代码定义好了,蓝图 添加事件才会有对于的OnOpen

 

添加了,事件就在我的蓝图窗口---图表显示了,OnOpen(OpenDoor)

 

 

取消添加,再添加引用,解决没有问题的报错

 

箭头可以拖出来

 

 

Print String 打印字符串

 

C++代码触发,蓝图监听

蓝图也要编译和保存

 

蓝图也可以播放

 

//OpenDoor.h 文件

// DECLARE声明,DYNAMIC动态,MULTICAST多个,DELEGATE委托 (C# delegate 委托,Event 事件)
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FDoorEvent); // 事件加F,需要加“;”号

public:
	UOpenDoor();
	UPROPERTY(BlueprintAssignable) // 使用这个“注释”,可以使得下面2个在蓝图可以识别到,蓝图可编辑的意思
	FDoorEvent OnOpen;
	UPROPERTY(BlueprintAssignable)
	FDoorEvent OnClose;



// UOpenDoor.cpp 文件
void UOpenDoor::OpenDoor()
{
	// 得到所在的Actor  设置这个Actor的属性
	// pitch=y  yaw=z  roll=x
	FRotator NewRotator = FRotator(0, 90, 0);
	Owner->SetActorRotation(NewRotator);
	OnOpen.Broadcast(); // C++触发这个事件,蓝图监听事件
}

 

[展开全文]

授课教师

SiKi学院老师

课程特色

图文(2)
视频(37)