设定命中检测的准备工作

(2020 年 4 月 9 日更新)

从 Cubism3 SDK 开始,所有图形网格都可以指定为碰撞检测。
然而,为了减轻负荷,图形网格的形状最好是简单的。

从 Cubism3或更高版本开始,具有自动创建用于碰撞检测的图形网格的功能。
我将介绍如何实际设定它。

请参阅下文了解如何在 SDK 中设定碰撞检测。
碰撞检测设定

 

设定用于碰撞检测的图形网格

点击[菜单]栏上的[建模]→[图形网格]→[创建触碰检测用途的图形网格]。

 

这将创建一个空的图形网格。
这种图形网格与其他图形网格没有什么不同,因此您可以编辑多边形或使用参数对其进行变换。

 

将创建的图形网格放置在您要设定的位置。

 

如果您在创建空图形网格时已经在模型中创建了纹理集,则还需要将此图形网格追加到其中。
有关详细信息,请参阅“编辑纹理集”页面。

 

放置在纹理集上的碰撞检测图形网格放置在左上角。

用于碰撞检测的图形网格以“16 x16px”的非常小的形式显示,因此请注意不要与其他图形网格重叠。

 

关于碰撞检测的ID:
当您从[创建触碰检测用途的图形网格]生成图形网格时,ID会自动设置为“命中区域”。
但是,这并不意味着您应该在碰撞检测中始终使用 ID 名称“HitArea”,它只是为了便于理解而设定的。

碰撞检测图形网格的 ID 没有命名约定,因此请根据您实施名称的环境咨询开发人员。

但是,如果 Cubism3创建的模型有命中判断,即使在 Cubism 2.1中,ID 也会是“HIT_AREA”。
在 Cubism 2.1中,碰撞检测 ID 有限制,所以需要变更。
有关详细信息,请参阅“具有碰撞检测的模型”页面。

 

 

使用 SDK 处理碰撞检测时的注意事项

要在 SDK 中处理碰撞检测,您需要为碰撞检测网格的 ID 命名
该名称在 Viewer for OW 中设定。

 

在 Viewer for OW 中输入 Hit Area 名称并保存。

Cubism SDK 使用两个名称,“Head”和“Body”,无论是 Unity、Native 还是 Web。
用于碰撞检测网格的名为“Head”的网格用于切换面部表情。
名为“Body”的网格用于播放敲击动作。
如果碰撞检测范围重叠,则“Head”进程具有优先权。
您可以通过自定义 SDK 使用上述以外的名称。

TIPS
Cubism SDK 获得的碰撞检测并不总是与图形网格具有相同的形状。
(如果它是一个完全水平和垂直于画布的矩形,它将具有相同的形状。)
因为 Cubism 中指定的用于碰撞检测的图形网格周围的水平和垂直矩形都在 Unity 上的碰撞检测范围内。
即使在Cubism指定的命中判断之外,它也可以作为命中判断获得。
这也适用于参数变形,当用于矩形碰撞检测的图形网格因变形而倾斜时也会发生这种情况。

但是Unity版本的SDK可以改变范围的精度,通过改变设定,也可以得到与图形网格形状相同的碰撞检测。

 

 

© 2010 - 2022 Live2D Inc.