unity游戏开发需要代码吗

如题所述

第1个回答  2018-01-18
这个是需要的。untiy 主用 C# 和 javascript 。个人建议你用C#本回答被网友采纳
第2个回答  2018-01-17
当然要
第3个回答  2018-12-04
1.游戏开发基本功:
数学基础:根据你所做内容来决定,一般上层逻辑比较少的去考虑到积分等高数内容。但是如果想搞图形学,矩阵线性代数,高数必须要有一定的功底;
算法:常见的排序,查找需要理解并掌握,进一步常见的还有分治,贪心,动态规划,有时候现学现卖也是可以的。另外,除了这些基本的算法,在游戏领域还是有很多其他领域不太常用的算法,比如八叉树查找,碰撞检测,A*。还有一些很特殊的情况需要开发者自己去寻找合适的算法。
C++:基本语法,代理,命名空间,const,继承,内存结构,虚表,引用,断言,宏定义等
数据结构:首先是掌握链表,数组,队列,堆,栈,图,树等数据结构,然后是各种排序,查找,遍历等算法。这些掌握了以后可以很快的熟悉stl或者类似的基本库原,用的时候可以更准确的选择合适的数据结构
设计模式:一般来说,我们需要设计模式来快速的搭建游戏逻辑框架,比如前面提到的各种逻辑系统。而且还需要通过设计模式来理解引擎各个模块的设计思路。当然,如果你想设计游戏引擎,那更不能少了设计模式了。
对引擎各个模块由一定深入的理解:这个不用多说,看一遍游戏引擎架构吧,不理解写出的代码经常会出现各种问题(比如同步问题),编辑器各种功能也用不好。
内存管理:可能很多引擎或者语言已经尽可能的帮你处理内存了,但是你难免需要在一些特殊情况下自己处理,内存池技术,各种C++的new的使用,不得不会。
对开发工具的熟悉:这里并不是指只是对某一个引擎使用熟练,而且对不同引擎相关的内容都有一定理解,可以很快的触类旁通。
编译原理,链接,第三方库:经常会遇到各种链接错误,编译错误,打包错误,这需要你有一定的相关知识与经验去解决这些问题。
性能分析与性能优化: CPU与GPU,渲染批次,渲染实例化,布料优化,网络同步数据量,物理开销等,加载资源优化;
对游戏的理解:虽然不玩游戏也一样能参与游戏开发,但玩过游戏的人还是有优势的。最明显的是玩过游戏的人会对游戏有更多的想法与意见,也习惯去主动学习其他的游戏的技术与优点。(程序这样,策划更是如此)
开发经验:这个就比较宽泛了,难以只言片语说清。比如你的游戏莫名其妙的出现了一些bug,新手完全无从下手,而有经验的人会有各种手段去调试并解决。经验丰富的老手有时真的抵得上N个新手的,所以这需要各位不断的学习与实践了
2.游戏模块总结
游戏逻辑模块系统:游戏玩法核心,包括各种武器,状态,技能,背包,战斗等逻辑系统。
动画模块系统:状态机,Montage,动画融合,IK等
物理模块:给需要交互表现的对象赋予物理特性(包括刚体,流体,粒子,布料等),调整重力大小等各种参数,调整交互中力的大小,调整物理约束
AI模块: AI导航,与玩家交互等,玩家的很多功能系统也需要给AI来使用,更深层次的可以考虑将机器学习相关的内容融入
UI模块:搭建各种界面框架(背包,捏脸,地图等),非常耗时间与精力,后期需要不断调整;
渲染模块:客户端表现核心,不用多说,内容非常多且深
网络模块:底层架构,同步,网络连接
场景模块:包括地形,关卡,植被,角色管理与优化等
输入与输入处理模块:将玩家输入处理转换成逻辑,需要注意的有组合键,输入法切换等;
游戏登录与更新:一般这是专门的工具组来做,比如我们常见的各种游戏登录器,在线更新等。
这里面的除了网络基本上都需要美术,策划,程序共同参与与合作。
3.技术点存储与序列化(protobuf)
单机玩家的游戏存档如何实现?
通过序列化 socket 搭建基本的TCP/UDP通信系统
反外挂
保证游戏公平性,一般服务器上做各种校验措施
多线程
一般用于渲染,物理,网络同步等,减少开销,增加cpu利用率
打包流水线
包的大小优化,包的多层递归引用优化等
数据库
什么数据要存在数据库里面,什么存在本地就可以。应该选择什么数据库?之后会不会出现游戏合服?
CDN /服务器的部署与运行等
这个也很复杂,又要考虑成本又想容纳更多玩家(网游),有时可能需要用到CDN技术来优化网络同步,另外还要考虑成本等问题来决定是否租用云服务器
4.其他
版本控制
一般使用git或者svn
性能分析工具
前面提到了性能优化,优化前我们需要各种工具来辅助我们找到影响游戏效率的瓶颈
配置
需要大量策划配置的数据存放在哪里?配置文件?XML?这需要构建一套小的系统(或者引擎提供)
声音数据处理
一般引擎提供基本的音乐与音效处理,但是有的引擎对音频方面处理的更深入,效果更好
平台对接
游戏需要发布到不同的平台,这个平台不仅仅指硬件平台(Android,iOS,PS4,PC,XBOX)还包括各种软件平台(各种应用商店,如PC上的Steam,WeGame。安卓上的应用宝,各种软件管家等)该过程其实也相当繁琐,有一些平台的审核非常严格,需要积累一定的经验才能快速的处理相关内容
国际化与本地化
简单来说,就是不同国家的语言版本不同。如果你的游戏不是只卖给英国美国,你就不得不面对本地化,坑很多
日志系统
开发与运营 游戏上线一定很多bug,你又没办法去玩家电脑上调试,如何快速定位bug,日志系统很有效
调试
开发期 断点调试(最有效)、日志调试、dump调试 、控制台调试,可视化调试(在场景内绘制特定的几何体),截图录屏调试(一般用于调试渲染,动画等)
上线期 日志调试、服务器可以用dump调试,也可以想办法把客户端的dump传送到服务器 、管理员GM调试(非常重要,可以避免重启服务器)
bug处理
有时候已经发生的bug无法改变,又不能及时修复,想要弥补玩家,可以通过GM来给予玩家补偿
脚本
简单逻辑代码,热更新
工具开发
提高美术策划的开发效率

