去年,Unity Analytic发布了Heatmap(热点图)的Beta测试版。Beta测试版的反响相当不错,但也存在许多的缺陷与不足。此次新的Heatmap(热点图)修正了大量Bug与不足之处,并且添加了许多相当实用的选项,我们不会限制用户查看数据的方式。
本文并非教程,如果想要了解更详细的信息请查阅文档。本文将着重介绍各个新功能以及实现这些功能的原因:
1. 近乎实时的原始数据
2. 测试数据
3. 自定义数据地址
4. 重映射颜色
5. 重映射操作
6. 分离数据的新方式
7. 实色梯度
8. 数据掩蔽
9. 小贴士

安装Heatmap

我们将Heatmap发布到了Unity Asset Store中,用以改善用户对于Heatmap的首次体验。用户也仍然可以在之前的Bitbucket代码库中下载。

下载后双击安装,然后打开Unity,可以在菜单项Windows > Unity Analytics 下找到Heatmapper和Raw Data选项。

055716tcczbey8lablt8o5.png
速度近乎实时的Raw Data(原始数据)

在Heatmap下的开头菜单栏里有个选项叫做“raw data”,我们会在数据上传到Unity Analytics服务器时保存每个事件,并且设置成可检索状态。Heatmap会提取出Raw Data并整合到Unity中显示结果。

Raw Data正式版已发布,主题就是它以近乎实时的速度执行。几乎只需几秒到几分钟即可浏览数据。相比以前动辄需要等待数小时,现在可以说是有了非常可观的效率提升。

所有购买了Pro专业版许可证的用户都可以访问Raw Data功能。Heatmap也将被移植到Pro专业版的Analytics工具中。

055720awrfok775pgwhlv5.png
我们为Raw Data单独制作了检视面板,这么做是因为我们想传达一个基本但是很重要的概念:
Raw Data和Heatmap是相互独立的。

当使用Raw Data填充Heatmap时,Heatmap只是Raw Data中无数潜在应用的一种。所以你可能会有类似的疑问:Raw Data除了在Unity内部显示外,还能怎么用呢?答案并不是唯一的,创建并共享数据就是一个不错的选择。

使用测试数据学习Heatmapper的工作原理

055720qq414v41fwz1gny7.png
新的Raw Data检视面板不仅会提取原始数据,还会在电脑本地生成测试数据。当然,这也是为了改善初学者的用户体验。现在用户可以创建许多不同的数据来观察Heatmapper(或者使用Raw Data工具)是如何工作的。这个过程中所有产生的数据都保存在本地来供你使用。

用户可以生成的数据如下:
- 随机heatmap事件
- 演示性Heatmap事件,有助于解释一些Heatmap的功能和场景。
- 自由(非Heatmap)形式的数据,用户可以自由尝试一些想法。

用户可以使用数据生成功能快速生成上万个数据点,并且将其加载到Heatmap中,以了解Heatmap提供的多种不同功能。

Heatmap超凡的实用性

055727jxo73sq961k0o9o3.png
上图就是Heatmapper自带的检视面板。本次更新了许多基于上一个版本的缺陷所带来的优化改动。所有的修改都是基于提升实用性而做的。

自定义数据位置

原始数据被默认存放在 “Application.persistentDataPath”目录下,但现在这个设置可以被修改为任意有效地址,这将有助于用户更方便地使用测试数据。

重新映射颜色到可视化范围的重要性

在Heatmap中,颜色通常意味着密度。这句话的意思是,当一个事件发生在坐标x/y/z的时候,我们可以将这个地点设置成“热带”,它的热度将高于没有发生事件的地区。这只是一个默认的行为,用户可以使用任何参数来代替密度设定。

你可能会怀疑游戏运行时某个地方的FPS过低,发送Heatmap事件并且将FPS数据作为参数。当用户创建Heatmap时,可以选择重新映射不同FPS参数到不同颜色,甚至对参数进行运算。这样用户就可以很直观的看出哪些地方的FPS过低并做出合理的处理方案。

055728maaccwac305m0jqd.png
重映射操作以深入挖掘

除开简单的重新映射不同参数的颜色以外,用户还可以直接基于重新映射后的结果操作并且修改数据。以之前检测FPS的案例来说,用户可能最感兴趣的往往都是检测到哪个地方热度最低,也就是FPS最低的地带,或者是检测哪个地带有故障。或许用户是想寻找这些点中的中间值,平均值,第一个值,最后一个值亦或者最高最低值等等,这些都被开发组考虑并且包含在操作功能里了。完整的支持列表如下:
- 显示最早或者最晚的一个点
- 显示最高或者最低值
- 增量(给每个值都增加一定的量)
- 显示所有数据的合
- 平均数
- 百分比操作(0-100,中数=50)

分离并提纯几组数据

实际上这是基于相同数据制作的几个不同的功能选项,将结果明确分为几组。还可以按层次分离Heatmap,独立检查游戏运行,区分iOS以及Android用户等等。每个选项都独立存在于列表中,让用户以各种有效的方式区分Heatmap数据。完整的可区分列表如下:
- 按用户划分(独立设备)
- 按独立的游戏会话划分(相当于独立进入游戏次数)
- 按平台划分
- 按测试版与非测试版划分
- 按一个或者多个任意字段划分(例如“等级”)

055729cp2fyij2e7aijet9.png

真实梯度渲染以最佳化自定义

Heatmapper原本是用三色板来表示低/中/高三种颜色密度。很多用户可能觉得不够,这一次我们更改了策略,使用真正的渐变来显示热点图。

055730qbtbse844fsqhte2.png
在特定事件上将数据设为0以屏蔽

这就是按位置筛选数据的简便方法。当3D空间显示过多的热点,可以设置数据为0来隐藏其中一部分热点。

055733eyz3joyw5s1cictf.png
点对点渲染以加强空间感

有时候理解多个热点是很有帮助的。例如第一人称射击游戏中的“LookAt”事件,当玩家看向某一点时你可能不仅想要知道玩家位置,还想了解看的目标。HeatmapEvent现在允许用户发送两个不同的地点,然后使用点对点渲染来正确显示两个点之间的相关信息,例如距离和方向等。

055734x30fxh0neheehe80.png
Hot tips揭开数据背后的意义

有时你可能想要了解某个单独点的含义。Hot tips是一个小工具,在鼠标停留在任何一个点上时都能将一些相关的确切数据显示在方框中帮助用户理解这个点。

055737r7e266gmemg9vebz.png
赶紧用起来吧

上述简单介绍了我们的一些更新思路,希望这些功能都对大家非常有用。如果有更多的使用建议或意见,或者一些思路和想法,欢迎来下方评论区留言。


原文链接:http://blogs.unity3d.com/2016/06/29/stoking-the-fire-heatmaps-rekindled/
转载请注明来源:Unity官方中文社区 (forum.china.unity3d.com)。请勿私自更改任何版权说明信息。


Unity, Analytic, 功能锐亚教育

锐亚教育 锐亚科技 unity unity教程