将模型追加到范例项目 (Native)

最終更新: 2024年12月19日

本页说明将Live2D Cubism模型追加到Live2D Cubism SDK for Native范例的步骤。
参考 “构建范例”提前构建范例。

准备Editor和Cubism Viewer(for OW)

将模型追加到项目时,需要进行各种数据加工。
准备一个Editor。安装后,本次使用的“Cubism Viewer(for OW)”也会被安装。

Cubism Editor

模型准备

首先,准备要追加的模型。
在本教程中,我们将范例模型“米亚拉”追加到范例项目中。

追加时,模型同时按照范例程序进行加工。

追加重叠检测

范例程序具有以下元素。
·单击模型上设置为“Head”的范围以更改表情
·单击模型中设置为“Body”的范围以随机播放动态
由于这些在范例米亚拉中不存在,我们将为头部和躯干追加重叠检测。
关于Editor端的操作,请参考“重叠检测的设置准备”。

追加两个用于重叠检测的图形网格,如下所示。

1、重叠检测

2、重叠检测2

追加参数设置

米亚拉的模型数据中没有指定眨眼或口形同步的参数。 这些还会在Editor中追加设置。
有关设置方法,请参考“眨眼设置”。

此次进行了以下设置。

添加表情用动态

米亚拉有行走和动作的动态,但没有表情用动态,因此进行追加。
请参考以下内容以创建表情用动态。3.1中的作业几乎相同。

在动画视图中创建表情

此次追加了以下三个表情。

happynormalsad

使用Cubism Viewer(for OW)的作业

一些可以在Framework中使用的模型数据不仅由Editor创建,还由Cubism Viewer(for OW)创建。

HitArea的设置

仅在Editor上的图形网格中定义HitArea无法被应用程序端识别。
将信息追加到.model3.json文件,以使应用程序识别。
您可以使用Cubism Viewer(for OW)功能自动输入此信息。

追加姿势文件

姿势功能在Cubism Viewer(for OW)中设置。
关于姿势功能,请参考“关于姿势”和“姿势设置”。
在此次的模型中,没有可以切换的部件,所以我们不会设置它。

表情转变和注册

之前用Animator创建的表情用动态不能直接作为表情文件使用。
您需要使用Cubism Viewer(for OW)将其转变为.exp3.json文件。
请参考以下内容创建表情用文件。3.1或更高版本的作业几乎相同。

设置和输出表情

此次双眼的开合变更为正片叠底模式。

动态注册

动态文件记录模型在程序中的使用。
有关如何在Cubism Viewer(OW)中注册动态的信息,请参考“动态设置”。

在此次注册中,将Scene1.motion3.json的组设置设为Idle,Scene2.motion3.json和Scene3.motion3.json的组设置设为TapBody

其他设置保留为默认值。

最终模型文件输出

各设置完成后,输出模型设置(.model3.json文件)。
这时候会同时输出没有保存的.exp3.json和.pose3.json文件。
有关如何输出的详细信息,请参考“输出模型设置文件”。

根据范例程序的规格,文件名称应与要输出的文件夹名称相同。
这是由文件夹名称的字符串指定的,导入文件夹名称.model3.json文件是按照规格的设置。

输出时会输出如上的文件。

查看JSON的内容

在移至程序之前,请看一下model3.json文件。
如果您用文本编辑器打开miara.model3.json,则可以看到下面的代码。

{
	"Version": 3,
	"FileReferences": {
		"Moc": "miara.moc3",
		"Textures": [
			"miara.4096/texture_00.png"
		],
		"Physics": "miara.physics3.json",
		"UserData": "miara.userdata3.json",
		"Pose": "miara.pose3.json",
		"Expressions": [
			{
				"Name": "happy.exp3.json",
				"File": "expressions/happy.exp3.json"
			},
			{
				"Name": "normal.exp3.json",
				"File": "expressions/normal.exp3.json"
			},
			{
				"Name": "sad.exp3.json",
				"File": "expressions/sad.exp3.json"
			}
		],
		"Motions": {
			"Idle": [
				{
					"File": "motions/Scene1.motion3.json"
				}
			],
			"TapBody": [
				{
					"File": "motions/Scene2.motion3.json"
				},
				{
					"File": "motions/Scene3.motion3.json"
				}
			]
		}
	},
	"Groups": [
		{
			"Target": "Parameter",
			"Name": "EyeBlink",
			"Ids": [
				"ParamEyeLOpen",
				"ParamEyeROpen"
			]
		},
		{
			"Target": "Parameter",
			"Name": "LipSync",
			"Ids": [
				"ParamMouthOpenY"
			]
		}
	],
	"HitAreas": [
		{
			"Id": "HitArea",
			"Name": "Body"
		},
		{
			"Id": "HitArea2",
			"Name": "Head"
		}
	]
}

所有设置都以Json格式输出,如果您遵循各设置的格式,则可以使用文本编辑器创建和编辑。
您可以在Github上的“CubismSpecs”中查看各Json的规格。

程序端的变更

首先,将完成的模型文件夹追加到资源文件夹中。
请将其追加到[root]\Samples\Resources文件夹。

这样就完成了追加模型的作业。
请进行构建并运行它。按下画面右上方的齿轮图标即可切换要绘制的模型。绘制顺序按照Resources文件夹中模型文件夹名称的字母顺序排列。

请问这篇文章对您有帮助吗?
关于本报道,敬请提出您的意见及要求。