• 热门专题

Unity3D-RPG项目实战(4):角色性能测试

作者:  发布日期:2014-09-02 21:01:23
Tag标签:实战  角色  性能  
  • 前言

    用一个新的引擎,还是要沉下心来学习。记得2007年用Unreal Engine 3做项目的时候,就有过惨痛的教训:前面话了个把月的时间学习Unreal,觉得摸门了,于是就着急忙慌的进入项目正式开发了,可是又干了几个月才发现,最初对引擎的很多理解是错误的。这次决定用Unity3D做项目之后,我想还是要谨慎一些,先写一些也许用得着的小程序玩玩。通过实践,验证一下对引擎的理解。
    首先就是对移动平台的性能不摸底,这对于定义什么样的美术技术规格很关键。所以尝试写了一个简单的角色渲染测试的小程序,完整项目资源和源代码在这里:https://github.com/neil3d/LearnUnity/tree/master/ArtTest_Char,目前我使用的版本是Unity 5 Beta1。请各路高手斧正。

    笔记


    程序计划实现的功能

    在屏幕上显示一个角色,实现随机的站立、行走;点击屏幕,可以在地面上放置一个角色;拖动屏幕可以移动摄像机;显示当前的帧速率和生成的角色个数;

    场景编辑与资源导入

    创建一个空的GameObject,命名为Globals,用来保存所有的全局对象,主要是那些管理器类;给Globals创建一个Debugger子对象,把测试信息显示的脚本挂载到上面;用一个单独的对象,是方便开启/关闭所有Debug相关的功能;创建一个空的GameObject,命名为Characters,将来动态生成的对象,都设为它的子对象。注意要把它的Transform的Position置为0;创建一个Plane,并赋予一张贴图,做我们的地面,命名我Ground; 角色动画我这里使用了Legacy模式,感觉这种方式挺直观、简便的。注意导入骨骼动画模型和所有动作时,Rig选项都要选成Legacy。 资源导入好之后,创建一个名为char的Prefab,把骨骼动画模型(包含Animation设置)添加进去,并添加CharacterController脚本组件。要把char.prefab放入到Resources文件夹中,以方便使用Resources.Load()方法来动态创建。

    代码逻辑

    先上一个图,说明一下这个简单的程序结构。

    ApplicationMgr类:主要负责对全局对象、Application的一些设置的管理;InputManager:在这里处理所有的操作,包括移动摄像和点击放置角色(调用CharacterMgr的SpawnCharacter函数);CharacterMgr:负责在程序启动时加载资源,主要是char.perfab;实现生产角色的接口,并管理角色计数器;CharacterCtroller:控制单个角色;实现闲逛行为模式;
About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规
香港最快开奖现场直播结果