虚幻4 UE4 蓝图之关卡蓝图实现自动开关门
新建项目

往关卡中放置一个门
在内容浏览器中找到 门 的静态网格体

拖放到关卡中

此时门默认没有碰撞,人物可以直接穿过

给门添加碰撞
双击内容管理器中的 SM_Door,打开编辑窗口

选择菜单“碰撞”-“添加盒体简化碰撞”,给门添加碰撞框架

门周围的绿边框即是碰撞区域

通过缩放调整碰撞区域使其与门基本匹配

添加碰撞后保存,进入关卡可以发现人物已经无法穿过门

添加触发器
将盒体触发器拖入关卡中


调整触发器大小及位置

将门设置为可移动
选中门,在细节面板中“变换”-“移动性”-切换为“可移动”

编辑关卡蓝图
操作快捷菜单“蓝图”-“打开关卡蓝图”


添加触发器事件
从世界大纲视图中选中触发器对象“TriggerBox”

在空白处右键,添加 Begin Overlap 和 End Overlap 两个事件

添加Rotation设置蓝图
从世界大纲中将门的对象 SM_Door 拖进关卡蓝图

从 SM_Door 拖出节点 SetActorRotation

添加时间轴蓝图
在空白处右键,搜索timeline,添加时间轴

双击打开时间轴,选择“添加浮点型轨迹”

右键-添加关键帧,或按Shift+左键直接添加,添加两个关键帧

选中关键帧,直接设定相应的值,这里我设置第一个关键帧 0s,值0;第二个关键帧2s,值85

觉得变化太生硬可以同时选中两个关键帧,右键,关键帧插值-勾上“自动”即可

修改时间总长度,要与实际最开始的帧到最末尾的帧时间差相等

连接所有蓝图
将 SetActorRotation 中的 New Rotation 结构体分割开来,方便单独赋值

最后,蓝图连线

编译关卡蓝图后生效,运行关卡可以看到实现自动开关门

想进一步了解编程开发相关知识,与我一同成长进步,请关注我的公众号“松果仓库”,共同分享宅&程序员的各类资源,谢谢!!!
虚幻4 UE4 蓝图之关卡蓝图实现自动开关门的更多相关文章
- UE4学习心得:蓝图间信息通信的几种方法
蓝图间通信是一个复杂关卡能否正常运行的关键,笔者在这里提供几种蓝图类之间的信息交互方法,希望能对读者有所帮助. 1.类引用 这是最直接的一种蓝图类之间的信息交互方式.首先在Editor中创建2个Act ...
- UE4]不使用角色蓝图、动画蓝图、状态机,用“24K纯C++”实现动画播放
http://aigo.iteye.com/blog/2283454 原文作者:@玄冬Wong 不好意思,我稍稍标题党了,目前还不清楚如何用C++代码来实现BlendSpace和Montage的逻辑, ...
- [UE4]UMG和关卡坐标变换、旋转小地图
一.优化上一节的蓝图,新建一个函数addFlagToCanvas(动态添加图标到Canvas) 二. 分析地图坐标系和UMG坐标系 要根据实际情况分析关卡坐标系. UserWidget中的坐标系 三. ...
- [UE4]关卡蓝图
- [UE4]使用C++重写蓝图,SpawnObject根据类型动态创建UObject
先大量使用蓝图制作项目,后续再用C++把复杂的蓝图重写一遍,用C++代码按照蓝图依葫芦画瓢就可以了,很简单,但需要遵守一些原则: 第一种方法:使用继承 一.创建一个C++类作为蓝图的父类(C++类继承 ...
- [UE4]角色、动画蓝图、动画蒙太奇、动画之间的调用关系
一.在“角色”中设置要使用的“动画蓝图” 二.在“动画蓝图”中使用“动画”和“混合动画” 三.在“混合动画”中,也可以使用“动画” 四.在角色中使用“动画蒙太奇”
- [UE4]CustomAnimationBlueprintNode 自定义动画蓝图节点
目的:在AnimationBlueprint中使用自定义动画控制节点. 主要过程: 1. 引用相关模块.在Client.Build.cs文件中,PublicDependencyModuleN ...
- 虚幻引擎UE4如何制作可拖动(Drag and Drop)的背包(Scrollbox)
本教程适合初学者(学习经历已有30天的UE4初学者). 最终效果 由于隐私保护,不想截实际的效果图,下面给出了示意图,左边是背包A,右边是背包B,将其中的子项目从左侧拖往右侧的背包,然后在插入位置放置 ...
- [UE4]虚幻引擎UE4如何制作可拖动(Drag and Drop)的背包(Scrollbox)(转载)
最终效果 由于隐私保护,不想截实际的效果图,下面给出了示意图,左边是背包A,右边是背包B,将其中的子项目从左侧拖往右侧的背包,然后在插入位置放置. 第一步: 制作一个user widget(在内容浏览 ...
随机推荐
- 第3章(3) do{}while(0)语句
do {} while (0) 主要在宏定义后为语句中使用,比如: #define macrofun(a, b, c) \ do { \ if (a == 5) \ do_this(b, c); \ ...
- Python之网络编程Socket
Python 提供了两个级别访问的网络服务.: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法. 高级别的网络 ...
- SDRAM
环境:STM32F769discovery板 SDRAM芯片:用的MT48LC4M32B2B5-6A 16Mbyte (sdram和flash一般标的容量都是bit) 硬件图: 第一步 配置FM ...
- 利用git工具将自己的代码文件上传到Github
GitHub 是一个面向开源及私有软件项目的托管平台,作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户.随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及 ...
- 解析 Microsoft.Extensions.DependencyInjection 2.x 版本实现
项目使用了 Microsoft.Extensions.DependencyInjection 2.x 版本,遇到第2次请求时非常高的内存占用情况,于是作了调查,本文对 3.0 版本仍然适用. 先说结论 ...
- Java基础(37)ArrayList的remove方法
1.问题描述 给定两个字符串 s 和 t,它们只包含小写字母. 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母. 请找出在 t 中被添加的字母. 输入: s = "abcd& ...
- django-HttpResponse,render,redirect
1.导入相应的包 from django.shortcuts import HttpResponse, render, redirect 2.HttpResponse(返回字符串给浏览器) def i ...
- python小例子(二)
1.在函数里面修改全局变量的值 2.合并两个字典.删除字典中的值 3.python2和python3 range(1000)的区别 python2返回列表,python3返回迭代器 4.什么样的语言可 ...
- fenby C语言 P28
#include <stdio.h> int main(){ int *p1,*p2,a=10,b=20,c; p1=&a; p2=&b; if(a<b) { c=a ...
- Linux杂谈:解决配置静态ip后eth0网卡启动不了的问题
今天在看imooc上的<Linux网络管理>的课程中,在做一些实验时修改了下网络配置,发现了一些问题,就是保存网络配置后eth0网卡打不开,可能也会有很多人出现这类问题,我就在这里分享下自 ...