构建DirectX11范例

最終更新: 2021年12月9日

此页面适用于Cubism 4.2及更早版本的旧版本。 点击此处查看最新页面

本页说明Windows环境下在Visual Studio中编译Live2D Cubism SDK for Native中包含的DirectX 11范例项目的步骤。

* 文章内容使用Cubism 4 SDK for Native R1。
方法和步骤可能因Cubism SDK的版本而异。 

下载什么

·Live2D Cubism SDK for Native

这是SDK本体。从“官方下载页”下载。

·Visual Studio

这是本次使用的开发环境。该语言使用C++。

·CMake

用于生成项目文件。

·DirectXTK

这是DirectX 11的工具库。
您可以从Cubism SDK范例中包含的批处理文件中下载。

对于CMake和DirectXTK等工具库,请确认范例SDK的ZIP中
[根]Samples/D3D11”的“README.md”中描述的步骤和版本。

安装作业

Visual Studio

安装集成开发环境。
请进行设置以便可以编译C++。
另外,请使用Visual Studio 2013或更高版本。

CMake

安装CMake。
由于CMake作业是从批处理文件中使用的,因此请设置CMake路径,以便用户可以参考它。

* 图片可能与实际画面不同。 

DirectXTK

安装DirectXTK。

请从“/Samples/D3D11/thirdParty/scripts”中的“setup_msvcxxxx.bat”中执行描述要使用的Visual Studio的项目,并下载DirectXTK。

批处理完成后,将在“/Samples/D3D11/thirdParty”中创建一个名为“DirectXTK”的文件夹。

执行CMake

CMake也可以从GUI中使用,但这次我们将使用范例中包含的批处理文件。
Samples/D3D11/Demo/proj.d3d11.cmake/scripts”中有一个批处理文件。
此批处理文件从多个设置组合中进行选择。

·NMake、还是Project?

NMake从命令提示符构建并生成可执行文件。请使用以nmake_开头的批处理文件。
如果要从Visual Studio编辑代码等,请使用以proj_开头的批处理文件。

·Visual Studio版本

请选择已安装的Visual Studio版本。

在本例中,由于选择包含Visual Studio 2015解决方案文件的项目,因此执行“proj_msvc2015.bat”。

执行时会显示如下图所示的选项,请输入对应的半角数字。

·架构选择

选择x86(Win32)或x64(Win64)。
请根据您的使用环境酌情选择。

·Cubism Core模块选择

选择要使用的Cubism Core运行时工具库。
关于MD、MT等的含义,请查看Microsoft官方文档

·项目内容的选择

选择要生成的项目的内容。
如果您选择Full Demo:将生成一个使用Cubism SDK for Native所有功能的范例项目。
如果您选择Minimum Demo:生成一个最小项目,显示重复单个动态的模型。该项目中使用了以下功能:

  • 导入和显示Cubism模型
  • 循环播放一个动态的功能
  • 拖动鼠标跟踪视线
  • 物理模拟
  • 呼吸
  • 姿势

如果输入正常,将开始通过CMake生成。
* 如果开始生成后出现错误,请检查CMake的版本和指定的Visual Studio版本。

构建

通过CMake生成完成后,从生成的文件中打开解决方案文件。
在这个例子中,执行
·proj_msvc2015.bat

,于选项中选择
·x64(Win64)
·use the multithread-specific and DLL-specific version of the run-time library (MD)

输出的
[根]/Samples/D3D9/Demo/proj.d3d11.cmake/build/proj_msvc2015_x64_md”中的“Demo.sln”通过Visual Studio打开,并执行构建。

如果构建成功,请在调试中执行它。

如果显示大画面,即为成功。
* 在最小范例中,不显示背景和模型切换的齿轮图标等UI。

如果要调整视窗大小,请变更“/Sample/D3D11/Demo/proj.d3d11.cmake/src/LAppDelegate.cpp”的
LAppDelegate::Initialize()中使用的SetRect()的第4参数、第5参数的值。

        SetRect(&rect, 0, 0, RenderTargetWidth, RenderTargetHeight);

* RenderTargetWidth、RenderTargetHeight在“/Sample/D3D11/Demo/proj.d3d11.cmake/src/LAppDefine.cpp”中定义实际的值。

执行文件的输出目的地

此次从CMake创建的项目与通常项目不同,
文件的输出目的地将在与项目文件夹相同层次结构中创建的“bin”下。

具体来说,当项目文件夹为“[根]/Samples/D3D11/Demo/proj.d3d11.cmake/build/proj_msvc2015_x64_md”时,
执行文件输出到“[根]/Samples/D3D11/Demo/proj.d3d11.cmake/build/proj_msvc2015_x64_md/bin/[Configurations]/”。

例:“[根]/Samples/D3D11/Demo/proj.d3d11.cmake/build/proj_msvc2015_x64_md/bin/Release/

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