Ubuntu15.04编译UE4 for Linux版

发表于2016-03-18
评论0 5.5k浏览
源起
  长期以来,UE4都只有Windows版和Mac版,今年终于向Linux开放,但是需要开发者自己动手编译C++源代码。好吧,正好练一下在Ubuntu系统中编译C++源代码;
  看来EP是认准了Linux的用户都是极客~ 下面是我编译UE4的全过程:

1、首先进入GitHub
  没错,EP已经把UE4的源代码托管到了传说中的GitHub上,地址:https://github.com/EpicGames,从GitHub获取UE4的源代码压缩包并提取出文件夹;

2、获取最新存档
  Ctrl+Alt+T 打开终终端,进入源码文件夹根目录,输入 ./Setup.sh ,现在开始从GitHub获取最新源代码的存档,并自动构建第三方库,请确保你的硬盘或分区有10G以上的空间,否则获取过程会出现failue的红色提示;


获取并构建成功后,会出现如下提示:
  如果最后没出现”********** SUCCESS ****************“,则构建可能没有成功,请重复上一步;
If you don't see SUCCESS message in the end, then building did not finish properly.
In that case, take a look into /home/jack/Download/Unreal4/UnrealEngine-release/Engine/Build/BatchFiles/Linux/BuildThirdParty.log for details.
You run Ubuntu or its fork. All dependencies have been already prebuilt.
********** SUCCESS ****************

3、生成data和index
  构建成功后,在终端输入 ./GenerateProjectFiles.sh ,这将生成Project所需的data和index,生成成功如下所示:


4、编译测试
  接下来在终端输入 make SlateViewer,编译了一个SlateViewer,大约耗时259秒;
  这一步是可选的,仅仅测试生成一个app,你可以选择跳过,稍后在编译好的Editor里进行也可以。


5、最关键的一步来了,编译Editor
  在终端输入:make UE4Editor UE4Game UnrealPak CrashReportClient ShaderCompileWorker UnrealLightmass ,然后回车;这段命令是顺序编译五个模块,其实我们只需要UE4Editor就可以了,但是其他模块官方既然都提供了那就一起编译出来用吧;
  不过要确保你的硬盘上还有10G以上的空间哦,编译UE4真的很耗空间,目前生成的文件前后加起来快10个G了。


  好了,喝杯水去,一会儿回来鉴证奇迹~
  对了,编译期间最好不要运行其他软件;

6、编译完成!
  显示耗时1689秒,速度还行哈,HP Z820 workstation性能果然强悍,据说有人编译了一个多小时。感谢HP Z820;译完成后如果出现failue就是编译不成功,此时要重复上一步直到编译完成;
  我这边编译完成后,UE4文件夹的总体积已经变成了18G!这样的体积,在CG软件中前无来者;所以编译前一定要保证硬盘空间足够,否则也会导致编译失败哦;
  接下来就可以运行Linux版的UE4了~ 是不是有点小激动呢~

7、启动UE4
  在终端输入: cd Engine/Binaries/Linux && ./UE4Editor,回车;启动~ 第一次启动会构建materiallight等等,所以比较慢,大概30秒后,首次启动完成,然后发现界面居然是中文。


  用惯了英文的Maya/Max/Houdini/Naiad/Eclipse/Android Studio,突然来个中文界面还真有点不适应。


  关键如果是全中文那也可以,结果一半中文一半英文,有的地方翻译得还不恰当,于是我把界面改了英文。

8、建立一个工程:
  建立工程之前,请确保硬盘还有至少2G的空间,因为UE4的一个工程会占用1G左右的空间。工程建立完成后,会听到显卡的风扇突然开始呼呼的响,看来UE4把显卡的GPU性能运用到了极致~

9、添加文件路径到$PATH
  现在每次打开UE4都要进入很深的目录然后输入 ./UE4Editor 才能运行UE4,按照下面的方法,就可以在任意目录下输入 ./UE4Editor 运行UE4了~
在终端输入:
$ sudo gedit ~/.profile
  在此文件末尾添加类似下面的语句,把your path1改成你要添加的路径就可以了,如果添加两个路径,中间用冒号隔开即可,注意是冒号不是分号;
export PATH=”$PATH:your path1:your path2 ...”
修改完成后 Ctrl+S 保存,然后注销再登录就可以生效了~

10、释放硬盘空间
  如果硬盘空间不够,可以先把Engine文件夹下的Intermediate和Source文件夹移到其他盘,可以腾出大约10G的空间,不会影响UE4的启动和运行;新建工程,好建一个Blank空白工程;


  但即使是空白,场景中也会有两张椅子和一张桌子,呵呵,多复制几把椅子,实时光影,效果很棒;
  尤其是桌上那个玻璃的实时折射效果很赞,不过需要手动改一下bluePrint,默认是没有这么好看的;


  玻璃材质的 bluePrint节点如下所示:需要修改Specular、Roughness、Refraction的相关参数;


  玻璃节点调整之后的折射效果;默认效果像一块半透明的薄膜,没有任何折射,现在好多了。


  椅子扶手,从磨砂改为不锈钢。这跟在Maya中修改Shader是完全不一样的感觉,随时就能看到效果,实时更新~只是显卡的风扇一直满速呼呼在转。辛苦显卡了,可以确定这款软件完全是基于GPU渲染的;
  GPU的运算速度远远高于CPU,但是对硬件的要求也很高;


  地面是特意用两种Material做个对照,没有Displacement map;扯远了,今天主题是编译C++代码。


  好,Ubuntu下编译 Linux版的UE 圆满完成。
  这个软件编译完成总共占用硬盘9.7G,是我用过体积最大的CG软件~ 不过实时光影的效果真的很棒;编译前,我还想着把编译好的文件传上网盘共享,现在看这体积。想起网盘上传都限速,10个G不知要传多久,终于知道EP不发布Linux版的原因了~授人以鱼不如授人以渔,感兴趣的朋友可以按照我写的方法自己尝试编译一下,也许会有很多意想不到的收获哦。
 
  Linux中安装Eclipse进行C/C++开发:http://www.linuxdiyf.com/linux/10129.html

  加入GAD的核心用户QQ群:484290331,各类活动奖励任你拿,最新资讯任你读,众多教学任你免费学,如此好地方赶紧加入吧!另VR专属群:476511561,专业VR技术分享,专业导师指导为你答疑解惑,大型小型活动奖励等你拿,免费学习赚奖励的天地,欢迎你加入哟!

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引