首先我们来制作开关灯交互(碰撞预设为Trigger的形式)。UE4虚幻引擎学习群:633267564 首先:我们导入所需要的素材模型(即台灯模型)。新建一个文件夹,本文这里新建名为BP_D_01。点击Import导入,选择FloorLamp_A(台灯模型),点击打开进行导入!
导入完成后可以看到在我们新建的文件夹下已经生成了模型。注:右侧会制作完成的Actor。
鼠标在空白区域右键,新建一个蓝图类,(即上图中右侧) 双击新建出来的Actor,在文件夹中选择台灯模型导入到Actor中。 我们想要制作碰撞类型的效果,那么肯定也需要一个碰撞体,所以我们选择1.新建-Light(点光源) 2.新建-Sphere(碰撞体)(注:新建物体需放置到模型层级内)。新建完成后适当调整灯光位置(放置到灯罩内)及碰撞体位置(灯关节处)。 选择碰撞体,将右侧细节面板Collision面板下Collision Presets(碰撞预设)设置为Trigger。接着点击Events(事件面板下的)On Component End Overlap按钮获取事项 来到Event Graph面板,会看到On Component End Overlap节点已经自动添加进去了(先丢在哪里不管,我们来逆推开关灯的实现过程!)。
1.选择灯光,拖动到场景当中(开关的具体内容)!然后按住鼠标左键托出线条,鼠标右键在快捷面板中输入Set Intensity(用来判断亮度),然后双击放置到面板中 2.开关灯需要一个过渡效果。那么就要用到时间节点。 鼠标右键拉到最下面找到Add Timeline节点。然后双击设置时间节点,点击添加!设置参数(同开关门设置节点一样)。第二个节点设置参数为0.5,5000 (也就是说0.5秒打开/关闭,亮度为5000 )。然后按住一键,设置平滑。关闭窗口。 关闭后大家会发现多处了一个输出点解,即New Track 0 。我们输出连接到Set Intensity。
2.新建变量。用来判断是否产生触发
3.按住Ctrl,拖出一个Get方法的变量获取及按住Alt拖出两个Set节点判断是否成立。然后分别输出到时间节点的Play(开始)及Reverse(反向)入口。
4.新建两个分支(Branch)。输入连接上刚刚获取的GET方法及输出链接两个Set方法,用来判断是否成立。即Ture及False。 5.按住On Component End Overlap节点下Other Comp输出口然后右键找到Component Tags节点(判断是否进入/产生碰撞),然后输出Get方法,继续链接,找到==方法(如果相等则开灯,第二次则为关灯)。 吧总节点输出到Branch输入节点,条件窗口输入==方法。输出口链接到第一个Branch节点的输入口。然后点击编译。 当点击完编译后,大家就可以去游戏模式运行看看你制作的开关灯交互啦!!! 当然这种方法有些弊端: 1.并不是源生基于VR的,而是一种出发的形式。 2.灯光是动态灯光,在虚幻中,只要牵扯到动态灯光都很难处理。目前来说改善这个问题希望不大。
|