Zum Hauptinhalt springen
Diese Seite wurde automatisch übersetzt und kann Fehler enthalten. Original auf Englisch ansehen

Guide für Unreal

Mit unserem Unreal SDK Plugin können Sie haptisches Feedback in Ihre mit Unreal erstellten Inhalte integrieren.

  1. SDK Plugin importieren
  2. Haptic App verknüpfen
  3. Haptische Umgebung einrichten
  4. (Optional) Vorbereitung für C++

Anforderungen

  • Entwicklungsumgebung
    • OS: Windows 10/11 (x64), macOS (Apple Silicon) (derzeit in Beta)
    • Unreal Engine 5.2 - 5.8
    • bHaptics Player installiert
    • Bereitgestellte haptische Anwendung, die zu Ihrem Spiel passt
      • App ID und API Key der haptischen App
  • Laufzeitumgebung
    • OS: Windows 10/11 (x64), Android (nur VR-Headsets), PS5
      • Unterstützte Headsets: Meta Quest 2/3/3S/Pro, Pico 4/4 Pro/4 Ultra, HTC VIVE Focus 3/Focus Vision/XR Elite
      • Der bHaptics VR Player muss auf dem Headset installiert sein.
hinweis

Falls Sie Unterstützung für eine Unreal Engine-Version außerhalb des Bereichs 5.2 - 5.8 benötigen, wenden Sie sich an support@bhaptics.com.

Deprecated Feature

Die Verwendung von bHaptics-Haptic-Geräten auf einem standalone VR-Headset ohne installierten bHaptics VR Player auf dem Headset ist veraltet. Installieren Sie den bHaptics VR Player auf dem Headset, um Haptic-Geräte zu verwenden.

For macOS

Wenn Sie für macOS entwickeln, lesen Sie bitte den Abschnitt macOS Network Entitlement, um sicherzustellen, dass Ihre gepackte App eine Verbindung zu bHaptics Player herstellen kann.

About haptic application

You can create and manage haptic apps in Developer Portal, a web-based tool.

If you're unfamiliar with haptic apps or haven't created one yet, please follow the Portal guide before proceeding.

Before linking a haptic app to your game project, make sure the haptic app meets the following requirements:

  • At least one haptic event must be created.
  • API Key must be generated.
    • There is no API Key by default. To generate one, go to the "API Key" tab and click "New" button.
  • Haptic app must be deployed
    • If you see "Deploy Now" button in the upper right corner, click it to deploy your haptic app. Otherwise, if you can see "Up to date", it means that the latest haptic app has already been deployed.

Also, link process requires App ID and API Key. Go to the "Settings" tab, and check the App ID and API Key.

Check app ID, API key at the settings tab in Portal

SDK Plugin importieren

Es gibt zwei Möglichkeiten, das SDK Plugin in Ihr Unreal-Projekt zu importieren: Engine Plugin und Game Plugin.

Welches sollte ich verwenden?

Beide Plugin-Typen können ähnliche Funktionen bereitstellen, aber ihr Installationsort und ihr Geltungsbereich sind unterschiedlich.

  • Engine Plugin: Wird im Engine-Verzeichnis installiert und steht damit allen Projekten zur Verfügung, die die installierte UE-Version verwenden.
    • Installiert unter [Unreal Engine Root Directory]/Engine/Plugins/[Plugin Name]/
  • Game Plugin: Wird im Ordner Ihres Projekts platziert und steht damit nur einem bestimmten Projekt zur Verfügung.
    • Installiert unter [Project Root Directory]/Plugins/[Plugin Name]/

Das Plugin, das Sie von Fab herunterladen, ist ein Engine Plugin — ein vorkompiliertes Windows-Binary. Es enthält keine macOS- oder Konsolen-Binaries und kann daher nicht auf macOS verwendet oder für Konsolen wie PS5 gepackt werden.

