1. 蓝图 |
您所在的位置:网站首页 › 开关门提示语 › 1. 蓝图 |
1. 蓝图制作自动开关门
当小白人靠近,则打开门,离开则自动关上门。 事先准备好门和小白人在关卡中对门进行碰撞设置----双击并添加盒体碰撞;门改为可移动性。 对门添加感应装置----盒体触发器 4. 选中盒体触发器----打开关卡蓝图----右键----触发盒子的两个事件(OnActorBeginOverlap和OnActorEndOverlap)选中门-----在蓝图里面右键为其创建一个引用(为的是让这个门进行旋转,门就是这个事件的目标) 此时当这个小白人靠近门时,门就是进行一瞬间的旋转,没有一个工作的过程。 添加时间轴----右键搜索时间轴(汉化版本不用英文搜索) 双击时间轴对其进行设置- 添加帧点。看下图第4步,假设设置为4,当我们反向开门时,1.5~4这个过程是没有变化的,到了第4秒的时候才开始反向开门,相当于具有周期性。 进行编译,会发现当小白人会靠进门会出现一瞬间的转动,没有门转动的过程,为此添加弧线。 蓝图总设计如图所示 2. 创建门的蓝图类 首先了解一下蓝图类创建一个Actor 添加一个门框和门组件都是静态网格体组件----右边的Static Mesh进行搜索相应的部件。 旋转门的时绕着右下的端点进行开关门的操作,因此该部件的坐标轴就不能是在中心,而是在右下角 — 解决办法—就是把在3D建模软件进行移动坐标轴到右下角。 触发盒子和门必须是同级,如果不同级的话,门旋转,触发盒子也会旋转,但是实际上要转的只是门。 看下面这个图的区别:设置Actor相对旋转是类里面的全部组件都要进行旋转,其余两个是类里面某些组件进行旋转,不同的是相对位置和绝对位置的区别。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 其余设计与上面一样,这样做的好处是我们很容易的做出上千扇门,不用一个一个进行设计。 由此就得到上面Door_BP的一个蓝图类了,直接拖动即可。 3. 用按键实现开关类首先了解Gate节点,以我们的开关门的例子来说,当靠近门时,说明它是可以打开这门条件,实际上是没有打开门,需要我们按下E并且靠近门才能打开,E相当于是个钥匙,而Gate相当于if条件判断。通俗一点,靠近门拥有打开门的条件,离开是拥有关上门的条件。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4Jxp4Aw1-1683040024808)(null)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vr9DtV5m-1683040018521)(C:/Users/王川/AppData/Roaming/Typora/typora-user-images/image-20230325222621912.png)] 还需要让系统能够识别到按键的操作,添加了启用输入和禁用输入两个节点,从这两个节点可以看出Player Controller是谁?让这个控制器告诉我们是否开启了这个键盘的输入----获取玩家控制器节点。 也就是说开启角色输入,按键的输入才能够有效。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-siTS1kB7-1683040024828)(null)] Flip Flop节点的意思是第一次走A,第二次走B,第三次走A,以此类推。相当于第一次按E开门,第二次按E,就是关门。 4. 鼠标点击开关门首先将点击时节点替换掉上面的按键E,打开世界场景设置,点击+,进入并勾选;目的是为了设置鼠标能够门上显示鼠标这个标记。 连成下面这个类型,记得把上面的显示鼠标光标取消掉。 ---- 5.实现鼠标双开门前面部分与鼠标点击开关门是一样的蓝图,仅仅是最后部分不一样,旋转门的大小设置也就是插值节点进行手动插值。这个门的还有做法就是人在门的那个方向,开门的时候往反方向开门,需要对其进行判别。 6.实现按键电梯看一看时间轴的相关功能 --- 7.实现按键绝地求生双开门 8.拾取钥匙开关门(蓝图类直接的通信)首先建立一个用按键实现的开关的蓝图类,如图所示。 我们要做的是拾取钥匙开门,意思我们要有钥匙在,才能开启门,因此在按下键盘e时,还要判断是否有钥匙,有钥匙判断为能开门,没有钥匙则不能。 新建一个变量门是否能开门,并设置布尔变量: 分支这个节点相当于if条件判断,为True进行开门操作,为false 提示尼没有钥匙。接下来就是当我们拾取到这个钥匙,想办法让这个门是否能开门节点打勾,一定是拾取了钥匙这个操作,才能打勾,千万不能直接设置为默认值打勾,如果直接设置默认值打勾,就不需要拾取钥匙这个操作了,按下e直接就能开门了。 设置钥匙蓝图类,仅仅演示操作,钥匙用的立方体进行代替,并且添加球体碰撞体。 按下e进行拾取操作,与前面一致。 ll)] 与开关门蓝图类建立通信,out Actors指的是场景中的所有蓝图类实例化,假设场景中有一百扇门,这个指的就是100扇门的数组。 Get 这个这个节点是获取这个数组中某一个元素的引用, 目的是为了门是否能打开这个节点为是这个操作,即为set节点打上勾,两个蓝图类就建立了通信。销毁Actor节点是在我们拾取钥匙这个操作之后,地面上的钥匙就应该消失,也就是c++的销毁释放操作。 钥匙蓝图类:门蓝图类: 是否能打开**这个节点为是这个操作,即为set节点打上勾,两个蓝图类就建立了通信。销毁Actor节点是在我们拾取钥匙这个操作之后,地面上的钥匙就应该消失,也就是c++的销毁释放操作。 钥匙蓝图类: 门蓝图类: |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |