informationgraphics是什么意思?_以后想做游戏和动漫原画师,如果出国研究生应该读什么专业?


- #问答
  • 1、 informationgraphics是什么意思?

    n.图样;图案;绘图;图像。

    一、读音:英[ˈɡræfɪks];美[ˈɡræfɪks]。

    二、例句:Textandgraphicsarepreparedseparatelyandthencombined.文字和图分别编排后再进行混排。

    三、词汇搭配:computergraphics电脑图形图像;graphicsinterchangeformat图形交换格式;graphicsdebugging图形调试;graphicsresolution图形分辨率;graphicsgenerator图形发生器图形生成程;

  • 2、 以后想做游戏和动漫原画师,如果出国研究生应该读什么专业?

    美国大学里的这类专业比较有影响力。

    建议报考美国大学相关专业。这个专业通常称作ComputerGraphics/Animation,也有学校称作visualartstechnology、graphicdesign等。

  • 3、 我是学国际通商贸易专业的,以后想在游戏开发或者和高科技有关系的公司就业,需要准备什么吗?

    在软件开发中,游戏开发这个方向看起来目标很明确,但其实是个领域很广的方向,入门的时候如果得不到指点一二,很容易误入歧途,相反,如果走这条路之前能得到前人的一些指路,是可以事半功倍的。

    一平台与编程语言选择

    首先,游戏开发的平台就有很多类型:

    个人主机平台:Windows、Linux、MacOC;

    移动平台:iOS、Android、WindowsPhone、BlackBerryOS、Symbian;

    专业主机平台:Xbox、PlayStation、Will等。

    如果你想从事移动平台的游戏开发,Android主流JAVA语言,iOS主流Object-C语言,那么你就要去学习这个平台主流的语言,而在个人主机上主流的游戏开发语言现在包括以后很长时间也还是C++。

    但是并不是所不同平台的游戏开发,就毫无共通之处,学了这个到了另一个平台就无用了。不是这样的,编程的世界里你走得越远你会发现很多东西的本质都是相似的,例如你如果扎实地理解了C++的基本语法(而不是死记硬背),日后再转Java语言也不是很难的事情,因为它们本质的面向对象特性还有各种编程语言特性都是相通的。

    所以,如果你想走得远,在学习的时候不能简单流于表面,对于一样知识越深入到底层,你就越能看到其它知识与其的异曲同工之处,因此你将比别人更轻松。但是,当然一开始最好尽可能是贴合自己的专属领域和编程语言,这样能尽快地在这个领域持有一席之地。

    无论你选择哪个平台,游戏开发这个浩大的工程都离不开游戏引擎,所以这里都有二条路线让你选择:

    只使用游戏引擎;

    使用游戏引擎并深入学习游戏引擎原理。

    线路一:只使用游戏引擎

    对于第一条路线,游戏引擎的使用并不困难,因此适合想快速上手游戏开发工作的人。我们工作大多数时候也不会自己开发游戏引擎,所以这样对于一般的日常工作也没什么大碍。对于只使用游戏引擎的人来说,入门阶段要做的就是看该引擎的教程(书籍、视频、网上博客、网上教程、官方帮助文档等),并且熟练该教程所使用的编程语言。

    所以你要做的第一件事,就是去了解现在流行的游戏引擎。因为不同平台下的性能不同,支持的编程语言也不尽相同,所以针对不同平台下的流行的游戏引擎也是不同的(方括号里面是特别推荐的,基于开源性、易用性、性能与效果等方面的综合水平推荐):

    windows或游戏主机:【Unreal】、寒霜、CE3

    苹果ios:【unity3D】、【cocos2d-ObjC】、【Unreal】、sparrow、spritekit。

    安卓:【unity3d】、【cocos2d-x】、【Unreal】、AndEngine、libgdx。

    网页:【Egret】、【cocos2d-html5】、Fancy3D、unity3d。

    在选择游戏引擎的时候,尽可能选用流行的游戏引擎,因为这个游戏引擎流行意味着官方的功能比较完善和易用,问答社区也比较多人解疑。各个游戏引擎也各有千秋,Unity3d胜在简单易用,对性能要求不高,但是效果不够华丽,因而一般用在移动平台而不会用在电脑或游戏主机。Unreal胜在开源免费,而且效果也很出色,但是对设备要求比较高,因而常常用来开发效果绚丽的大型游戏。cocos2d-x也是开源免费的,在2D领域深有造诣,但是缺点是不可视化开发。另外,如果你想了解游戏引擎原理,那么首要考虑的就是开源的游戏引擎。

    不同游戏引擎使用的编程语言或者脚本语言可能是不一样的,所以当你想要学习某个游戏引擎的时候,也应该留意该游戏引擎所使用的语言。大部分情况是,Windows用的的是C++,同时结合lua或python脚本语言。而ios平台下使用Objective-C或swift,安卓平台下使用Java。但这不是必然的,例如Unity在各个平台下都可以用C#或者javascript脚本语言。

    下面是商业上流行的游戏引擎详细比较:

    1)Unreal4(虚幻4)

    适用平台:MicrosoftWindows、MacOSX、iOS、Android、虚拟现实设备(包括但不限于SteamVR/HTCVive、Morpheus、OculusRift及GearVR)、Linux、SteamOS及HTML5平台。

    编程语言:C++或无需编写代码。

    优点:开源免费,画面效果出色,已有多款商业大作经验。同时,它还能跨平台,商店资源丰富,提供了无需编写代码即可制作游戏的强大功能(可视化开发)。

    缺点:开发机器配置要求较高。

    2)Unity3D

    适用平台:iOS、Android、Windowsphone8、Tizen、MicrosoftWindows、WindowsStore应用程序、Mac、Linux/SteamOS、网络播放器、WebGL、PlayStation3、PlayStation4、PlayStationVita版、XboxOne、Xbox360、WiiU、AndroidTV、SamsungSMARTTV、OculusRift、GearVR、MicrosoftHololens、PlaystationVR。

    编程语言:C#、javascript、Boo。

    优点:方便易用,中文资料丰富,跨平台,商店资源丰富,可视化开发。

    缺点:画面效果一般,不是免费开源,引擎效率比较低。

    3)Cocos2d系列(包Cocos2d-x、Cocos2d-ObjC、Cocos2d-html5、Cocos2d-xna等)

    适用平台:MicrosoftWindows、OSX、Linux、iOS、Android、Tizen、Linux、MacOSX、HTML5浏览器、WindowsPhone7&8、Xbox360。

    编程语言:Python、Objective-C、C++、Lua、JavaScript、Swift、JavaScript、C#。

    优点:开源免费,跨平台,中文资料丰富,2D技术丰富且成熟。

    缺点:不可视化开发,3D方面技术不成熟。

    4)CryEngine3

    适用平台:MicrosoftWindows、OSX、Linux、PlayStation3、PlayStation4、WiiU、Xbox360、XboxOne、iOS、Android。

    编程语言:C++、Lua。

    优点:画面效果世界一流,可视化开发,跨平台。

    缺点:开发机器配置要求较高,不是免费开源。

    5)Frostbite3(寒霜3)

    适用平台:MicrosoftWindows、PlayStation3、PlayStation4、Xbox360、XboxOne。

    编程语言:C++。

    优点:画面效果出色,可视化开发,跨平台。

    缺点:开发机器配置要求较高,不是免费开源。

    6)Egret(白鹭)

    适用平台:HTML5、iOS、Android、WindowsPhone。

    编程语言:TypeScript、JavaScript。

    优点:免费开源,配套工具多,全中文文档,可视化开发,跨平台。

    缺点:支持平台较少,大多数时候用于开发对性能和效率要求不高的小游戏。

    但是使用游戏引擎毕竟是停留在表面看不到本质,当游戏开发的时候出现了某些问题或者特殊需求,你往往很难处理。而且游戏引擎技术日新月异,你所学的几乎都是别人留下来的方法,而不是其本质思想。如果将来别的游戏引擎兴起,你又要重新学习另外的游戏引擎怎么使用。在很多大公司里面,甚至都有自己公司内部专用的引擎(如网易公司的风魂引擎、金山公司的剑网3引擎、蜗牛公司的Flexi引擎等等)。所以单纯地走这条路线,可能不会让你走得很远并且可能会日渐乏味。

    线路二:使用游戏引擎并深入了解游戏引擎原理

    对于第二条路线,深入学习游戏引擎原理短时间不会让你的工作有什么卓越的成效,但是可以弥补只使用游戏引擎导致的问题,而且学习游戏引擎原理,更多时候不是一定就为了自己日后要造个游戏引擎,而是更深入理解自己的游戏引擎,更好地使用它。当然,千里之行始于足下,经常学习游戏引擎底层原理的人到了一定的积累的时候,自己造个游戏引擎也是可以的。

    对于像学习游戏引擎原理的人来说,需要制定自己明确的长期目标:

    1)首先,一开始可能对游戏引擎没什么概念,建议先使用一两个游戏引擎(我推荐C++程序员学习虚幻4游戏引擎,现在是免费开源的,非常值得学习。那些不开源的游戏引擎尽量不要去学习,因为其对于学习原理来说没有多大贡献)。

    2)因为游戏开发就是一门实时渲染的艺术,所以离不开图形库的学习。现在主流的图形库是Windows平台专用的DirectX11和通用平台的Opengl。这两个图形库,至少需要入门其中一个。

    3)然后,你就可以开始看计算机图形学的书籍了。如果你发现你的理论底子不足,这个时候就需要补一下线性代数、基本的微积分、还有3D数学的知识。

    4)游戏引擎中包含了各个部分,上面的渲染只是游戏引擎的一部分。还有其它诸如着色器编写、地形编写、物理引擎编写、模型和动画、人工智能体设计、网络编程等等,完成渲染部分的基本学习后,你可以选择自己感兴趣的部分进行专攻,毕竟我们实际工作大多数时候是团队开发,而不是单打独斗,每个人都应该精通自己所擅长的那部分。

    这里为了文章的紧凑性,我将游戏引擎的基础理论知识和各个引擎组件的推荐书籍放到了文章的附录处。

    下表是基础理论知识和游戏引擎组件书籍推荐(不必全看,请有选择地阅读):

    1)数学基础

    下面这些数学基础书籍是为游戏开发量身定制的,比专门看某一数学方向更有效率:

    《3DMathPrimerforGraphicsandGameDevelopment》,有中文版

    《Mathematicsfor3DGameProgrammingandComputerGraphics》

    《EssentialMathematicsGuide》

    《GeometricToolsforComputerGraphics》

    2)图形库

    针对DirectX的书籍:

    《Introductionto3DGameProgrammingwithDirectX11》,大名鼎鼎的龙书,入门必看的

    《PracticalRenderingandComputationwithDirect3D11》,进阶

    《Real-Time3DRenderingwithDirectXandHLSL》

    针对OpengGL的书籍:

    《OpenGLSuperBible》,著名的蓝宝书,以例子为主,有中文版。但不建议看中文版,翻译得不好。

    《OpenGLProgrammingGuide》,著名的红宝书,有中文版。红宝书更像是手册,API大全,例子较少,适合熟练者查询使用。

    《OpenGL4.0ShadingLanguageCookbook》,进阶,基本上就是API手册,有中文版。但不建议看中文版,翻译得不好。

    3)计算机图形学

    《TheNatureofCode》,有中文版,比较简单

    《FundamentalsofComputerGraphics》,被国外多所大学采用的入门教材,介绍范围比较广,从基本的相关数学到建模、渲染、动画、应用方面都有提及

    《PhysicallyBasedRendering》,主要是离线渲染

    《Real-Time-Rendering》,必读经典!必读!

    《计算机图形学》,作者舍利

    《ComputerGraphics》,要看最新的第三版

    《计算机图形学原理及实践:C语言描述》

    4)Shader着色器

    《Cg_tutorial》,入门

    《TheCompleteEffectandHLSLGuide》,入门

    《ShadersforGameProgrammersandArtists》,含有大量入门例子

    《AdvancedLightingAndMaterialsWithShaders》,介绍光照模型和技术

    《GPUGems》进阶必读。

    《ShaderX》系列,每年出版一本,包含最新的实时渲染技术。论文性的比较多,偏难。

    《ProgrammingVertex,Geometry,andPixelShaders》,以DirectX10为主,很详细。

    5)地形

    《RealTime3DTerrainEnginesUsingC++AndDX9》非常全面的讨论了关于地形渲染的各种技术。

    6)模型导入和动画

    《CharacterAnimationWithDirect3D》包含了最新的游戏动画技术

    《ComputerAnimation》

    《Real-TimeCameras》

    《ComputerFacialAnimation》

    《Realtime3DCharacterAnimationwithVisualC++》

    《AdvancedAnimationandRenderingTechniques》

    《ClothModelingandAnimation》

    7)网络

    《TCP/IP详解卷2》

    《NetworkProgrammingforMicrosoftWindows》

    《AdvancedProgrammingintheUNIXEnvironment》

    《Windows核心编程》

    《MultithreadingapplicationsinWin32》

    《网络游戏核心技术与实战》

    8)物理

    《GamePhysics》

    《GamePhysicsEngineDevelopment》

    《Real-timeCollisionDetection》,碰撞检测方面最好的书

    《3DGameEngineDesign,2nd》第8、9章值得一看

    9)细节层次

    《LevelofDetailfor3DGraphics》

    10)光线跟踪

    《Physical-BasedRendering-FromTheorytoImplementation》

    《AnotherIntroductiontoRayTracing》

    11)人工智能

    《ProgrammingGameAIbyExample》有中文版

    《ArtificialIntelligenceforGames》

    《AIProgrammingWisdom》

    《AIGameEngineProgramming》

    12)综合

    《GameProgrammingGems》,文章的范围比较广,选择性阅读

    《ColorandLightinNature》

    《DigitalDesignofNature》

    《Form+CodeinDesign,Art,andArchitecture》

    一下这张图片非原创,出自:作者星铃丹,授权发布,转载请注明出处。写的非常详细,拿出来和大家分享下!


Related Content: