[Unity3D] unity3d:Unity3d客户端开发,要深入学习,更需要先从哪方面入手?

时间:2022-12-26 00:02:04
本人做了快一年U3D客户端开发。目前总觉得遇到了瓶颈,不知道该从哪个方面提升自己能力。望各位大牛指点一二。



1、深入研究C#,包括CLR之类

2、学习图形开发,Opengl和Directx,还有shader等

3、提高数学能力,空间几何、线性代数之类

4、提高程序开发能力,设计模式、算法等

5、学习网络编程,转服务器开发,并学习其他语言

6、学习3D建模、绘画、UI设计、游戏策划,提高独立开发能力



以上是我能想到的几个方面。我知道每个方面都重要,深入研究都可以有造诣。可是这些方面我都只是略知皮毛,似乎开发个产品也可以,却不能做到随心所欲的使用。而我现在又没有太多业余时间,所以想有个学习计划,对我目前的工作内容,哪些最需要先学习,哪些可以以后慢慢研究。再次希望各位有经验的人士能够指点一二,谢谢。
 
   
[Unity3D] unity3d:Unity3d客户端开发,要深入学习,更需要先从哪方面入手?

14

主题

273

帖子

1923

积分

超级版主

[Unity3D] unity3d:Unity3d客户端开发,要深入学习,更需要先从哪方面入手?[Unity3D] unity3d:Unity3d客户端开发,要深入学习,更需要先从哪方面入手?

积分
1923
沙发
[Unity3D] unity3d:Unity3d客户端开发,要深入学习,更需要先从哪方面入手?  发表于 2014-6-27 16:22:29  |  只看该作者
@梁伟国 说的很好,但我觉得2,3条也不是没必要的,特别是做3D游戏。我现在就在专门研究Cg和图形学的东西。自己在工作之余还折腾出了几个插件 ,放在Unity商店里卖着玩,每个月还能搞个上百美刀。


Asset Store



从题主的问题中可以看出题主的一点迷茫,就像一年前的我,我也就比你多一年Unity经验。从一个打工者的角度来跟你探讨一下,也跟大家都探讨一下,不光探讨Unity技术,也探讨一下以后的方向。这里说一下我自己对这个行业的思考。



现在Unity流行了,只要会写几行C#代码的人都能进个游戏公司写点逻辑,但真正精通的人不多。我当初C#都没学过,只会Java,都进了个小游戏公司,花了个把月的时间就参与开发了,当然也就是搞点优化,改改BUG,写点逻辑之类。现在越来越多的人用Unity了,我甚至可以预料,未来的几年内Unity会更加流行,说不定会到处是培训机构。到时候会有一大波人涌入这个行业,就像现在的Java开发SSH三大框架之类的。




我们面临的问题:Unity入门门槛低,注定以后的Unity从业者会越来越多,竞争会越来越激烈。



我刚毕业的时候待过一个比较大的公司,做银行的信贷系统。那时刚开始学java,自己工作之余也看一下书充电,项目经理却跟我说,技术不重要,重要的是实现。后来我才知道,我当时是做一个工厂流水线工人,码农一个,技术确实不重要。公司巴不得我什么都不懂,只会if else,解决逻辑的问题,发一点微薄的薪水就行了。




于是我明白了,不想做产线工人,首先要脱离当前层次。要做到公司少了你不行! 
这个时候你必须掌握一些门槛高的技术,你才能拔尖。



有些技术是靠经验堆积的,比如整个框架的设计,设计模式的运用。我倒觉得这个能力只要你平时留心,掌握它们只是个时间的问题。

而有些技术,是要去实打实钻研的,不看透几本英文原版书,不逛遍几个论坛,你永远不能get it。
越是难的东西,越能拉开你跟别人的距离。



比如学Cg,很多资料都是英文的,像Cg的官方教程
The Cg Tutorial,还有这个
Cg Programming/Unity,不看这些书,根本入不了门吧。 还有最著名的《Real-Time Rendering》,都是英文的,还需要很多数学知识。像线性代数里的矩阵变换,这些东西虽然大学都有学过,但在这里才真正用上。在开发的过程中遇到问题了,要上网查吧。我跟你打赌,你要是碰到个C#的问题,去*分分钟就能查出来(甚至去百度都能查出来)。但要是你碰到个shader上的问题,可就不好查了。Unity里面很多东西都是没资料查的,你只能去论坛里跟人交流,去看源码,去看UnityCG.cginc,去看AutoLight.cginc。总而言之,就是不好弄啊。等你深入的去研究这些的时候,慢慢的你就发现,好像公司里就你在弄这个,别人都不懂。这个时候你就牛逼了啊。



