using System;
using DxLibDLL;
class Program
{
// 読み込むCubismCore.dllのbit版を設定(手動切り替えテスト)
static readonly int OS_VER = 32;
static int Main(string[] args)
{
// Live2Dモデル用変数
int modelHandle;
// ウィンドウモードで起動
DX.ChangeWindowMode(DX.TRUE);
// OSのbit数に応じてCore.dllをセット
if (OS_VER == 32)
{
// 32bit版
DX.Live2D_SetCubism4CoreDLLPath("Live2D_Dll/x86/Live2DCubismCore.dll");
Console.WriteLine("32bit版");
}
else if (OS_VER == 64)
{
// 64bit版
DX.Live2D_SetCubism4CoreDLLPath("Live2D_Dll/x86_64/Live2DCubismCore.dll");
Console.WriteLine("64bit版");
}
// DXライブラリの初期化
if (DX.DxLib_Init() == -1)
{
return -1;
}
// Live2Dモデルの読み込み
modelHandle = DX.Live2D_LoadModel("Live2D/Hiyori/Hiyori.model3.json");
Console.WriteLine("modelHandle = " + modelHandle);
// 描画先を裏画面に設定
DX.SetDrawScreen(DX.DX_SCREEN_BACK);
// メインループ
while (DX.ProcessMessage() == 0)
{
// 画面の初期化
DX.ClearDrawScreen();
// エスケープキー押下でループを抜ける
if (DX.CheckHitKey(DX.KEY_INPUT_ESCAPE) == 1) break;
// スペースキーを押したらアイドリングモーションをランダムで再生
if (DX.CheckHitKey(DX.KEY_INPUT_SPACE) == 1)
{
DX.Live2D_Model_StartMotion(modelHandle, "Idle", DX.GetRand(1));
}
// モデルの状態を60分の1秒分進める
DX.Live2D_Model_Update(modelHandle, 1 / 60.0f);
// Live2D描画の開始
DX.Live2D_RenderBegin();
// モデルの描画
DX.Live2D_Model_Draw(modelHandle);
// Live2D描画の終了
DX.Live2D_RenderEnd();
// 裏画面の内容を表画面に反映
DX.ScreenFlip();
}
// Live2Dモデルの破棄
DX.Live2D_DeleteModel(modelHandle);
// DXライブラリ終了処理
DX.DxLib_End();
return 0;
}
}
いつもお世話になっております。
64ビット版のCubismCore.dllを読み込んだ場合はモデルデータが表示されるのですが、
32ビット版を読み込むと表示されません。modelHandleの値も-1でした。
デバッグ時に出力されたlogを見てみると、
64ビット版 ->「Live2DCubismCore.dll の読み込みに成功しました」
32ビット版 ->「Live2DCubismCore.dll の読み込みに失敗しました」
と、32ビット版だけdllの読み込みができていないようなのです。
SDKはCubismSdkForNative-4-r.1を使用しています。
パス名も間違っていないようですので、原因は何なのでしょうか……?
よろしくお願いいたします。