unity游戏开发需要代码吗
不需要。Unity 是实时3D互动内容创作和运营平台 。包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助Unity将创意变成现实] 。Unity平台提供一整套完善的软件解决方案 ,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。...

unity3d需要懂编程吗
Unity3D作为一款流行的游戏开发工具,确实需要一定的编程知识。Unity3D的功能强大,能够实现各种复杂的游戏逻辑和功能,而这一切都需要通过编程语言来完成。尽管Unity3D提供了易于上手的编辑器和一系列强大的工具,但要充分发挥其潜力并开发出复杂且精彩的游戏,编程技能是必不可少的。Unity3D主要使用C#语言,...

不写代码能做游戏?使用Unity Bolt插件
使用Unity Bolt插件,实现无代码做游戏,体验可视化编程的魅力。Unity与Unreal并列为主流游戏引擎,Unreal的蓝图功能让无代码游戏开发成为可能。在Unreal的蓝图代码中,框框与线条代表可拖拽组件,而灰色框为功能组,如《堡垒之夜》等游戏即是通过该功能设计。Unity也拥有一项类似功能:Bolt。Bolt是Unity游戏引擎...

想自学unity3d游戏开发,都需要学那些内容啊?
首先应该学一下C#或者javascript,毕竟是要写程序代码的,这个我认为最重要。然后做2D界面的话GUI,NGUI应该学一下。另外就是一些Unity操作上的东西:物理引擎,角色控制,粒子系统,音频,模型,这个比较杂,建议自己摸索。另外网络游戏或者手机游戏一些游戏还需要网络通讯,socket,http,服务器,Android开发基础...

unity游戏开发需要学什么
游戏开发需要至少掌握一门编程语言,如C#或JavaScript。开发者需要熟悉基本的编程语法和编程理念,并了解面向对象编程思想。2.Unity引擎。了解Unity游戏引擎的工作原理和常用功能,可以加速你的学习和开发速度。这包括使用Unity编辑器创建场景、调整物体的Transform属性、组合游戏物体、导入资产和粒子系统、渲染着色...

unity3d是建模还是写代码
Unity3D是一款开发引擎,在游戏开发中,主要用来实时渲染游戏画面,建模与编程都有涉及。Unity3D使用的是C#语言,上手简单,新手也可以很快掌握;在建模方面,虽然也可以做一些简单的几何体模型,但在效果上肯定比不上专业的3d建模软件,比如3ds max 、maya都是不错的选择。硬件型号:惠普暗影精灵6 系统...

游戏开发都需要学哪些软件,需要编程基础吗?
游戏编程也是编程,都是需要敲代码的。所以基本的语言基本功是不能少的,比如C语言或者C++或者C#至少要精通其中一门。精通到什么地步呢,基本数据结构和基础的算法还有设计模式你得非常熟悉。这样算是入门了。接下来你就可以选择一个游戏引擎了,市面上主流的游戏引擎有两种一个Unity3D一个虚幻四。但是这...

游戏开发好学吗?
游戏开发的思路和现实中的思想很相似,没有太抽象的内容,只要你能想明白游戏逻辑,剩下的就是使用代码将其实现出来。其次,游戏开发过程有的时候需要一定的数学和物理能力,看文档需要一点点英文能力。最后,就是主观上你得认同游戏,客观的看待游戏开发的岗位,不要认为游戏是祸及下一代的电子鸦片。

学unity3d需要什么基础
1.学unity3d需要对于编程语言要熟练,因为目前unity3d的游戏开发核心语言在于C# \/Lua \/ C++这类语言,建议还是从C# lua 开发着手开发。2.除此之外还需要俱备基本的3D知识。这些知识如果通过学习底层的DirectX或者OpenGL等可以获得更好的效果以及更透彻的理解,同时可以学习一些3d建模软件,譬如:3Dmax。3....

为什么用Unity3D开发游戏是用C#,JS开发而不是用C++?U3D的设计者是怎样...
Unity3D的设计者希望游戏开发者能够更加轻松地使用Unity3D进行游戏开发,而不是被底层的代码和算法所困扰。C#、JS等语言具有更高的抽象程度,能够让开发者更加专注于游戏的逻辑和功能实现。2.跨平台性 Unity3D的设计者希望游戏能够在不同的平台上运行,这就需要使用一种跨平台的语言。C#、JS等语言具有更...

相似回答