《Unity3D高级编程之进阶主程》 前言

前言

为什么要写这本书

本书该从很多年前说起,毕业前由于自视甚高错过了好几次绝佳的学习机会,那时是个名副其实的“幼稚男”,清醒过来时周围的人已经走了很远的路了,那夜猛然醒悟开始告诉自己不能再幼稚了。非常幸运的是我赶上了Unity3D引擎大潮,版本从2.6开始一直学习到现在,它提供给了我更低的门槛让我跨过前人需要数年甚至数十年才能跨过的技术难关,于是我一路拼命学习一直走到了现在,虽然对游戏业界来说仍然是个小菜但比起以前已经好了非常多了。

从2013年开始我就开始担任Unity3D主程一职,虽然当时只是个菜鸡主程,但当时的我可并不这么认为,我认为自己的技术已经强大到可以驾驭整个客户端,并且能扎实完成整个游戏项目从开发到上线,年轻人敢闯敢拼的劲头在那时的我身上体现的淋漓尽致。那是我第一次当主程,却敢承诺老板说自己能在3个月内开发出对方想要的游戏,那时自己吹牛可以不打草稿,也从不想后果。最后游戏项目3个月又3个月,开发了半年终于出来了。不管怎样,事情从这里开始一发不可收拾,手机游戏从2013年开始火遍整个国家和全球,我也被浪潮推到了各公司里担任主程,去过日企被派到日本去交接畅销项目,也为动视暴雪Activision做过几个项目,还到过历史悠久的盛大游戏做过主程。就这样跌跌撞撞担任了7年的主程,2020年去了一家新公司,这里的技术让我大开眼界,也打开了我对技术更高层次的理解,我如饥似渴的学习着,事情远没有结束我仍然不断的拼搏和学习,学习的不只是技术还有生活。

回头看自己,我比较幸运,幸运的搭上了Unity3D的便车,幸运的搭上了手机游戏的便车,幸运的搭上了公司发展的便车,但不可缺少的仍然是我如饥似渴的学习热情与拼命三郎般的努力,也只有热情与努力才能长久的让自己在浪潮中牢牢抓住机会以便在退潮时不被打回原形。说到努力,我的努力比起先贤实在微不足道,古今中外的先贤们远到,孔孟与管仲,唐太宗与成吉思汗,乔布斯与林肯等,近到游戏业界,UWA张鑫,第一代大佬云风(吴云洋), IT投资大佬吴军等,都是长期努力拼搏的典范,前辈们付出的汗水可以汇成江河,我的汗水只是能浸湿自己而已,因此我希望能够学习先贤十年如一日的自律,并维持饱满的精力不断向前进。

在2016年开始就想着能不能写一本关于自己是如何理解Unity3D和游戏开发的书,一直未能启动,直到2018年初才开始着手写些草稿。行动是最好的解决动力和自信的良药,在开始写后不久就一发不可收拾,一篇又一篇,一章又一章的写下去,由于文字功底不足,在开始阶段自己都不知道自己写的是什么,前后连句都读不通,却有许多网友看了给我赞赏和鼓励,实在感激不尽,感动不已。同时也发现了自己的知识面的诸多不足和错误理解,于是拼命看各类技术书籍,查阅资料以补充自己浅薄的知识。

可是事情并没有这么顺利,自己看过的书和查阅的资料并没有马上理解和融会贯通,于是文章上依然很多错误和无知的言辞,前后连句依然并不通顺。但给我最大的安慰是,至少在我的坚持下,书有了比较明确的框架,对技术面的理解也到了一个新的高度。为了能让自己的知识能匹配我所写的书,在写书期间我不停的学习,不只是阅读各类技术书,还加入了更多人文类书籍,看完后实践并总结,同时会不时的在博客上写些想法和故事以补充自己在文字上的缺陷。渐渐我的博客上有了很多非技术类的文章,这些文章都是我给自己整理的对人和物的理解,以及一些对非技术性书本内容的回顾,我把它们归类总结成我的学习之路,包括对做人做事的思路探讨、改善自己缺陷的自省和看书后对书本加深记忆的总结。许多文类的书籍与文章让我对人和事物也有了更高层次的理解,让我惊喜的是这些非技术性知识反补了我对技术的理解,带我到达了更高的层次,我开始发现生活和工作是可以融会贯通的,于是经过逐日的自我完善走上了终生学习、自律生活的道路。

随着在项目中不断实践自己的技术,自己对不足的知识面的补充以及勤奋的锻炼文字功底后,我对全书进行了3次重构,为的就是让书中内容能更好的表达技术原理,更全面和准确的技术讲解要点。全书分成:架构、C#技术要点、数据表与程序、UI用户界面、3D模型与动画、网络通信、AI人工智能、地图与寻路、渲染管线与图形学,覆盖了Unity3D游戏项目的技术要点,确保读者能看到整个Unity3D游戏项目的技术全貌,对各项技术与知识点有更深层次的理解。书中不仅关注项目中比较大的解决方案,还讲解了具体的技术细节,让读者不仅有更宏观的视野去审视自己的项目,还能在书中找到最接地气的技术细节以便大家能更深入理解技术原理。虽然才疏学浅,但凭着自己看过这么多书做过这么多项目写过这么多文章,本书实在可以成为大家在技术修行路上一本不可多得的参考书。

​感谢各位能看完前言,本人最爱看序,序是最能体现作者心境的地方,它凝结了作者智慧的结晶,作者可以在这里畅所欲言讲自己的经历体会。

读者对象

这里我们根据行业用户团体划分出一些使用者:

● Unity3D程序员和爱好者

● 游戏开发者

● 各公司的资深游戏开发者以及游戏前端主程

● 虚拟现实项目开发者

● 技术美术和技术美术爱好者

● 致力于图形图像、引擎架构的程序员

● 开设相关课程的院校

如何阅读本书

​本书将知识点分为十个章节,每个章节都有自己独立的知识领域,读者可以按照章节顺序阅读本书,也可以根据自己的喜好挑选自己感兴趣的章节学习知识领域。如果你是一名经验丰富的资深程序员,能够理解游戏编程的相关基础知识,那么你可以直接阅读你感兴趣的章节。如果你是一名初学者,尽量从第一章开始学习。 ​ 第一章,软件架构。讲了架构的意义、架构的原理以及如何架构。 ​ 第二章,C#技术要点。对基础基础做了详细的讲解。 ​ 第三章,数据表与程序。针对客户端中表格数据与程序的协作与应用做了详细的讲解。 ​ 第四章,UI用户界面。针对UI用户界面的工作原理与优化手段做了详细的讲解。 ​ 第五章,3D模型与动画。针对3D模型的原理,动画的原理以及两者的优化做了详细的讲解。 ​ 第六章,网络通信。针对网络层部分业务与底层原理做了详细的讲解。 ​ 第七章,AI。针对各类型AI做了详细的讲解。 ​ 第八章,地图与寻路。针对场景构建与优化、地图构建以及寻路算法优化做了详细的讲解。 ​ 第九章,渲染管线与图形学。针对图形数学、图形学常用算法、渲染管线做了详细的讲解。 ​ 第十章,渲染原理与知识。针对客户端各类渲染技术的渲染原理做了详细的讲解。

附录A为参考文献。

勘误和支持

由于作者的水平有限,写书的时间也很紧张,书中难免会出现一些错误或者不准确的地方,不妥之处在所难免,恳请读者批评指正。由于资金和时间有限无法专门弄一个网站来反馈书本中的问题,于是在Github上开了个仓库做问题集记录,https://github.com/luzexi/Unity3dToBeLeader/issues ,如果发现书本中的错误,可以将书中的错误发布在这个网页地址的问题列表,我将会及时的提供反馈。书本的初稿内容发布在我的个人博客上http://www.luzexi.com,由于精力有限只能更新到初稿,后面再更新书本版本的时候会重新再发布一次新书稿,我希望能在这块内容上不断升级和精进。如果你有更多的宝贵意见,也欢迎你发送邮件至我的邮箱 jesse_luzexi@163.com ,很期待能够听到你们的真挚反馈。

致谢

最后要感谢同事同僚以及网友的支持和点赞,《Unity3D网络游戏实战》作者罗培羽给予的帮助,机械工业出版社杨绣国老师细致缜密的审阅。特别要感谢我的妻子余胜男,为了支持我能安心写书安心工作,负担了家里的所有工作,辛苦万分,还不忘开导我,当我的心理医生为我排忧,这本书实在应该作为礼物献给她,以及我的两个女儿陆秀恩(Sharon)与陆安妮(Anne),她们实在是世界上最好的女儿,知道该如何说出自己的诉求,并懂得遵守规则的重要性,时常还能做出曲线‘救国’的行动和思维,她们每次都要鼓励我,对我说“爸爸加油!”,很感激孩子们能和我一起努力,走在这条学习之路上又多了两个知己,谢谢陆秀恩感谢陆安妮。

· 书籍著作, Unity3D, 前端技术

感谢您的耐心阅读

Thanks for your reading

  • 版权申明

    本文为博主原创文章,未经允许不得转载:

    《Unity3D高级编程之进阶主程》 前言

    Copyright attention

    Please don't reprint without authorize.

  • 微信公众号,文章同步推送,致力于分享一个资深程序员在北上广深拼搏中对世界的理解

    QQ交流群: 777859752 (高级程序书友会)