本文翻译自:https://docs.live2d.com/cubism-sdk-tutorials/userdata-drawable/
译者注:注意!这并不是一篇严谨的翻译,本人并不是翻译行业从业者,也根本不会日文。官网的中文翻译会连带代码一起翻译,而且还不如机翻日文,官网的英语翻译版本有的语法很奇怪,看起来也是机翻。本文主要来自日文机翻,然后再结合实际开发经验调整到通顺,修改不该翻译的东西并润色。
[最后更新日期: 2017/11/21] 译者注:这是这个日文原文的更新日期
在这里,我们将说明如何从模型中获取艺术网格中设置的 “用户数据(userdata)” 。
译者注:userdata 就好像是一个备注,模型制作者留下的小纸条,具体干什么需要我们自己去编程实现
概要
[UserData] 是从 3.1 开始添加的功能,用户可以向艺术网格添加任意元数据。
可以通过处理用户数据来达到多种目的,例如将艺术网格指定为命中判断或应用特殊阴影。
点击 此处 来了解如何在 Artmesh(艺术网格) 中设置用户数据。
要获取艺术网格对应的用户数据,请遵循以下步骤。
在 "project/项目" 窗口空白处右键选择 "create/创建",然后单击 “C#脚本” 来创建一个 C# 脚本。
此处命名为「UserDataTest」。
在「UserDataTest」写下以下的内容。
using Live2D.Cubism.Framework.UserData;
using UnityEngine;
public class UserDataTest : MonoBehaviour
{
private void Start ()
{
var userDatas = gameObject.GetComponentsInChildren<CubismUserDataTag>();
foreach (var userData in userDatas)
{
Debug.Log(
"Drawable ID : " + userData.gameObject.name +"\n" +
"Value : " + userData.Value
);
}
}
}
然后将带有用户数据的模型的 Prefab 放置在 Hierarchy(层级)中。
将上面创建的 UserDataTest 组件附加到放置的 Prefab 的根目录。
大功告成!
如果现在运行场景,则会将设置了用户数据的艺术网格的 ID 和在用户数据中设置的字符串输出到控制台窗口。