新建项目
往关卡中放置一个门
在内容浏览器中找到 门 的静态网格体
拖放到关卡中
此时门默认没有碰撞,人物可以直接穿过
给门添加碰撞
双击内容管理器中的 SM_Door,打开编辑窗口
选择菜单“碰撞”-“添加盒体简化碰撞”,给门添加碰撞框架
门周围的绿边框即是碰撞区域
通过缩放调整碰撞区域使其与门基本匹配
添加碰撞后保存,进入关卡可以发现人物已经无法穿过门
添加触发器
将盒体触发器拖入关卡中
调整触发器大小及位置
将门设置为可移动
选中门,在细节面板中“变换”-“移动性”-切换为“可移动”
编辑关卡蓝图
操作快捷菜单“蓝图”-“打开关卡蓝图”
添加触发器事件
从世界大纲视图中选中触发器对象“TriggerBox”
在空白处右键,添加 Begin Overlap 和 End Overlap 两个事件
添加Rotation设置蓝图
从世界大纲中将门的对象 SM_Door 拖进关卡蓝图
从 SM_Door 拖出节点 SetActorRotation
添加时间轴蓝图
在空白处右键,搜索timeline,添加时间轴
双击打开时间轴,选择“添加浮点型轨迹”
右键-添加关键帧,或按Shift+左键直接添加,添加两个关键帧
选中关键帧,直接设定相应的值,这里我设置第一个关键帧 0s,值0;第二个关键帧2s,值85
觉得变化太生硬可以同时选中两个关键帧,右键,关键帧插值-勾上“自动”即可
修改时间总长度,要与实际最开始的帧到最末尾的帧时间差相等
连接所有蓝图
将 SetActorRotation 中的 New Rotation 结构体分割开来,方便单独赋值
最后,蓝图连线
编译关卡蓝图后生效,运行关卡可以看到实现自动开关门
想进一步了解编程开发相关知识,与我一同成长进步,请关注我的公众号“松果仓库”,共同分享宅&程序员的各类资源,谢谢!!!
UE4学习心得:蓝图间信息通信的几种方法
蓝图间通信是一个复杂关卡能否正常运行的关键,笔者在这里提供几种蓝图类之间的信息交互方法,希望能对读者有所帮助. 1.类引用 这是最直接的一种蓝图类之间的信息交互方式.首先在Editor中创建2个Act ...
UE4]不使用角色蓝图、动画蓝图、状态机,用“24K纯C++”实现动画播放
/blog/2283454 原文作者:@玄冬Wong 不好意思,我稍稍标题党了,目前还不清楚如何用C++代码来实现BlendSpace和Montage的逻辑, ...
[UE4]UMG和关卡坐标变换、旋转小地图
一.优化上一节的蓝图,新建一个函数addFlagToCanvas(动态添加图标到Canvas) 二. 分析地图坐标系和UMG坐标系 要根据实际情况分析关卡坐标系. UserWidget中的坐标系 三. ...
[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(在内容浏览 ...
随机推荐
jQuery实现checkbox的全选和反选
$(function () { if ($(".chk_all")) { $(".chk_all").click(function () { $("i ...
canvas边界与摩擦力
处理物体超出画布时的三种基本状态,复位,移除,反弹 (1)检测是否越界的核心算法 if( object.x - object.width / 2 > right || object.x + ob ...
C++中指针常量和常量指针的区别
在C++学习使用过程中,每个人都不可避免地使用指针,而且都或多或少的接触过常量指针或指针常量,但是对这两个的概念还是很容易搞糊涂的. 本文即是简单描述指针常量和常量指针的区别. 常量指针 定义: 又叫 ...
PHP时间比较和时间差如何计算
1.<?php 2. $zero1=date(“y-m-d h:i:s”); 3. $zero2=”-11-29 21:07:00′; 4. echo “zero1的时间为:”.$zer ...
注意!你的Thread.Abort方法真的让线程停止了吗?
大家都知道在C#里面,我们可以使用Thread.Start方法来启动一个线程,当我们想停止执行的线程时可以使用Thread.Abort方法来强制停止正在执行的线程,但是请注意,你确定调用了Threa ...
MAC OS X API知识摘抄
本文为信息为网上各个地方收集整理Carbon和Cocoa,Toolbox,POSIX,JAVA并列成为Mac OS X五个主要的API.与Cocoa相较之下,Carbon是非物件导向(Procedur ...
windows 编程 之 问题解决笔记
问题目录: 1.如何隐藏和显示窗口 2.InvalidateRect在连续使用鼠标或光标时暂时不起作用 3.在VC项目里自己添加头文件和cpp文件在编译阶段报错 4.在static 控件里添加子控件或 ...
将搜狗词库(.scel格式)转化为txt格式
参考:/zhangzhenhu/article/details/7014271 #!/usr/bin/python # -*- coding: utf-8 -* ...
android显示和隐藏软键盘(转)
显示键盘: EditText editText.setFocusable(true); editText.setFocusableInTouchMode(true); editText.request ...
dj 模型层orm-1
ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的 ...