Live 2D를 C++ 형식으로 삽입하기 위해 Cubism3 Native 샘플을 이동했습니다.

Kuin에 Live 2D를 넣고 싶어요.


프로그래밍 언어인 Kuin에 Live 2D를 포함하기 위해 C++에서 제공하는 Cubism3 Native를 테스트하기로 결정했습니다.
이번에는 실제 샘플 프로젝트를 시작하려고 합니다.

컨디션


이번에는 아래의 환경에서 진행한다.
프로그래밍 언어인 Kuin에 편입하기 위해 환경을 합친다는 의미가 있다.
  • Visual Studio 2017 C++
  • 타겟 플랫폼 8.1
  • 키트 v140
  • DirectX11
  • 메시지 없음


    Cubism3 Native이지만 놀라운 정보는 없습니다.
    업무상 사용하는 사람이 많기 때문이다.취미에 맞게 해볼게요.
    가장 큰 정보원은 SDK 튜토리얼입니다.
    SDK 자습서: https://docs.live2d.com/cubism-sdk-tutorials/top/
    이 조사에 따르면 기본적으로 코코스2d-x, OpenGL 등 스마트폰과 로컬 애플리케이션을 대상으로 한다.

    네.DirectX에 대한 기록이 없습니다.
    기세다.

    Cubism SDK for Native 가져오기


    공식에서 다운로드할 수 있습니다.
    Last update : 2019/03/28
    Download Cubism 3 SDK for Native beta11
    https://live2d.github.io/#native

    샘플 항목도 있는 것 같은데.

    프로비저닝


    나는 이곳이 갑작스러운 난관이라고 생각한다.
    어떻게 조립해야 할지 예측만 할 수 있을 뿐이다.
  • Core
  • Framework
  • Samples
  • 나는 이런 입장들을 조사했다.
  • Core→lib 및 머리글컴파일되었습니다.
  • Framework→소스 및 머리글.필요한 것을 컴파일하여lib 또는 DLL로 만듭니다.
  • Samples→라이브 2D를 실제로 사용할 때의 샘플 항목.
  • 해야 할 일


    할 일은 다음과 같다.
  • Framework 구축
  • Samples를 통한 동작 확인
  • Framework 구축


    Framework에 관한 빌딩은 비교적 가볍다.
    소스 코드로 배포할 뿐만 아니라 CMake 파일도 함께 제공됩니다.
    CMake를 기반으로 Visual Studio 2017 프로젝트 파일을 조정합니다.
    주로'DirectX 연결에 경로 및 라이브러리 추가'입니다.(예: 추가 라이브러리에 d3dcommpiler.lib 추가)
    DirectX의 지식은 Cubism3 Native와 무관하므로 생략합니다.
    주의 사항은 Rendering 폴더 내의 D3D9 폴더와 OpenGL 폴더가 필요하지 않다는 것입니다.
    이번 목표가 DirectX11이기 때문이다.
    OpenGL을 위한 경우 D3D 9 및 D3D 11 폴더가 필요하지 않습니다.
    또 원본 코드를 읽으면 알 수 있지만 폴더 계층은 조정이 필요하기 때문에 주의해야 한다.

    Samples 구축


    샘플은 환경에 따라 준비한 것이다.
    이번에는 DirectX11이므로 D3D 11입니다.

    Res 폴더는 Live 2D용 데이터입니다.공동의 필수가 되다.
    또 이 샘플에는 DirectXTK가 필요하다.
    ReadMe_ja.txt에 따라 DirectXTK, DirectXTK를 다운로드하고 구축합니다.lib을 미리 제작하세요.
    그렇다면 실제로 구축하면 많은 오류가 발생할 것이다.
    (폴더 구성에 대한 할애)
    LPCSTR 및 LPCWSTR의 유형 변환을 수행할 수 없기 때문입니다.
    이것은 환경을 구축하는 데 있어서 흡수할 수 있는지 없는지가 매우 번거롭기 때문에 다음과 같은 대응을 진행하였다.


    원래는 C++에서 개발한 사람이라면 이 일대에 문제가 없겠죠.
    반면 나 같은 C#er는 이해하기 어렵다.
    추기: 이후에 조사한 결과 이 부분은 LPCSRT로 유형 선언을 하는 변수이다.따라서 유형 선언을 LPCWSTR로 수정하여 대응합니다.가능하다는 걸 알았으면 좀 더 우아하게 해결했어야지.
    마지막으로 자원과 관련된 속성을 명시해야 한다.

    서류는 당연히 텍스트다.그림은 그림입니다.
    moc3 파일이 자원이면 오류가 발생하기 때문에 이번에는 미디어로 사용합니다.
    (모든 구성을 선택할 구성)
    지금까지의 작업을 통해 견본을 구축하고 운행할 수 있다.
    https://twitter.com/isimiya9/status/1114068543002177536
    그 다음은 주로 샘플의 원본 코드를 읽는다.
    샘플의 소스 코드를 읽으면 C++로 프로그램을 만들 수 있습니다.
    이상.

    좋은 웹페이지 즐겨찾기