Skip to content

Latest commit

 

History

History
162 lines (110 loc) · 6.52 KB

File metadata and controls

162 lines (110 loc) · 6.52 KB

HapticBridge for Unity

HapticBridge for Unity

English · Türkçe

Resmi olmayan, topluluk tarafından geliştirilen bir plugin. Logitech veya Unity Technologies ile bağlantılı/onaylı değildir.

openupm plugin release license Logi Marketplace

Logitech MX Master 4 için Unity oyunlarına tek satırda haptic feedback — port yok, sertifika yok, domain ayarı yok.

MX Master 4 haptic feedback

using HapticBridge;

HapticsBridge.Trigger(HapticEvent.Click);

Kurulum (4 adım)

  1. Logi Options+ kurulu olsun (MX Master 4 ile zaten geliyor).

  2. Releases sayfasından HapticBridgeForUnity_x.y.lplug4'ü indir → çift tıkla → Logi Options+ companion plugin'i kurar.

  3. Unity paketini kur — iki yoldan biri:

    OpenUPM (önerilen):

    openupm add com.edinylcnn.hapticbridge

    Git URL (CLI'sız): Package Manager → + → Add package from git URL → https://github.com/edinylcnn/HapticBridgeForUnity.git?path=/unity-package

    Unity 2022+, scoped registry'den gelen her pakette (tüm OpenUPM paketleri dahil) "Missing signature" uyarısı gösterir. Install Anyway bas — OpenUPM, Unity'nin özel sertifikası ile imzalama yapamaz, bu uyarı beklenen bir durumdur.

  4. İstediğin yerden çağır:

    HapticsBridge.Trigger(HapticEvent.Click);

Hiçbir şey hissetmiyorsan Logi Options+ → MX Master 4 → Haptic Feedback sekmesine gir ve "HapticBridge for Unity" toggle'ının açık olduğunu doğrula (kurulumdan sonra default açık gelir).


Event'ler

Oyundan bağımsız dokuz genel amaçlı event, 15 haptic waveform'una eşlenmiş. İstersen genişlet.

Event Waveform Tipik kullanım
Click subtle_collision UI etkileşimi, buton, menü
Confirm jingle Onay, satın alma, kaydet
Success completed Başarılı işlem, doğru cevap
Failure mad Hatalı aksiyon, yanlış giriş
Warning damp_state_change Uyarı, kritik eşik
Notification happy_alert Mesaj, ipucu, bildirim
Achievement firework Ödül, seviye atlama, nadir olay
ImpactLight subtle_collision Hafif temas, küçük etki
ImpactMedium sharp_collision Standart darbe, çarpışma

Belirli bir waveform istiyorsan 15 waveform id'sinden birini doğrudan gönder:

HapticsBridge.TriggerRaw("firework");

Tam liste: sharp_collision, sharp_state_change, knock, damp_collision, mad, ringing, subtle_collision, completed, jingle, damp_state_change, firework, happy_alert, wave, angry_alert, square.


Nasıl çalışır

Unity oyunu
    │
    │  Windows:      Named Pipe \\.\pipe\HapticBridgeForUnity
    │  macOS/Linux:  Unix Domain Socket  $TMPDIR/CoreFxPipe_HapticBridgeForUnity
    ▼
HapticBridge companion plugin  (Logi Options+ içinde çalışır — .lplug4)
    │
    │  PluginEvents.RaiseEvent(waveform)
    ▼
MX Master 4 haptic aktuatör

Repo iki bileşenli bir monorepo:

Klasör İçerik Dağıtım
logi-plugin/ Logi Options+ companion plugin (C#) .lplug4GitHub Releases · Logi Marketplace
unity-package/ Unity Package — com.edinylcnn.hapticbridge Unity Package Manager (git URL)

Neden macOS/Linux'ta Unix Domain Socket?

Unity'nin Mono runtime'ı NamedPipeClientStream'i .NET'in plugin tarafında kullandığı $TMPDIR/CoreFxPipe_<name> path'ine götürmüyor. İstemci bu soyutlamayı atlayıp socket'a doğrudan bağlanıyor — böylece iki taraf aynı path'te buluşuyor. Windows'ta klasik Named Pipe.


Platform desteği

Platform Haptic Not
Windows Standalone + Editor NamedPipeClientStream
macOS Standalone + Editor UnixDomainSocketEndPoint
Linux Standalone + Editor UnixDomainSocketEndPoint
iOS / Android / WebGL / Console Sessiz fallback, oyun çalışmaya devam eder

Unity runtime asmdef'i noEngineReferences: true — saf .NET, Mono ve IL2CPP'nin ikisinde de derlenir.

Companion plugin kurulu değilse Connect 200 ms timeout'a düşer, HapticsBridge.IsAvailable false döner, çağrılar sessizce skip edilir — oyun hiçbir zaman çökmez.


Editor test paneli

Window → HapticBridge → Test Panel bir pencere açar: pipe bağlantı durumu, son hata, temp path ve her event için tetik butonu — sahneye bir şey koymaya gerek yok.

HapticBridge test paneli


Kendi oyununda dağıtırken

Son kullanıcıya da companion plugin lazım. İyi bir örüntü:

if (!HapticsBridge.IsAvailable)
{
    // .lplug4 release'ine götüren tek seferlik bir kurulum ipucu göster.
}

Sonra HapticsBridge.Trigger(...) çağrılarını serbest bırak — plugin olsa da olmasa da güvenli.


Desteklenen cihaz

Sadece MX Master 4. Host SDK'nın haptic API'si şu an başka bir cihaz expose etmiyor.


Lisans

MIT — detay için LICENSE.

HapticBridge for Unity, resmi olmayan, topluluk tarafından geliştirilen bir projedir. "Logi", "Logitech", "MX Master", "Logi Options+" Logitech'in; "Unity" Unity Technologies'in tescilli markalarıdır. Bu proje adı geçen firmalardan hiçbiriyle bağlantılı veya onları onaylı değildir.