コンテンツにスキップ

高度な機能の使い方

Android用に設定する

Herculesの高度な機能を使用するには、Android Gradleモジュールでプレハブ機能を有効にする必要があります。

Android Studioプロジェクトの設定

  • Android Gradle Plugin < 4.1

    • 次の内容をgradle.propertiesファイルに追加します。
    android.enablePrefab=true
    
  • Android Gradle プラグイン ≥ 4.1 の場合

    • build.gradle ファイルの android ブロックに以下を追加します。
    android {
        ...
        buildFeatures {
            prefab true
        }
    }
    

CMake / ndk-buildの設定 (C/C++を使用する場合)

  • NDK ≥ r21 の場合
// When using CMake
find_package(hercules REQUIRED CONFIG)

target_link_libraries(
  ...
  hercules::Hercules
)

// When using Android.mk
LOCAL_SHARED_LIBRARIES := Hercules

ifneq ($(call ndk-major-at-least,21),true)
    $(call import-add-path,$(NDK_GRADLE_INJECTED_IMPORT_PATH))
endif
$(call import-module, prefab/hercules)
  • NDK < r21

プロジェクトにHercules.hファイルを追加し、.soファイルパスへの直接リンクを使用してください。

// CMake
target_link_libraries(
    ...
    ${CMAKE_CURRENT_SOURCE_DIR}/../build/intermediates/merged_native_libs/${CMAKE_BUILD_TYPE}/out/lib/${ANDROID_ABI}/libHercules.so
)

// Android.mk
include $(CLEAR_VARS)
LOCAL_MODULE := Hercules
LOCAL_SRC_FILES := ../build/intermediates/merged_native_libs/debug/out/lib/$(TARGET_ARCH_ABI)/libHercules.so
include $(PREBUILT_SHARED_LIBRARY)
LOCAL_SHARED_LIBRARIES := Hercules

iOSの設定

設定方法

プロジェクトにCocoaPodsを通じてインストールされたHerculesフレームワークのパスの下にある.hを見つけて、プロジェクトにインポートします。
シミュレーターまたはデバイスターゲットパスに含まれているヘッダーのいずれかを選択して使用できます。

パスは次のとおりです: ${PROJECT_ROOT_DIR}/Pods/Hercules/Hive_SDK_iOS_External_${HIVE_SDK_VERSION}/Hercules.xcframework/${SIMULATOR_OR_PHONEOS}/Hercules.framework/Headers/Hercules.h

Unityの設定

プロジェクト設定

  • UnityプリプロセッサフラグにUSE_HERCULESを追加します。

    • プレイヤー設定 → その他の設定 → スクリプトコンパイル → スクリプティング定義シンボル

  • 'unsafe' コードを許可するを有効にします。

    • プレイヤー設定 → その他の設定 → スクリプトコンパイル → 'unsafe' コードを許可

Unreal用に設定する

Hive SDK Unrealプラグインに含まれるHerculesモジュールは、Herculesの高度な機能をサポートしていません。
Unreal環境でHerculesの高度な機能を使用するには、以下を参照してください。

hive::Configuration::setUseHercules(false);
  • プラグインディレクトリのトップにあるHerculesフォルダ内のヘッダーとライブラリを見つけて、ゲームプロジェクトに追加してください
  • HIVESDK.Build.csでTarget.Platform == UnrealTargetPlatform.Win64が設定されている場合、以下に示すように.lib設定が必要です。
PublicAdditionalLibraries.Add(ModuleDirectory + "/ThirdParty/windows/lib/Hercules.lib");