Build
ビルド方法
ソースコードの取得と準備
まずgd_cubismをgit cloneしてください。
最新のバージョンでしたらそのまま使用してください。もし機能拡張やバグ修正が行われたものを試したい場合は適宜ブランチを切り替えてください。
git clone https://github.com/MizunagiKB/gd_cubism.git
cd gd_cubism
git submodule update --init
CubismSdkForNativeの入手と配置
次にビルドに必要なSDKをLive2Dのオフィシャルサイトから入手してください。
-
Live2D Official website - https://www.live2d.com/
Cubism SDK for Native には Cusism SDK 以外に Cubism Native Framework が含まれています。
ダウンロードしたファイルを以下のフォルダ構成になる様に展開してください。(ダウンロードしたものを thirdparty フォルダに配置してファイルを展開すればこの形になります)
./thirdparty
└── CubismSdkForNative-5-r.1
├── CHANGELOG.md
├── Core
│ ├── CHANGELOG.md
│ ├── LICENSE.md
│ ├── README.ja.md
│ ├── README.md
│ ├── RedistributableFiles.txt
│ ├── dll
│ ├── include
│ └── lib
├── Framework
│ ├── CHANGELOG.md
│ ├── CMakeLists.txt
│ ├── LICENSE.md
│ ├── README.ja.md
│ ├── README.md
│ ├── TRANSLATION.md
│ └── src
├── LICENSE.md
├── NOTICE.ja.md
├── NOTICE.md
├── README.ja.md
├── README.md
├── Samples
│ ├── Cocos2d-x
│ ├── D3D11
│ ├── D3D9
│ ├── Metal
│ ├── OpenGL
│ ├── Resources
│ └── Vulkan
├── cubism-info.yml
├── logor.png
└── logos.png
不具合対応について
Godot Engine のバージョンと環境によっては、Window非表示状態でメモリリークが発生する不具合が発生しています。
この不具合は Vulkan レンダラーを使用している Forward+, mobile で発生しており、一部の問題は対策されているものの macOS 環境においては解消されていません。
この問題に対応するため、 scons 実行時に COUNTERMEASURES_90017_90030 を指定できる様にしました。
- COUNTERMEASURES_90017_90030=1 (default)
-
Window非表示状態のときLive2Dモデルの描画処理を呼び出しません。
- COUNTERMEASURES_90017_90030=0
-
Windowの表示状態に関わらず、常にLive2Dモデルの描画処理を呼び出します。
不具合の内容については以下のIssueを参照してください。
CubismEditor との挙動の違いについて
GDCubism が内部で使用している CubismNativeFramework は、 Cubism Editor で作成された Live2D モデルを再生可能な様に作成されているものの、描画のプライオリティやモーションに差異が生まれる事があります。
Cubism SDK for Native のドキュメントには、Cubism Editor との動作の違いやデータ作成上のヒントが記載されています。
ドキュメントの内容は主に Unity や Cubism SDK for Native 向けでそのまま使用できない場所もありますが、参考にしてみてください。
Windows版のビルド
ビルドには以下のものが必要となります。
|
SCons 4.8 を使用すると VS Project が正常に生成出来ず、ビルドに失敗するという報告を受けています。 この問題は Godot Engine 側にあり、将来のバージョンで解消されると思いますが、現状は SCons を 4.7 で使用してください。 https://github.com/godotengine/godot/pull/94117
|
環境が準備できたら以下の手順でビルドを行ってください。
scons platform=windows vsproj=yes arch=x86_64 target=template_debug
scons platform=windows vsproj=yes arch=x86_64 target=template_release
ビルドが完了すると以下のファイルが demo/addons/gd_cubism/bin 以下に生成されます。
-
libgd_cubism.windows.debug.x86_64.dll
-
libgd_cubism.windows.release.x86_64.dll
macOS版のビルド
ビルドには以下のものが必要となります。
|
SCons 4.8 を使用するとビルドに失敗するという報告を受けています。 この問題は Godot Engine 側にあり、将来のバージョンで解消されると思いますが、現状は SCons を 4.7 で使用してください。 https://github.com/godotengine/godot/pull/94117
|
準備できたら以下の手順でビルドを行ってください。
# for x86_64(intel mac)
scons platform=macos arch=x86_64 target=template_debug
scons platform=macos arch=x86_64 target=template_release
# for arm64(Apple Silicon mac)
scons platform=macos arch=arm64 target=template_debug
scons platform=macos arch=arm64 target=template_release
ビルドが完了すると以下のファイルが demo/addons/gd_cubism/bin 以下に生成されます。
-
libgd_cubism.macos.debug.framework
-
libgd_cubism.macos.release.framework
universalバイナリとしてビルドする場合
universalバイナリとしてビルドする場合は、sconsを実行する前に以下の様にリンクファイルを生成してください。
pushd thirdparty/CubismSdkForNative-5-r.1/Core/lib/macos
mkdir universal
lipo -create arm64/libLive2DCubismCore.a x86_64/libLive2DCubismCore.a -output universal/libLive2DCubismCore.a
popd
# for universal
scons platform=macos arch=universal target=template_debug
scons platform=macos arch=universal target=template_release
Linux版のビルド
ビルドには以下のものが必要となります。
Linuxの場合、ディストリビューション毎に必要なパッケージが追加で必要となる場合があります。どのディストリビューションで何が必要になるかは Godot Engine のドキュメントを参考にしてください。 |
環境が準備できたら以下の手順でビルドを行ってください。
scons platform=linux arch=x86_64 target=template_debug
scons platform=linux arch=x86_64 target=template_release
ビルドが完了すると以下のファイルが demo/addons/gd_cubism/bin 以下に生成されます。
-
libgd_cubism.linux.debug.x86_64.so
-
libgd_cubism.linux.release.x86_64.so
その他のビルドについて
以下の二つはビルドが行えることのみを確認しており、動作確認まではしていません。
それぞれの環境で動かしてみる場合の参考にご利用ください。
iOS版のビルド
ビルドには以下のものが必要となります。
|
Xcodeはコマンドラインのみで使用している場合、iphoneos向けのビルドが開始されない場合があります。
この場合はXcodeのパスを以下の様に指定し直すことでビルドが行われる様になります。
sudo xcode-select --switch /Applications/Xcode.app
準備できたら以下の手順でビルドを行ってください。
# for arm64
scons platform=ios arch=arm64 target=template_debug
scons platform=ios arch=arm64 target=template_release
# for universol
scons platform=ios arch=universal target=template_debug
scons platform=ios arch=universal target=template_release
ビルドが完了すると以下のファイルが demo/addons/gd_cubism/bin 以下に生成されます。
-
libgd_cubism.ios.debug.arm64.dylib
-
libgd_cubism.ios.release.arm64.dylib
-
libgd_cubism.ios.debug.universal.dylib
-
libgd_cubism.ios.release.universal.dylib
Android版のビルド
ビルドには以下のものが必要となります。
|
ここでは Windows10 環境に Android Studio を導入しているという前提で話をします。
Android Studio を起動して、 SDKManager を起動します。 SDKManager は Android Studio 起動時の Welcome to Android Studio と表示されている画面にある More Actions から選択できます。
SDKManagerが起動したら、以下のものにチェックを入れてダウンロードします。
-
SDK Platforms
-
Android API 34
-
Android 10("Q")
-
-
SDK Tools
-
Android SDK Build-Tools 34
-
NDK (Side by side)
-
Android SDK Command-line Tools (latest)
-
CMake
-
Android Emulator
-
Android SDK Platform-Tools
-
Android SDK Tools (Obsolete)
-
環境が準備できたら以下の手順でビルドを行ってください。
scons platform=android target=template_debug arch=armv7
scons platform=android target=template_release arch=armv7
scons platform=android target=template_debug arch=arm64v8
scons platform=android target=template_release arch=arm64v8
ビルドが開始されていない場合は、以下の環境変数を設定してみてください。
-
ANDROID_SDK_ROOT … SDKManager で選択したものがインストールされている場所
-
ANDROID_HOME … SDKManager で選択したものがインストールされている場所
-
ANDROID_NDK_HOME … SDKManager でインストールした NDK の場所
-
ANDROID_NDK_ROOT … SDKManager でインストールした NDK の場所
set ANDROID_SDK_ROOT=D:\Android\sdk
set ANDROID_HOME=D:\Android\sdk
set ANDROID_NDK_HOME=%ANDROID_SDK_ROOT%\ndk\26.0.10792818
set ANDROID_NDK_ROOT=%ANDROID_SDK_ROOT%\ndk\26.0.10792818
ビルドが完了すると以下のファイルが demo/addons/gd_cubism/bin 以下に生成されます。
-
libgd_cubism.android.debug.arm32.so
-
libgd_cubism.android.release.arm32.so
-
libgd_cubism.android.debug.arm64.so
-
libgd_cubism.android.release.arm64.so