3D游戏开发

供稿:hz-xin.com     日期:2024-05-04
什么是3D网络游戏开发

这方面关系到的知识比较多. 建议你先搜索一下学游戏开发先学什么.网上有很多 大师的 文章. 当然如果你已经是老手了,那就不必在看了.

这里我说些基本的.
首先你先学会编程语言, 可能你会被 这样的 那样的语言所迷惑,比如 JAVA C C++ 等等. 但是你不用忧郁. 从C 语言开始. 虽然有很多人认为 用C++ 开发游戏比较适合.但是 这只是 片面之谈. 况且学C++ 你必须先学C.

游戏先从2D 的开始.再学 3D

千万不可急, 这里有入门的书.
WINDOWS 游戏开发大师技巧, 入门经典大作, 让你自己编写出2D游戏引擎.
只要你熟悉了,你可以用这个引擎开发出各种2D的游戏. 书中主要用到C 语言.
图形程序包 用的是 DX ,我保证,只要你看了本书,你就会疯狂喜欢上.
当你熟练掌握了以上书的话,不要急, 你就开始把 2D 的引擎 升华到3D 了.
上面的书的续作, 是讲3D 的,同样是经典大作. 这时候再看,你才能看懂.

这时候你也可以看一些专门为游戏开发写的3D 数学知识的书.
游戏开发智能 的书.

D难在素材和算法。
比如说isometric对大物体的遮挡关系处理等,3D有了zbuffer,处理起来很简单,2D算法虽然速度比3D快,但因为缺少一个维度的数据,不存在完美的算法,所以处理起来比较复杂。
即便是纯2D,素材也是一个问题。因为手绘2D素材需要美术功力,成本比3D要高得多。虽然可以从3D生成2D, 但是可能达不到2D素材的质量。不过因为没有硬件上的限制,渲染速度快,2D图形可以做得看起来比3D的更为精美。
如果是引擎上的比较,一般只同2D和3D引擎做得是否易用有关,同2D/3D无关。

