
一、unity3d手游客户端主程需要懂得哪些知识
1、U3D引擎的使用,包括但不限于:物理引擎、动画引擎、声音引擎、粒子引擎、UI开发、光照、shader等。
2、游戏本身的开发:游戏也是一种软件,使用引擎开发游戏也要遵循一些框架和方法。不同类型的游戏可能采用不同的模式来开发,同样在传统软件开发中使用的框架也慢慢进入到了U3D的开发中,比如:UniRx(Reactive Extensions for Unity)、MVVM。
3、网络开发:目前的游戏除非纯单机,否则或多或少都需要和网络打交道。基本的****、socket开发要回。
4、Android和iOS原生开发:你项目用的很多插件比如支付、广告、统计等等不一定都会有U3D包提供,即使有提供在Android上同时使用多个U3D插件包也有可能发生冲突,因此原生开发是基本技能。
5、基本的美术知识,你需要和美术讨论模型、贴图、**等等。
6、基本的游戏设计知识,因为总会有人为你一些功能设计是否合理,而且你也确实需要知道一些游戏的设计思路,因为你需要用技术去实现它们。
二、Unity3D做一个手游怪物AI,需要掌握什么
1、 1。状态转换。例如被攻击后转向敌人,释放魔法后进去休息状态,敌人过于强大ai会逃跑,这些问题首先直观的使用if else语句,可以这样的ai通常非常难以写出来,而且ai的修改会很麻烦,这时候业内惯用“有限状态机”解决此问题。
2、 2。路径规划。怎样从A点到B点要绕过中间的障碍物,这需要算法解决,非常成*的解决方案就是 A*寻路(A星寻路算法),这中算法适合解决固定障碍的路径规划,如绕过山,河,沟不可移动的障碍。另外点下更复杂的战术式寻路,如避开敌人火力区的路线,避开地面雷达的飞行路线等。
3、 3。避开障碍物体。其实这也属于“路径规划”类的问题,只不过此问题解决的是动态的障碍,和上面的第2点有非常大的区别。如20或者200个角色同时运行到一个目标,如无有效的算法让彼此以合适方式避开这个游戏效果是非常差的,常用的算法有如Flocking算法,用合力的方式计算朝向与速度,将角色分为三个基本的行为:聚集,分散,列队去解决,这一算法用的非常广;更加复杂的算法如RVO算法。
4、 4。一些移动行为算法。如:追赶,逃避,插入,避开墙等等。
5、再次点下开头:AI的实现是个非常复杂的过程,不止是算法上的,后期各项数值的调试迭代磨合是非常需要耐心的,以上4点是很基本需要掌握解决的方面。