Für macOS- oder Konsolenentwicklung verwenden Sie bitte ein Game Plugin. Das SDK selbst ist plattformneutral — es kommuniziert mit bHaptics Player über eine lokale Netzwerkverbindung — daher lässt sich der Quellcode für jede Zielplattform kompilieren. Ein Game Plugin platziert diesen Quellcode in Ihrem Projekt, sodass er zusammen mit Ihrem Projekt für Ihre Zielplattform gebaut wird, einschließlich macOS und PS5. Das Bündeln des Plugin-Quellcodes in Ihrem Projekt entspricht auch den Anforderungen der Konsolenzertifizierung. Ein Game Plugin ist auch nützlich, wenn Sie Fab nicht verwenden können.

Weitere Informationen finden Sie in der offiziellen Unreal-Dokumentation.

Das Plugin installieren

hinweis

Das Fab Engine Plugin ist ein vorkompiliertes Windows-Binary. Für macOS verwenden Sie stattdessen das Game Plugin.

  1. Holen Sie sich das bHaptics Plugin von Fab. bHaptics Plugin in Code Plugins auf Fab
  2. Gehen Sie zum Epic Games Launcher, um das Plugin in der Engine zu installieren. Plugin im Epic Games Launcher installieren
    1. Wählen Sie links die Registerkarte "Unreal Engine".
    2. Wählen Sie oben die Registerkarte "Library".
    3. Scrollen Sie nach unten zu "Fab Library" und suchen Sie nach "bhaptics".
    4. Suchen Sie "bHapticsPlugin" und wählen Sie "Install to Engine".
    5. Wählen Sie die Version der Spiel-Engine aus, die Sie verwenden möchten.
    6. Wählen Sie "Install". Der Download beginnt sofort.
  3. Öffnen Sie das Unreal-Projekt und gehen Sie zum Plugins-Fenster.
  4. Aktivieren Sie das Plugin. Frame 79.png
    1. Suchen Sie nach "bhaptics".
    2. Aktivieren Sie "BhapticsPlugin", indem Sie das Kontrollkästchen markieren.
    3. Es erscheint eine Warnung. Drücken Sie "Restart Now". (Stellen Sie sicher, dass Sie Ihr Projekt zuerst speichern, falls Sie Änderungen vorgenommen haben!)
  5. Öffnen Sie nach dem Neustart des Editors das Plugins-Fenster erneut und prüfen Sie, ob "BhapticsPlugin" aktiviert ist.

Haptic App verknüpfen

  1. Öffnen Sie die Project Settings.
  2. Gehen Sie zu den Einstellungen des bHaptics Plugins. Untitled
  3. Geben Sie die App ID und den API Key Ihrer haptischen App ein und drücken Sie die Schaltfläche "Link bHaptics". App ID und API Key finden Sie im Portal.
  4. Wenn das Projekt erfolgreich mit dem bHaptics Developer Portal synchronisiert wurde, erhalten Sie die folgende Meldung BHAPTICS_SETTINGS_SUCCESS. Untitled

Haptische Umgebung einrichten

Bevor Sie haptikbezogene Funktionen verwenden, müssen Sie die haptische Umgebung einrichten. Es gibt zwei Hauptfunktionen, die Sie verwenden müssen: Initialize und Destroy.

Sie sollten die haptische Umgebung zu Beginn des Spiels initialisieren. Außerdem sollten Sie sie zerstören (Destroy), wenn das Spiel endet.

Für diese Funktionen werden sowohl Blueprint- als auch C++-Methoden bereitgestellt.

  • Blueprint
    • Initialize: Knoten "Initialize bHaptics" aufrufen
    • Destroy: Knoten "Destroy bHaptics" aufrufen
  • C++
    • Initialize: Funktion UBhapticsSDK2::Initialize() aufrufen
    • Destroy: Funktion UBhapticsSDK2::Destroy() aufrufen