它用的编程语言是C++. 如果是要做出比较正规的3D游戏.还需要会应用很多软件 一款3D游戏需要这几个大致的步骤. 首先你需要有个企划案...就是大致什么样的游戏.内容等等 然后需要进行游戏的2D和3D美术 又需要会Maya.3DS-Max等美术软件做效果. 你还要需要懂游戏程式语言,C语言,JAVA等等....设置引擎. "引擎"是程序员把游戏的渲染方式,模型数量骨骼绑定等等统一编程而做出来的一套程序,因为"引擎"本身就是相当与一套软件了 做游戏要设定面数,渲染量等等,一套引擎直接把规格设定好了 3D就是三维立体的意思,在现实生活中我们看见的东西都有长、宽、高,这三个量就叫做三维,如果能看到一个物体的长宽高,这个物体就是立体的。一般的画都是二维的,也就是说只有其中两个量,可能只有长与宽,可能只有长与高,也可能只有及宽与高。比如一些画中的人,我们能看见他的身高,身宽,但是看不到他的厚度,就是人的肚皮到背脊的距离,这样这个人就没有立体感了。现在许多的网络游戏都是2D的,没有很逼真的如身临其境的感觉,还有电影也是2D的。现在3D网络游戏兴起了,《魔兽世界》就是一个很好的3D游戏,3D电影也兴起了,给人身临其境的感觉。所以,无论是3D画,3D动漫,3D游戏,3D电影都比2D更胜一筹,但制作起来也比2D困难。 引擎3是一个面向下一代游戏机和DirectX 9个人电脑的完整的游戏开发平台,提供了游戏开发者需要的大量的核心技术、数据生成工具和基础支持。 虚幻引擎3的设计目的非常明确,每一个方面都具有比较高的易用性,尤其侧重于数据生成和程序编写的方面,这样的话,美工只需要程序员的很少量的协助,就能够尽可能多地开发游戏的数据资源,并且这个过程是在完全的可视化环境中完成的,实际操作非常便利; 与此同时,虚幻引擎3还能够为程序员提供一个具有先进功能的,并且具有可扩展性的应用程序框架(Framework),这个框架可以用于建立、测试和发布各种类型的游戏。 ◎ 64位色高精度动态渲染管道。 Gamma校正和线性颜色空间渲染器提供了完美的颜色精度,同时支持了各种后期特效例如光晕,镜头光环和景深等效果。 在最新的一代显示芯片发布的过程中,我们注意到了一个非常明显的特点,就是新一代的显示芯片已经不再满足于传统的32位色深,转而需要更加高精度的颜色范围,这一点在NV40和R420身上都能非常明显的看出来。在NV40上,这种技术被称为HPDR技术,而在R420身上,这种技术也有所体现。 ◎ 支持当前所有的基于像素的光照和渲染技术,包括使用法线贴图技术的参数化的Phong光照;虚拟位移贴图;光线衰减函数;采用预计算的阴影遮罩技术以及使用球形harmonic贴图的预计算的凹凸自阴影 ◎ 高级的动态阴影。 虚幻引擎3提供对下列3种阴影技术的完全支持: · 采用动态模板缓冲的阴影体积技术,能够完整支持动态光源,这样就能在场景中所有物体上精确地投射阴影。 · 能够让动态的角色在场景中投射出动态的、柔和的模糊阴影,这个过程是通过使用16X超级取样的阴影缓冲实现的 · 采用了拥有极高质量和极高性能的预先计算出的阴影遮罩,从而可以将静态光源的交互现象离线处理,同时保留了完整的动态高光和反射效果。 ◎ 所有支持的阴影技术都是可视化的,并且可以按照美工的意愿自由混合。另外,同时可以与有颜色的衰减函数结合,从而实现具有合适阴影的平行光、聚光灯效果,以及投射光效果 角色能够在虚幻引擎3中使用阴影技术产生动态的软阴影 ◎ 强大的材质系统,使得美工可以在实时图形化界面中建立任意复杂的实时Shader,而这个界面的友好度可与Maya的非实时Shader图形编辑界面媲美 ◎ 材质框架是模块化的,所以程序员不仅可以加入新的Shader程序,还可以加入能够让美工随意与其他组件连接的Shader组件,从而可以实现Shader代码的动态合成。 ◎ 完全支持室内和室外环境的无缝连接,在任何地方都支持的动态每象素光照和阴影。 ◎ 美工可以通过一个可动态变形的基本高度图来建立地形,并使用多层混合材质,这其中包括位移贴图,法线贴图和任意复杂的材质,动态的基于LOD的细分,以及植被。 另外,地形系统还支持美工控制的自然效果,如平地上的植被,陡坡上的岩石和山顶上的雪 ◎ 体积环境效果,包括高度雾和物理上精确的距离雾 ◎ 刚体物理系统,支持游戏者和游戏中的物体,布娃娃角色动画以及复杂碰撞等物体交互方式。 布娃娃(Ragdoll)系统,是目前最为流行的一种非常高级的物理引擎,能够付给物体以一定的质量,形状等特性,从而获得非常逼真的力学动态效果。Half Life 2、Pain Killer等著名游戏均采用了这个物理引擎。 ◎ 所有可渲染的材质都含有物理特性,例如摩擦系数等参数。 在虚幻引擎3提供的编辑工具UnrealEd中,能够对物体的属性进行实时修改 ◎ 符合物理原理的声音效果 ◎ 完全整合的基于物理原理的交通工具支持,包括游戏者控制,人工智能和网络 ◎ UnrealEd内建的可视化物理建模工具,支持对于模型和骨骼动画网格的用于优化碰撞检测的图元的建立;约束编辑;在编辑器内可交互的物理模拟和调整 ● 动画系统 ◎ 骨骼动画系统;支持每顶点可达4骨骼同时影响的效果以及复杂的骨骼结构。 ◎ 动画由一棵动画物体树驱动,包括: · 混合控制器,进行对嵌套的动画物体之间的多路混合。 · 数据驱动的控制器,封装动作捕捉或手动制作的动画数据。 · 物理控制器,连接到刚体动态引擎,用来实现布娃娃系统的游戏者和NPC动画和对力的物理响应。 · 过程动画控制器,以C++或UnrealScript实现,为了实现一些如使一个NPC的头部和眼睛跟踪一个在关卡中行走的游戏者,或使一个角色根据健康情况和疲劳度作出不同动作等特性。 ◎ 为3D Studio Max和Maya制作的导出工具,用于向引擎中导出赋予蒙皮权重的网格,骨骼和动画序列。