以后手机的性能越来越好,高品质的3D手游会越来越多,虽然可能现在国内大部分公司做的手游是2D的,但以后一定会有更多的3D手游涌现。
我相信手游拼3D特效的时代马上就要到来了! 所以我感觉学图形学的东西还是比较有前途的。



当然这也跟你自己的爱好有关吧。反正我是觉得,如果以后要跳槽,面试的时候,你拿着一个游戏说,这个游戏框架是你搭的,可能面试的人很难确定,谁知道你这框架搭得好不好。但如果你说这个游戏的所有3D特效和Shader都是你写的,这就一目了然了。
 
 
   
[Unity3D] unity3d:Unity3d客户端开发,要深入学习,更需要先从哪方面入手?

8

主题

266

帖子

1885

积分

超级版主

[Unity3D] unity3d:Unity3d客户端开发,要深入学习,更需要先从哪方面入手?[Unity3D] unity3d:Unity3d客户端开发,要深入学习,更需要先从哪方面入手?

积分
1885
板凳
[Unity3D] unity3d:Unity3d客户端开发,要深入学习,更需要先从哪方面入手?  发表于 2014-6-27 16:22:32  |  只看该作者
谢邀。



前面三条其实没太大必要。现在行业对自研引擎的技术需求不大。而那些数学知识,在真正需要用到时,临阵抱佛脚补补功课就能搞定。



第4条是肯定要深入的,无论是做为客户端还是服务端程序。

第5条网络编程也是必须的,联网是无可争议的趋势。

第6条就看你有没有美术方面的天赋以及想不想走独立开发的路线了。



其实你现在才工作一年多的时间,求知若渴阶段,所谓艺多不压身,任何领域的技术学了都有好处。所以,在不影响本职工作的前提下,你大可遵循自己内心的喜好去学习。不要夹杂太多的功利心。要比以往更加勤奋,把别人泡论坛刷微博的时间用来学习,选择性忽视那些靠投机获得升职涨工资的人。再过一两年,你会站得比其他人更高。
 
 
   
[Unity3D] unity3d:Unity3d客户端开发,要深入学习,更需要先从哪方面入手?

10

主题

265

帖子

1883

积分

超级版主

[Unity3D] unity3d:Unity3d客户端开发,要深入学习,更需要先从哪方面入手?[Unity3D] unity3d:Unity3d客户端开发,要深入学习,更需要先从哪方面入手?

积分
1883
地板
[Unity3D] unity3d:Unity3d客户端开发,要深入学习,更需要先从哪方面入手?  发表于 2014-6-27 16:22:34  |  只看该作者
个人认为前三条是比较重要的

理解机制,明白原理在一定程度上是掌握了一种小众技能,任何行业,发展到最后,核心都是小众的,但是价值也在这一块,只是研究小众技能不是没有门槛的,需要你有更多的基础技能,先把基础的技能先弄好了在说,养家糊口的东西。

上帝让一个东西灭亡,必先让其疯狂。如果想在这一行走的长远,掌握底层核心的技能才是关键啊。很多年前unity没火起来,unreal cryengine还是很高大上的,谁能说能预料到unity的今天呢,同理,很难预测flash的夕阳西下,未雨绸缪吧。

同意 
@kUANG tOBY说的,核心竞争力。

保持一个学习的心总是好的,如果不想一直做没有技术含量的工作,就抓紧学习吧。扔骰子学习也未尝不是个办法,因为探讨这些东西的时间,不如花在学习上。
 
 
   
[Unity3D] unity3d:Unity3d客户端开发,要深入学习,更需要先从哪方面入手?

27

主题

264

帖子

1910

积分

超级版主

[Unity3D] unity3d:Unity3d客户端开发,要深入学习,更需要先从哪方面入手?[Unity3D] unity3d:Unity3d客户端开发,要深入学习,更需要先从哪方面入手?

积分
1910
5#
[Unity3D] unity3d:Unity3d客户端开发,要深入学习,更需要先从哪方面入手?  发表于 2014-6-27 17:03:15  |  只看该作者
这样,拿一个骰子,刚好六个。

1.提高直觉能力,面朝上就选哪个。

2.提高思维空间能力,选面朝下那个,但是要根据面朝上的点数来猜。

3.提高运算能力,多扔几次,求平均数,做概率分析。

4.转行,用骰子帮人算命,或者去澳门赌场。



最后,请思考一下,你的兴趣,你的梦想是什么?