(0)不会敲代码能学UE4吗?

1.先学C++,再学UE4:

我在学习UE4期间认识了许多毫无编程经验的同学,或者一些只有一丝丝其他编程语言经验的同学。对于他们来说学习C/C++是一件非常不友好的事情,C/C++的变态程度在众多编程语言当中不说数一数二也算鹤立鸡群。那么这样导致一个什么结果呢?学起来很难,甚至面向对象这四个字理解起来就已经要绞尽脑汁了,更不要说金字塔顶端的指针和引用了!然而过段时间当他们吭哧吭哧的学完C/C++的基础知识,学会了使用语法、类、对象、基本数据结构、逻辑控制、大概明白了指针和引用,满心欢喜的打开UE4模板工程的C++代码后,竟然发现:

“这是我学过的C/C++吗?为什么长得完全不一样!”

为什么长得完全不一样?当他们学习C/C++的时候,实际上每次都是从一张白纸开始写,自己定义头文件、自己写.cpp、变量、函数什么都是自己来。相信所有所有编程初学者第一次用代码在控制台打出“Hello World”的时候都是贼兴奋的,原来编程这么神奇,可以让我控制电脑!他们也一样,好不容易通过学习C/C++对编程有了一点兴趣,但在通过UE4创建一个C++类的时候这些兴趣就灰飞烟灭了。归根结底是一个问题:

“虚幻是个用C/C++写出来的游戏引擎”

什么是游戏引擎?老听说这那游戏是由虚幻4引擎打造,效果无敌,画面牛逼。引擎俩字听着挺高大上啊,但翻译成不太准确大白话就是:“虚幻引擎是一大堆代码,里面有一大大大堆的函数,有绘制图案的,有控制逻辑的,还有别的乱七八糟的。反正各种有的没的虚幻引擎都给你写好了,你按照自己的意思随便用一用就能做出个游戏了。”话里话外什么意思呢?虚幻引擎就是一个框架,框架的好处是用着方便,坏处也显而易见,你必须要守规矩。说回到刚才的话题,为什么长得完全不一样?因为虚幻引擎的代码有他自己的规矩!这就是为什么大家都用笔写字,但是王羲之只有一个。

所以最痛苦的阶段竟然不是从零开始学习C/C++,而是C/C++学的一知半解后再转学虚幻C/C++。为了不同平台的兼容性,虚幻引擎已经把C/C++完全魔改了。比如把C/C++里没有的“对象”这个东西整出来了,叫UObject。比如数据结构也不用你纠结用vector还是list了,现在叫TArray。总而言之你是在别人搭好的地基上盖楼,用的还都是别人提供好的材料。实际上学习的过程就是理解把这个引擎写出来的那些人的脑子里到底在想什么的过程,这个当然不简单了!

结论:

如果有比较好的面向对象编程基础,比如Java,比如C#,甚至有其他游戏引擎的经验,那我觉得可以先学C++再学UE4,最起码你可以很快的跳过Hello World这个阶段,并且在第一次看到UE4源码的时候有较大的生存几率。

2. 先学蓝图,学不学C++看心情

程序员肯定是推动科技进步的先锋,其中懒这个特质更是先锋中的先锋。蓝图是什么?要我说就是为了让程序员少写点代码存在的。以前没有可视化编辑器的时候游戏是怎么开发的呢?想象一下我想调整一个物体的位置或朝向我要一遍一遍的去代码里改,害不害怕?现在多脑残啊,编辑器里看一看,鼠标拖一拖,搞定!

实际上蓝图的功能已经足够强大了,如果你有时间去看一看虚幻官方的“内容示例”项目就会和我发出一样的感慨。并且使用蓝图有他的先天优势:非常友好的编辑器界面和五颜六色的节点,至少让你在连来连去的时候不那么枯燥,更重要的是能直观的看到预览效果。甚至有些部分例如材质系统,动画系统用蓝图调试是非常方便的。

当然,使用蓝图也有难以解决的问题,无论是虚幻编辑器本身存在的各式各样的小BUG,还是一些无法用蓝图访问的属性和函数,都是蓝图开发者和程序开发者之间的鸿沟。这个沟并不宽,但是很深,掉下去再爬上来还是挺费劲的。

其实有很多的项目是完全可以用纯蓝图开发的 - 如果你对性能要求没那么高的话,蓝图也能制作出足够惊艳的画面效果了。听起来好像和C++完全没关系了对吧!那么蓝图的正确用法是什么呢?就像刚才讲到的,程序员都很懒,所以实际上蓝图是为设计师提供的,只有蓝图和C++配合使用才能最大化开发效率。有些逻辑用代码写很快,用蓝图连线很麻烦,有些东西用蓝图调很方便,用代码调会要命,同时虚幻引擎为代码和蓝图的通讯提供了非常好的支持,这两样东西是可以无缝结合在一起的。

所以为什么说蓝图能让程序员少写点代码这句话现在就可以理解了,我把核心用代码封装好,暴露给蓝图一个接口,设计师负责在合适的时候调用这个接口,代码负责执行并且返回结果就行了。更形象一点,代码更像是乐高中的各种积木,方的,圆的,长的,短的,蓝图更像是把这些积木组合成一辆车或一艘船。

结论:

如果你对代码一窍不通,或者是初学游戏的新手,可以从学习蓝图开始。虽然蓝图编辑器的界面看起来非常复杂,但是其实用很少的部分就能做出一个比较完整的演示作品。

3. 你还是逃不过C++

非常不幸,你最终还是逃不过C++的魔爪。蓝图再厉害,它也是脚本生成的,最终还是要回归到本质,那就是代码。蓝图有的东西,代码里都有,反过来可就不一定了。而且,想要深入的了解引擎的世界观和工作原理,蓝图可是无法告诉你这些东西的。所以,少年,和我一起努力吧!



不过好消息是,如果你蓝图玩的足够溜,代码还是不那么那么难看懂的。


一个虚幻引擎彩笔的心路历程[0]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,639评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,277评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,221评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,474评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,570评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,816评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,957评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,718评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,176评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,511评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,646评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,322评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,934评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,755评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,987评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,358评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,514评论 2 348

推荐阅读更多精彩内容