● 游戏框架以及人工智能 ◎ 提供了一个支持普通游戏对象(如游戏者,NPC,物品,武器和触发器)的面向对象的游戏框架。 ◎ 丰富的多级别AI系统,支持寻路、复杂关卡游历、单独决策和组队AI · 对如触发器,门和升降机等普通游戏对象敏感的寻路框架,允许复杂的游历设定,使得NPC可以按下开关,打开门,并绕过障碍物。 · 游历框架带有短期战术战斗、掩护和撤退的路线网。 · 基于小队的AI框架,适合第一人称射击、第三人称射击和战术战斗游戏。 ◎ AI路径在UnrealEd中可见并可由关卡编辑者编辑,允许自定义和提示 ◎可见的AI脚本工具,使设计者可以创建复杂的交互性游戏设定,例如游戏者目标,通用的游戏事件触发器和交互式过场动画 ◎ UnrealMatinee,一个基于时间线的可视化序列、动画和曲线路径工具。设计者可以使用此工具建立游戏中的过场动画,可以是交互的或非交互的,通过动画序列化、移动包括摄像机在内的对象,控制声音和视觉特效,并触发游戏和AI事件。 UnrealEd中的“Matinee”工具,能够编辑基于时间轴的事件序列 ◎ 支持各种平台的输出格式,包含5.1环绕立体声和高品质杜比数码音效。 ◎ 3维声源位置设置,多普勒效应。 多普勒效应:是指当发声物体在运动时,声音的音调会随着物体移动速度而改变其高低——声音频率的变化,这个原理也被运用在声卡3D发声原理之中。 ◎ 在UnrealEd中的可视化音效工具可以为声音设计者提供对音效的全面的控制,声音强度,顺序,循环,过滤,调制,变调和随机化。声音参数被从代码中分离开,使设计者可以控制所有的与游戏、过场动画和动画序列相关的声音。 ◎ 支持所有平台的主要声音格式,包括PCM,ADPCM,游戏机对应的声音压缩格式和Ogg Vorbis。 ◎ 支持游戏机上的声音流。 ◎ Internet和局域网游戏已经成为Epic的竞赛游戏如Unreal Tournament 2004的一大特征。虚幻引擎长时间以来一直提供灵活的高级网络架构,适合于各种类型的游戏。 ◎ Internet和局域网游戏在PC和所有游戏机平台上都被完全支持 Unreal Tournament 2004的游戏中带的服务器浏览器 ◎ 虚幻引擎的网络游戏部分编程是高层的和数据驱动的,允许由Unreal脚本代码指定在客户端和服务器之间联系的变量和函数,来保留一个同步的对游戏状态的近似。底层游戏网络传输是基于UDP的并能够将可靠和不可靠传输方式结合,来对游戏感进行优化,即使在低带宽和高延迟的环境下。 ◎ 客户端-服务器模式下最多支持64个游戏者同时游戏。同时支持非服务器模式(点对点模式)下的16游戏者同时游戏。 ◎ 支持不同平台间的网络互连(例如PC服务器和游戏机客户端;Windows, MacOS和Linux客户端共同进行游戏)。 ◎ 所有游戏特性在网络游戏模式下都被支持,包括基于交通工具的多人游戏,带有NPC和机器人的组队竞技,单人模式下的协同游戏等等。支持自动下载,包括跨平台的一致的Unreal脚本代码。这项特性使得从用户自己创建的地图到奖励包,到完整的游戏mod都可以随意获得。 ◎ 提供了一个"主服务器"组件来跟踪世界范围内的服务器,提供给游戏者过滤的服务器列表,等等。世界范围内的游戏统计跟踪系统 ◎ 请注意我们不会提供一个适合大量玩家在线网络游戏的服务器或网络框架。尽管这项工作是一个需要多人多年工作的工程,仍然有很多小队已经使用Unreal引擎做了这件事(包括NCSoft的《天堂2》和EA的《创世纪X》),这表明了使用Unreal引擎作为MMORPG游戏客户端和工具的可能性。

