问题
很多新手入门了以后 ,很迷茫不知道从哪个方向学习 ,各种资料漫天飞 , 我就打算给一个参考意见:
两方面
以前做游戏都是 opengl 从底层撸到上层 ,现在发展都是直接用引擎 很容易上手 。而且即见即所得 。 所以掌握一门引擎 这些都是基本技能 。
如果想要深入一些主要从这两方面着手: 1, 算法 2, 架构
算法:
算法 需要一点 数学功底 不过不会太多 ,
1, 首先学习数据结构 有一本书 叫 c# 数据结构
2, 掌握 向量 和 矩阵运算
3, 可以从图形学入手 通过 unity3d shader 编程 掌握基本数学方法和公式运用 。
入门可以参考:
入门了 就可以写更多的算法 写各种特效 。
然后在去看一下 opencv 这个库是专门处理图像的 会涉及更多的算法 。这些算法完全可以搬到 unity3d shader中。
如果opencv 常规算法入门了 后面就可以在看 人工智能 机器学习方面的书籍里面 也可以应用到 unity3d AI 中来。
架构:
1,拥有面对对象编程思想
2,具备面向模块编程思想
3,具备面向框架编程思想
4,面向工具编程思想
首先得慢慢培养自己有面对对象编程的思维 。
这样的思维 就把握好一个 拆字 , 将大问题拆成很多小问题 。小问题 分门别类 。一个大问题一个类。 这样的思维 慢慢强迫自己练下去 。慢慢就有面对对象编程的思维了。
然后在慢慢锻炼自己能够架构一个界面的能力 ,比如一个UI 界面 遵守MVC 思想。能够分清楚 自己写的代码 哪些是MVC , 分割开来 。这个能力有了就慢慢开始写一个 模块 比如 整个UI 模块 改怎么架构 ,怎么样让 团队开发效率高 。 依次类推到 其他模块。
架构一个模块能力有了 就可以往 架构一个游戏上面 去想去做。
最后就是能站在团队的角度去想问题 ,解决问题。能够将美术 ,策划, 程序几方面衔接问题上 提高效率 。这时候 就要去写很多工具 。比如 策划擅长使用excel表 程序没法使用, 就写 excel 转 txt 工具 。
这几方面都到位了 ,恭喜你成为一个大牛了。