Unity3D-RPG项目实战(4):角色性能測试
前言
所以尝试写了一个简单的角色渲染測试的小程序。完整项目资源和源码在这里:https://github.com/neil3d/LearnUnity/tree/master/ArtTest_Char。眼下我使用的版本号是Unity
5 Beta1。请各路高手斧正。
笔记
程序计划实现的功能
- 在屏幕上显示一个角色。实现随机的站立、行走;
- 点击屏幕,能够在地面上放置一个角色;
- 拖动屏幕能够移动摄像机;
- 显示当前的帧速率和生成的角色个数;
场景编辑与资源导入
- 创建一个空的GameObject,命名为Globals。用来保存全部的全局对象。主要是那些管理器类。
- 给Globals创建一个Debugger子对象。把測试信息显示的脚本挂载到上面;用一个单独的对象,是方便开启/关闭全部Debug相关的功能。
- 创建一个空的GameObject,命名为Characters。将来动态生成的对象。都设为它的子对象。
注意要把它的Transform的Position置为0。
- 创建一个Plane,并赋予一张贴图。做我们的地面。命名我Ground。
注意导入骨骼动画模型和全部动作时,Rig选项都要选成Legacy。
要把char.prefab放入到Resources目录中,以方便使用Resources.Load()方法来动态创建。
代码逻辑
- ApplicationMgr类:主要负责对全局对象、Application的一些设置的管理;
- InputManager:在这里处理全部的操作,包含移动摄像和点击放置角色(调用CharacterMgr的SpawnCharacter函数);
- CharacterMgr:负责在程序启动时载入资源。主要是char.perfab。实现生产角色的接口,并管理角色计数器。
- CharacterCtroller:控制单个角色;实现闲逛行为模式;
測试数据
- 測试所使用的角色:三角面数:2552,骨骼数:43,贴图:512*512一张;
- 在我的小米3上。角色加入到30个左右,帧速率就明显下降。
- 结论:这个模型的规格过高。要考虑缩减面数/骨骼数。或者使用LOD等其它优化技术;
Unity3D-RPG项目实战(4):角色性能測试的更多相关文章
- 系统吞吐量、TPS(QPS)、用户并发量、性能測试概念和公式
PS:以下是性能測试的主要概念和计算公式,记录下: 一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗.外部接口.IO等等紧密关联.单个reqeust 对CPU消耗越高, ...
- Linux 性能測试工具
Linux 性能測试工具 linux performance 查看系统配置 查看CPU信息 lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64- ...
- Android性能測试 一些适用于Android Studio的代码审查和性能測试工具
导言: Android应用在CPU占用,内存消耗方面的性能指标是影响产品质量的重要因素,因为QQ管家,360手机助手等应用都提供直观的内存消耗,流量监控功能,致使用户比以往更加关注软件的性能,并以此进 ...
- mongodb3.0 性能測试报告 一
mongodb3.0 性能測试报告 一 mongodb3.0 性能測试报告 二 mongodb3.0 性能測试报告 三 測试环境: 服务器:X86 pcserver 共6台 cpu: 单颗8核 ...
- Window平台搭建Redis分布式缓存集群 (一)server搭建及性能測试
百度定义:Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对很多其它.包含string(字符串).list(链表).set(集合).zset(sort ...
- mysql主键设置成auto_increment时,进行并发性能測试出现主键反复Duplicate entry 'xxx' for key 'PRIMARY'
mysql主键设置成auto_increment时,进行并发性能測试出现主键反复Duplicate entry 'xxx' for key 'PRIMARY' 解决方法: 在my.cnf的[mysql ...
- LR杂记 - 性能測试指标及经常使用的监控工具
监控指标 性能測试通常须要监控的指标包含: 1.serverLinux(包含CPU.Memory.Load.I/O). 2.数据库:1.Mysql 2.Oracle(缓存命中.索引.单条SQL性能.数 ...
- PHP归档phar性能測试
PHP自从5.3后新增PHAR归档,Phar 归档的概念来自 Java™ 技术的 JAR 归档,它同意使用单个文件打包应用程序.这个文件里包括运行应用程序所需的全部东西.该文件不同于单个可运行文件,后 ...
- Redis源代码分析(十三)--- redis-benchmark性能測试
今天讲的这个是用来给redis数据库做性能測试的,说到性能測试,感觉这必定是高大上的操作了.redis性能測试.測的究竟是哪方面的性能,怎样測试,通过什么指标反映此次測试的性能好坏呢.以下我通过源代码 ...
随机推荐
- 代码走查25条疑问 C# 跳转新的标签页 C#线程处理 .Net 特性 attribute 学习 ----自定义特性 看懂 ,学会 .NET 事件的正确姿势-简单版
代码走查25条疑问 代码走查(Code Review) 是一个开发人员与架构师集中讨论代码的过程.通过代码走查可以提高代码的 质量,同时减少Bug出现的几率.但是在小公司中并没有代码走查的过程在这 ...
- eclipse导入class文件
右键src文件夹->build path->config build path->library->add class folder->create new folder ...
- Android之内存泄露、内存溢出、内存抖动分析
内存 JAVA是在JVM所虚拟出的内存环境中运行的,内存分为三个区:堆.栈和方法区.栈(stack):是简单的数据结构,程序运行时系统自动分配,使用完毕后自动释放.优点:速度快.堆(heap) ...
- jquery动态加载js/css文件方法
先来看jquery自带的getSrcript文件 方法 代码如下 复制代码 $.getScript(url,callback) 实例 代码如下 复制代码 var testVar = 'New JS l ...
- FreeSWITCH网关参数之caller-id-in-from
1. 这个配置项两个设置值: true和false(默认) <param name="caller-id-in-from" value="true"/&g ...
- [转]Greenplum的工作负载及资源管理
工作负载及资源管理 查询分析-查看EXPLAIN输出 EXPLAIN输出一个计划为节点组成的树 每个节点表示一个独立的操作 计划应该从下向上读,每个节点得到的记录向上传递 成本评估项: cost - ...
- tensorflow中使用Batch Normalization
在深度学习中为了提高训练速度,经常会使用一些正正则化方法,如L2.dropout,后来Sergey Ioffe 等人提出Batch Normalization方法,可以防止数据分布的变化,影响神经网络 ...
- 使用OkHttpClient处理json请求处理的方式
今天遇到一个问题,重构老系统时,前端传递的参数是一个json,controller层可以用@ResponseBody来接收. 因为新系统用的是spring cloud这一套,调用其他服务使用的是fei ...
- ssh 反向代理和正向代理的文章
搜索原因是,我希望访问家里内网的机器 技术要点: ssh 反向代理,正向代理 隧道 文章摘自: https://my.oschina.net/leejun2005/blog/94401 https:/ ...
- [CTCI] 最大子方阵
最大子方阵 题目描述 有一个方阵,其中每个单元(像素)非黑即白(非0即1),请设计一个高效算法,找到四条边颜色相同的最大子方阵. 给定一个01方阵mat,同时给定方阵的边长n,请返回最大子方阵的边长. ...