● UnrealEd内容创建工具 ◎ Uneral编辑器(UnrealEd)是一个纯粹的"所见即所得"的数据生成工具,用来填充3D Studio Max, Maya和可发行游戏之间的空隙。 ◎ 对游戏对象如游戏者,NPC,物品,AI路点和光源的可视化放置与编辑-带有完全的实时预览,包括100%的动态阴影。包含一个数据驱动的编辑框架,允许关卡设计者容易地自定义任何游戏对象,以及允许程序员通过脚本向设计者能够使用新的可自定义的属性。 可视化的材质浏览器,并能提供搜索和管理的功能 ◎ 美工可以通过实时地形编辑工具来提高地面,向地面绘制Alpha层来控制各层的混合并组装各层,碰撞检测数据和位移贴图 ◎ 可视化材质编辑器。通过可视化的连接颜色、alpha和贴图坐标系统和程序员定义的材质组件,美工可以建立从简单的多层混合材质到极为复杂的材质,并且这些材质可以动态地与场景中的光源交互 ◎ 一个强大的浏览框架,可以用来寻找、预览和组织各种类型的游戏资源 ◎ 美工可以使用动画工具来引入模型、骨骼和动画,并将它们连接到游戏中的事件如声音和脚本事件。 可视化的材质编辑器让美工能够轻易的创建能够在Shader程序中应用的素材 ◎ 在编辑器中的"Play Here"按钮使得在编辑器中只要点击一下鼠标即可进行游戏。这样,你可以在编辑器中一边测试游戏,一边进行编辑。 ◎ 每份Unreal引擎授权都包含了重新组合分配UnrealEd的权利,使得游戏制作组可以将他们的数据创建工具与游戏一起发布给mod制作团体。Mod提供者已经成为当今很多卓越的PC游戏成功的一个重要因素,而且我们可以预见在将来,对基于PC的mod开发的支持也可能成为游戏机游戏的重要因素。 ◎ 我们提供了3D Studio Max和Maya来将模型带到虚幻引擎中,带有网格拓扑信息,贴图坐标,平滑组,材质名称,骨骼结构和骨骼动画数据。 可视化的地形编辑器能够实时体现出地形的变化 ◎ 所有您所希望从一个现代数据编辑工具中得到的东西:多层撤销/重复功能,托拽,拷贝粘贴,自定义快捷键和颜色配置,视图管理。 在虚幻引擎3中我们的大多数角色都是由两个网格模型建立的:一个具有几千多边形的实时网格,和一个数百万多边形的细节网格。我们提供了一个分布式计算的程序,对细节网格进行光线跟踪,并且从高多边形几何结构生成一张法线贴图,在游戏中赋予实时网格。结果是在游戏中的网格带有高多边形网格的所有光影细节信息,但是仍然可以十分容易的实时渲染。 使用法线贴图实现的超过1亿个三角形效果,实际上只有50万个三角形 虚幻引擎3包含了例程部分和100%的源代码,包括引擎本身、编辑器、Max/Maya导出插件和所有该公司内部开发的游戏的游戏代码。 ◎ 可扩展的、面向对象的C++引擎,带有用于静态和动态加载代码和资源的软件架构,可移植性,易于调试。 虚幻引擎3提供的脚本编辑器 ◎ Unreal脚本语言提供了对元数据的自动支持;支持十分灵活的文件格式向下兼容性;支持让关卡编辑者使用脚本属性;基于GUI的脚本调试器;对多种重要游戏编程概念的本地语言支持,例如动态有限状态机和基于时间的代码执行。 ◎ 模块化材质组件接口来扩展可视化工具,并且在可视化Shader GUI中加入新的美工可用的Shader组件。 ◎ 源代码控制友好的软件架构,对大型工作组和多平台工程的可扩展性。 ◎ Unreal引擎3被作为一个可以在PC和任何下一代家用游戏主机上编译的统一的代码基础。所有游戏组件和数据文件都可以在各种平台上兼容,为了PC上代码和资源的快速周转,和家用机和PC上的游戏测试。 ◎ 针对家用游戏机的可自由寻址的DVD读取优化过程,能够用大于80%的DVD物理传输率上读取关卡。 虚幻引擎3还可以方便的支持多种语言 ◎ 虚幻引擎3数据资源和代码是可地方化的,能够通过一个简单的框架来扩展游戏中全部的文字、声音、图像和视频。虚幻引擎3是基于Unicode字符级的,并且完全支持16位Unicode字体和文字输入,包括引入TrueType字体到可渲染的位图字体。我们的游戏已经使用9种语言发布,包括中文、日文和韩文。 注重细节,其他特殊规格一览 这里是一些我们在建立下一个基于虚幻引擎3游戏的指导方针。不同类型的游戏将会有十分不同的游戏者数目,场景大小和表现。所以这些规范只能作为对一个项目而不是对所有项目的指导。 ● 角色 对于每个主要角色和静态网格资源,我们建立两个版本的网格模型:一个可选然的带有唯一UV坐标的网格模型,和一个只带有几何信息的细节网格模型我们通过虚幻引擎3来处理这两个模型,基于细节模型的所有几何信息来为可渲染模型生成一个高分辨率的法线贴图。 可渲染模型:我们在建立可渲染模型时使用3000到12000个三角形,在场景中同时可见的角色有5到20个左右。 ◎ 细节网格:我们使用一百万到八百万三角形来为标准的角色建立细节网格模型。这对于为每个角色建立一到两个2048乘2048大小的法线贴图已经足够了。 ◎ 骨骼:我们的每个标准角色都有100到200块骨头,包括了有关节的脸部、手部和手指。 ● 法线贴图和材质贴图 我们在建立大部分角色和场景的普通贴图和法线贴图时都使用2048乘2048分辨率的贴图。我们感觉这是一个对于2006年左右的运行于中档PC上的游戏来说的一个十分合理的目标。下一代的游戏主机可能需要将贴图大小减少2倍,而低端PC则需要减少4倍,取决于贴图数量和场景复杂度。 ● 环境 典型的场景环境包括1000到5000可渲染的对象,包括静态网格和具有骨骼的网格。对于当前3D加速卡的合理性能,我们打算将在任何场景中出现的可视物体数量保持在300到1000左右。我们的典型的更大的场景中最多有20万到120万的可见三角形。 ● 光照 没有对光源数量的硬编码限制,但是为了性能考虑,我们试图将大范围的光源数量限制到2到5个,因为每个光源/物体的交互都是基于引擎中比较耗时的高精度每象素光照和阴影渲染管道。用于高光和细节光照的小范围的光源明显的要比影响整个场景的大范围光省时。 游戏这类非常特殊的软件在人们的实际工作中并不能够创造任何实际的价值,但是却能够让人们在使用电脑的过程中得到放松。一个游戏能否给消费者带来尽可能完美的感官上的享受就成为了一个游戏能否获得成功的最基本的因素。 而对于游戏中最为流行的3D游戏来讲,开发的难度随着游戏容量不断攀升,如何能够迅速的开发出一个个高质量的游戏就成了关键,采用游戏引擎和游戏内容分离的方式自然是目前最好的一种解决方案。 于是作为游戏中的灵魂,游戏引擎的成功与否将决定一系列游戏的最终效果。今天我们介绍了目前最为先进的游戏引擎之一虚幻引擎的最新版本,让大家对游戏引擎有了一定的概念上的理解,也知道了在一个游戏幕后的一些事情。 总的来说,虚幻引擎3的确是一个非常先进的引擎,它提供的功能非常先进,几乎融合了目前顶级显卡中提供的所有功能,在这样的技术背景下,这款引擎带来了非常绚丽的效果,其演示的画面已经足以震憾每一位观众了。