Außerdem müssen Sie Folgendes beachten:

  • Sie können mehrfach initialisieren. Dies verursacht keine Effizienzprobleme.
  • Sie MÜSSEN im letzten Level, in dem das Programm endet, DESTROY aufrufen, und zwar NUR EINMAL. Es kann zu Abstürzen führen, wenn Sie Destroy nicht oder mehr als einmal aufrufen.

Gängige Einrichtungsmethoden

Es gibt zwei gängige Möglichkeiten, die haptische Umgebung einzurichten. Wählen Sie je nach Struktur und Anforderungen Ihres Projekts eine davon aus.

  • Über GameInstance (empfohlen)
  • Über Level Blueprint

Die Game Instance wird beim Start der Engine instanziiert und bleibt aktiv, bis die Engine heruntergefahren wird.

"Gameplay Framework" — Unreal-Dokumentation

  1. Erstellen Sie eine neue Blueprint Class, die von "GameInstance" erbt. Untitled
  2. Benennen Sie sie nach Belieben und öffnen Sie ihren Event Graph. Untitled
  3. Richten Sie den Event Graph ein und kompilieren/speichern Sie. Untitled
    • Initialize: Verbinden Sie "Initialize bHaptics" nach "Event Init".
    • Destroy: Verbinden Sie "Destroy bHaptics" nach "Event Shutdown".
  4. Gehen Sie zu Project Settings → Project → Maps & Modes und setzen Sie die Game Instance Class auf die soeben erstellte. Untitled

(Optional) Vorbereitung für C++

Wenn Sie C++ in Ihrem Unreal-Projekt verwenden, sind einige zusätzliche Schritte erforderlich.

  1. Wechseln Sie zu Source/[YourGameName]/[YourGameName].Build.cs und fügen Sie die Abhängigkeit hinzu.
    Source/[YourGameName]/[YourGameName].Build.cs
    // Add Dependency

    PrivateDependencyModuleNames.Add("BhapticsPlugin");

    // Or Using AddRange

    PrivateDependencyModuleNames.AddRange(new string[] { "BhapticsPlugin" });
    hinweis

    Nachdem Sie die Datei Build.cs geändert haben, müssen Sie die Projektdateien neu generieren und die Engine neu erstellen.

    1. Projektdateien neu generieren: Gehen Sie im Datei-Explorer zu Ihrem Unreal-Projekt, klicken Sie mit der rechten Maustaste auf die Datei [YourUEProjectName].uproject und wählen Sie "Generate Visual Studio Project Files".
    2. Engine neu erstellen: Öffnen Sie [YourUEProjectName].sln, klicken Sie im Solution Explorer mit der rechten Maustaste auf den Projektnamen und wählen Sie "Rebuild".
  2. Binden Sie den Header "BhapticsSDK2.h" in Ihr C++-Skript ein, das die haptischen Funktionen verwendet.
    #include "CppGameModeBase.h"
    #include "BhapticsSDK2.h"

    void CppGameModeBase::BeginPlay()
    {
    Super::BeginPlay();

    UBhapticsSDK2::Initialize();
    }

macOS Network Entitlement

Unter macOS 15 (Sequoia) und höher läuft eine gepackte App in der App Sandbox. Die Sandbox blockiert den gesamten Netzwerkzugriff (einschließlich Verbindungen zu localhost), sofern die App das Network-Client-Entitlement nicht deklariert. Da das SDK über eine lokale Verbindung mit bHaptics Player kommuniziert, kann ein gepacktes macOS-Build ohne dieses Entitlement keine Verbindung zum Player herstellen (es kann sein, dass ein Sandbox-Deny-Network-Fehler auftritt).

Wenn Sie Ihre App für macOS packen, fügen Sie das Entitlement com.apple.security.network.client hinzu. Dies wird vom App-Entwickler konfiguriert und ist nicht Teil des SDK.

Weiterführende Lektüre

Sie sind nun bereit, die haptische Funktion von bHaptics zu verwenden! Besuchen Sie unsere Unreal-Referenz, um haptisches Feedback in Ihrem Spiel abzuspielen.

Troubleshooting

Migration Guide