新学期开始了,我又来更博了,自从UE4免费以来,每天都很兴奋有木有!于是博主从家乡花了一天时间到达学校后的第一时间就又开始学习起了UE4,联系上回内容,这次我们继续体会Unity引擎和UE4相似之处。在这片文章中,我们将分别在两个引擎中创建一个可以控制开关的灯,来对比一下两个引擎,同时我们将会学到,如何在UE4中使用蓝图创建一个可以交互的物体。好了,废话不多说,开始吧
首先申明,本文章内容适合有Unity引擎基础的童鞋享用,如果不了解Unity引擎,请跳过第一部分即可,内容较为基础,大神们可以绕道而行啦~
第一部分:Unity引擎
在Unity里实现这个功能是非常简单的,我就随便给大家提供一种方法,我直接上截图,很容易理解:
这部分内容不是今天的重点,我只做大概说明:
1.首先第一张截图:我创建了一个空物体,然后在上面添加cube碰撞体,调整起大小,另外因外要在这里做碰撞检测,所以我添加了rigidbody组件,然后写了碰撞的脚本。
2.第二张图,我随意建立了一个cube物体,作为我们的灯,然后在里面添加了点光源
3.第三张图,就是起到提示功能,创建的是一个3dText。
4.我添加了一个自带的第一人称控制器做测试
5.第一张图片中空物体上绑定的脚本:
using UnityEngine;
using System.Collections;
public class MyLight : MonoBehaviour {
public Light light;
public TextMesh helperMessage;
void OnTriggerStay(Collider col)
{
if(col.name == "Player")
{
helperMessage.text = "Press F to toggle";
if(Input.GetKeyDown(KeyCode.F))
{
if(light.intensity >0)
light.intensity = 0;
else
light.intensity = 6;
}
}
}
void OnTriggerExit(Collider col)
{
if(col.name == "Player")
{
helperMessage.text = "";
}
}
}
7.最终效果如图:当走进一个灯的时候,灯下面会出现提示信息,并且在这个范围内,按下F键会打开或关闭灯。
好了,就是这样,点击下面的链接,可以查看到Unity的源工程
第二部分:UE4引擎
这部分是我们的重点内容,其实这些是UE4官方的英文教学视频,我把它整理了一下,和大家一起分享。
1.创建一个新的工程,如下图,我们选择蓝图,空白,具有初学者内容。
2.打开UE4给我们提供的一个map,就是下面这个