纯搬运。。。你看看就行。。。

开发3D游戏所要使用的东西主要有:

1、模型;3D游戏使用的模型大多是用3D Max、Maya设计的。

2、纹理贴图;有了模型并不能完美的表现出物体、人物的形态、面貌,还必须为这些模型加上蒙皮(也就是纹理)才能更好的表现细节、增强真实感。纹理贴图通常使用的工具是PS。(其实任何绘图工具都能使用,只不过PS功能丰富)

3、游戏剧本;这个就是游戏的内容,一般是使用某种脚本语言来设计(比如:Python)。

4、游戏引擎。这个是游戏的关键,所有的游戏视觉效果都是通过它展现的。前面提到的模型和贴图也是为引擎准备的。可以说,引擎的好坏决定游戏的表现力。游戏引擎就是你所说的“后台代码”(通常不会这么说,你的说法估计是借鉴网页开发的吧:-)),一般使用C++开发,其实任何语言都可开发,只是我们通常会选择速度快、效率高的语言来设计,因为,游戏程序是很讲求速度的:-)

引擎可以自己开发,也可以使用第三方现成的,这取决于你自己。

怎么自己开发游戏软件?
答:1、游戏开发首先的选一种编程语言,一般采用实时性较强的C/C++,譬如基于WINDOWS经常用VC++2、其次,2d D游戏编程,一般选一种开发工具包,或SDK,目前国内外应用较多的是:DIRECTXSDK,或OPENGLSDK3、最好多了解一点三维建模...

游戏开发需要具备哪些技术
答:游戏开发需要具备的技术如下:1、需要掌握常用的编程语言,包括C++、javascript等,手机开发使用的开发语言是C++,3D游戏开发使用的编程语言一般要使用c#或者javascript。2、掌握开发引擎,游戏开发经常用到的游戏开发引擎有unity3D...

学游戏开发都学什么软件?
答:学游戏开发需要学的软件有unity3D、CryEngine等。学习游戏开发,推荐翼狐网,站内课程数量多,60+款软件,10000+高质量原创课程+配套学习用工程文件,值得信赖。【进入官网,立即领取¥600 新人专属大礼包 0元体验VIP特权】 ...

游戏开发是学什么?
答:主要学的内容如下:1.游戏程序设计:C++程序设计入门;基本数据类型和输入输出;流程控制语句;数组、指针和引用、函数;程序结构和书写规;范结构体和联合体、类;继承与多态;异常处理与程序调试。2.算法与数据结构:算法分...

游戏开发主要需要什么软件?
答:游戏开发主要需要的软件有UE4/UE5(虚幻引擎),学习游戏开发软件推荐翼狐网,课程内容涵盖软件入门-进阶学习-商业实战案例,性价比高,低成本学习,价格比线下培训要低非常多,灵活按需学习。【进入官网,立即领取¥600 新人专属...

游戏开发要学什么
答:一个游戏问世要经历很多环节,剧本设计,原画创作,场景建模,但核心部分还是编程语言开发,我有全套游戏开发视频课程可以发给你自学。主要学的内容如下:1.游戏程序设计:C++程序设计入门;基本数据类型和输入输出;流程控制语句...

学游戏开发用哪个软件最好?
答:\x0d\x0a游戏开发的常用软件有C++、DirectX、Box2D、Cocos2d-x、Unity,不能说哪款最好用,因为这是游戏开发过程中都要用到的软件,必须都精通。\x0d\x0aC++是在C语言的基础上开发的一种通用编程语言,应用广泛。\...

怎么制作游戏
答:1、通过参考不同的游戏,写出想要制作的游戏的剧情和脚本。游戏的种类有多种,根据自己喜欢的游戏种类,通过参考不同的游戏,写出要制作游戏的剧情。2、根据游戏的剧情和脚本,使用手绘软件绘制游戏人物的图形和背景。3、通过...

我想成为游戏开发程序员,要学些什么?
答:5.人工智能和游戏逻辑开发,这部分日本和欧美的游戏开发模式也有很大不同,在欧美游戏公司中运用脚本语言开发很普遍,所以这部分程序开发主要是用脚本语言编写,而且脚本程序和游戏程序的耦合性很低,有单独的编辑、编译和调试环境,这样比较利于...

游戏开发属于IT方面哪个专业?
答:1、游戏设计与开发属于动漫设计与制作专业下的一个方向,\x0d\x0a2、主修课程:Photoshop软件操作、3Dmax软件基础、3Dmax高级模型、3Dmax材质与贴图、AO贴图、3Dmax高级动画、Vray渲染、After\x0d\x0aEffects影视后期合成、...