Joy Control
"Joy Control, simülasyon oyunları için hassas oyun kolu kontrolü."
⬇ JoyControl.rar (15 MB) ⬇ JoyControl-TR.pdf (164 KB)ENGI Live JoyControl, Windows için geliştirilmiş bir programdır ve kontrol cihazınız ile oyununuz arasında bir köprü görevi görür. DualShock 4, DualSense, Xbox (XInput), direksiyonlar ve joystick'ler (HID / DirectInput) ve ayrıca klavyeden gelen verileri okur. Program, bu verileri işler ve oyuna, ViGEmBus sürücüsü aracılığıyla sanal bir Xbox 360 oyun kolu sinyali gönderir.
Bu program, oyun için görünmezdir. Oyun, standart bir kontrol cihazını algılar, bu nedenle ayarlar her türlü simülatörde çalışır. Mod gerektirmez, oyun geliştiricisi tarafından destek gerektirmez, oyun dosyaları değiştirilmez.
Programın temel amacı şu. Oyun kumandasının tetik mekanizmasının hareket mesafesi yaklaşık 2 cm iken, bir otomobilin gaz pedalınınki yaklaşık 10 cm'dir. Kontrol çubuğu 1,5 cm hareket ederken, direksiyon yarım tur döner. Tam olarak bu nedenle, oyun kumandasındaki gaz ve fren ayarlarını yapmak çok zordur: parmak, 0'dan 100'e kadar olan tüm aralığı 50-80 milisaniyede kat eder ve bu durum, aracın kontrolden çıkmasına veya tekerleklerin kilitlenmesine neden olabilir. Joy Control, kontrol mekanizmasına hareket mesafesini geri kazandırır. Bu program, bunu sadece bir görselle değil, gerçek zamanlı veriler ve tepki şekilleriyle yapar.
Sinyal işleme nasıl çalışır:
Her değer bir işlem hattından geçer ve sonuç olarak, her bir değer için ayrı bir kontrol cihazı oluşturulur:
- Ölü Bölge. Program, eşik değerinin altındaki tüm ham verileri sıfır olarak kabul eder, bu nedenle titreşim ve aşınma oyun performansını etkilemez.
- Tetikleyicilerin etkileşimi. Bir tetikleyici, başka bir tetikleyici üzerinden bir çarpanla azaltılır.
- Hassasiyet eğrisi. Bu eğri, tepkinin şeklini belirler: yumuşak bir başlangıç mı yoksa ani bir tepki mi.
- Çıkış değerinin sınırlandırılması. Program, oyuna dahil edilebilecek minimum ve maksimum değerleri belirler.
- Yumuşatma kısımları. Bunlar, birim başına milisaniye cinsinden, basma ve bırakma işlemlerinde hız değişimini ayrı ayrı belirler.
- Makrolar ve eylem eşleştirmesi. Bir kontrol öğesi, başka bir kontrol öğesi üzerinde işlem yapar.
- Sanal oyun kolu Xbox 360. Oluşturulan sonuç, oyuna entegre ediliyor.
Kontrol cihazının sorgulanma sıklığı yaklaşık 120-125 Hz'dir. Tüm gecikmeler, yüksek hassasiyetli bir zamanlayıcı ile hesaplanır ve zaman biriktirme özelliği vardır. Bu nedenle, 0,1 milisaniyelik bir adım, her bir birim için doğru bir şekilde işlenir, hatta kareler arasındaki sorgulama aralıklarında bile.
Programın özellikleri:
- Her türlü giriş cihazı. PS4 ve PS5 cihazları otomatik olarak tanınır. Xbox cihazı, XInput aracılığıyla bağlanır. Direksiyonlar ve oyun kolları, HID ve DirectInput protokolleri üzerinden çalışır, klavye ise oyun kolunun yerini alır. Aynı anda birden fazla cihaz kullanılabilir.
- Bağımsız tetik ayarları. Fren ve gaz pedalları ayrı ayrı ayarlanır, her ikisi de aynı kaydırıcılarla kontrol edilmez.
- 10'a kadar yumuşatma aşaması. Aşamalar, 0 ile 255 arasındaki bir aralıkta, tuşun basılması ve bırakılması için ayrı ayrı tanımlanır ve her bir aşamadaki gecikme süresi, birim başına 0,1 ila 1000 milisaniye arasında değişir.
- "Hassasiyet Eğrileri. Tetikleyiciler için eğri -20'den +20'ye kadar, her bir analog çubuk ekseni için ise -10'dan +10'a kadar ayarlanabilir."
- Tam kontrol için ayarlar. İç ve dış ölü bölgeler, X ve Y eksenlerindeki hareket aralığı, tam hareket mesafesine kadar uzatma ve eksenler için zorunlu maksimum değer ayarları yapılabilir.
- Makrolar. "Takip et", "Sabitle", "Anlık", "Anahtar", "Turbo" ve "Devre dışı" gibi modlar mevcuttur. Her makro için bir koşul düğmesi, ters çevirme, öncelik, mikrosaniye cinsinden gecikmeler ve fiziksel sinyal ile birleştirme yöntemi (ikisi arasından büyük olan, değiştirme veya toplama) seçenekleri bulunur.
- Eylem eşleştirmesi. Herhangi bir giriş, herhangi bir çıkışla ilişkilendirilebilir ve tetikleme eşiği, tutma süresi ve öncesi ve sonrası gecikme süreleri ayarlanabilir.
- Canlı osiloskop. Grafik üzerinde, son 3 saniyeye ait ham veriler gri renkle gösterilirken, oyun motoruna iletilen veriler renkli olarak gösterilir. Ayarlar açıkça görülebilir, böylece tahmin etmek zorunda kalmazsınız.
- Oyun kumandasının etkileşimli görseli. Tetik, joystick, düğme veya dokunmatik yüzeye tıklamak, ilgili ayarların açılmasını sağlar.
- Profiller. Ayarlar, yerel bir SQLite veritabanında saklanır. Her profilin benzersiz, 16 haneli bir kodu vardır ve dosyalar JSON formatı aracılığıyla paylaşılır. Her oyun için ayrı bir profil oluşturmak pratiktir.
- 14 farklı dil seçeneği. Program, tek bir çalıştırılabilir dosyadan oluşur ve kurulum gerektirmez.
- Otomatik Kaydetme. Yapılan her değişiklik anında uygulanır ve kaydedilir, bu nedenle oyun içinden çıkmadan ayarları yapabilirsiniz.
Neden bu, simülasyon oyunları için daha iyi bir seçenek:
Standart düğme yeniden eşleme programları, yalnızca tepki şeklini, yani eğriyi değiştirir. "Joy Control" ise ek olarak hızı da değiştirir: her hareket bölümünde sinyalin hedefe ulaşma süresini (milisaniye cinsinden). Bu, tamamen farklı bir kontrol seviyesidir ve özellikle oyun kumandasıyla çalışan simülasyon oyunlarında karşılaşılan tipik sorunları çözmektedir.
- Aracı hızlandırdığınızda, aracın kontrolünü kaybetmeden düzgün bir şekilde hızlanıyor. Parmağınızla tetik düğmesine anında bastınız, gaz pedalı yavaşça basıldığı gibi, güç kademeli olarak artıyor ve araç, sanki siz gaz pedalına yavaşça basıyormuş gibi, kontrollü bir şekilde hızlanıyor.
- Frenleme, kilitlenme eşiğinde ayarlanıyor. İlk %30'luk kısım hızlı ve tepki anında gerçekleşiyor, son %30'luk kısım ise yavaş. Tam duruş noktasında, tekerleklerin kilitlenme eşiğine ulaşılabilir, ancak bunu elle fiziksel olarak yapmak mümkün değil.
- "Gaz pedalının veya fren pedalının serbest bırakılması, basma işleminden ayrı olarak ayarlanır. Gerçek bir gaz veya fren pedalının serbest bırakılması, basılmasıyla aynı hızda gerçekleşmez. Viraja girişteki fren pedalının yumuşak bir şekilde serbest bırakılması ve yokuş yukarı çıkışta gaz pedalının nazikçe azaltılması, ayrı ayrı ayarlanabilen özelliklerdir."
- Yavaş hareket, acil durumlarda müdahale etmeyi engellemez. Belirli ayarlar, en uç konumlardaki gecikmeyi devre dışı bırakır: tetik tamamen serbest bırakıldığında, fren anında kalkar.
- Direksiyon, atalet kazanır. Ani bir şekilde direksiyonu çevirmek, tekerleklerin anında dönmesini sağlamaz, çünkü direksiyonun, hareket etme ve merkeze geri dönme süreçlerinde belirli bir yumuşaklık payı vardır.
- Yönlendirme daha hassas hale geliyor. X ekseni üzerindeki hareket aralığının kısıtlanması, kontrol çubuğunun tam hareketini 60-70 derece dönüş açısına eşliyor ve aynı mesafe parmakla kullanıldığında iki kat daha hassas bir şekilde çalışıyor.
- Tüm oyunlarda her şey aynı şekilde çalışıyor. İşlem, oyun başlamadan önce, sanal bir kontrol cihazı seviyesinde gerçekleştiği için, oyunda herhangi bir ayar yapılmasına veya mod kullanılmasına gerek kalmıyor.
- Sol ayak, fren pedalında kalıyor. Bir tetikleyicinin diğerinden çıkarılması ve bir çarpan kullanılması, gaz ve fren pedallarının birbirleriyle çakıştığı araçlardaki davranışları taklit eder veya tam tersi, gaz pedalını bırakmadan hafifçe fren yapmayı mümkün kılar.
Gaz ve fren ayarları:
Sol tetik (L2 / LT), freni, sağ tetik (R2 / RT) ise gazı temsil eder. Her biri kendi penceresinde yapılandırılabilir ve tüm parametreler bağımsızdır.
| Parametre | Ne işe yarıyor | Simülatör için nasıl ayarlanır: |
|---|---|---|
| Ölü bölge. | Belirli bir eşiğin altındaki ham değerler sıfır olarak kabul edilir. | Yeni oyun kumandasındaki ölü nokta ayarı 3-8 birim olarak yapılır. Aşınmış ve gaz kaçağı olan bir tetikleyicide, bu değer 10-15 birime kadar yükseltilebilir. |
| Minimum ve maksimum çıkış değeri. | Oyun içindeki değeri 0 ile 255 arasında sınırlayan bir ayardır. | Yağmur lastiği veya güçlü arka çekişli bir araç için, maksimum çıkış değeri 255'in 190-210 birimi olarak ayarlanır. Bu durumda, tam gaz pozisyonuna ulaşmak mümkün olmaz. |
| Hassasiyet eğrisi. | Tepki eğrisinin şeklini -20 ile +20 arasındaki bir aralıkta belirler. Negatif değerler, yumuşak bir başlangıç ve hareketin başında daha fazla hassasiyet sağlar; pozitif değerler ise daha hızlı bir şekilde maksimum değere ulaşmayı sağlar. | Gaz için eğri seviyesi -6 ile -10 arasında, fren için ise -3 ile -6 arasında ayarlanır. Pozitif değerler nadiren kullanılır, örneğin butonlu el freni gibi durumlarda. |
| Basma alanları. | 0 ile 255 arasındaki aralıkta 10'a kadar bölüm tanımlanabilir ve her bir bölümün kendi milisaniye cinsinden gecikme süresi vardır. Bölümler dışındaki değerler anında değişirken, bölümler arasındaki geçişlerde gecikme süreleri toplanır. | İşte şu şekilde bir referans noktası: 255 birim, her birinin 1 milisaniye sürdüğü toplamda yaklaşık 0,26 saniye eder. Gaz pedalı için, birim başına 0,3 ila 2 milisaniye, fren pedalı için ise 0,5 ila 3 milisaniye kullanılır. |
| Boşaltma alanları. | Ayrı bir dizi değer düşüşü tanımlanır. | Genellikle, gaz pedalını bırakmak, basmaktan daha hızlıdır: birim başına 0,5 ila 1 milisaniye. Virajlarda fren pedalını yavaşça bırakmak için, daha yüksek değerlerde bir gecikme artırılır. |
| Anında sıfır ve anında maksimum değer. | Tetikleyici tamamen serbest bırakıldığında veya tamamen basıldığında, yumuşatma özelliği devre dışı kalır. | Fren pedalı, acil durum frenlemesi için etkinleştirilirken, gaz pedalı genellikle devre dışıdır. |
| Çekici öğelerin çıkarılması ve çarpan. | Fren pedalı, gaz pedalını azaltır veya tam tersi, önceden belirlenmiş bir oranla. | 0,5 ila 1,0 arasındaki çarpan, sol ayakla yapılan frenleme ve ara gazlama işlemlerini taklit eder. |
Önceden tanımlanmış tetikleyici ayarları
| Ayar | Basma | Bırakma | Ne için? |
|---|---|---|---|
| Aşamalı frenleme. | 0–80: 0,5 · 80–180: 1,5 · 180–255: 3,0 | 120–255: 1,0 · 0–120: 0,5 | Dairesel yarışlar ve kilitleme eşiğinde dozajlama. |
| Akışkan gaz. | 0–60: 0,3 · 60–200: 1,0 · 200–255: 2,0 | 0–255: 0,8 | Arka çekiş ve kayma olmadan viraj çıkışı. |
| ABS nasıl çalışır? | 0–128: 0,2 · 128–255: 2,5 | Anında. | Hızlı frenleme başlangıcı ve yavaşça artan frenleme. |
| Nasıl gidiyor? / Nasılsın? | 0–128: 2,5 · 128–255: 0,2 | Anında. | Başlangıçta yavaş tork uygulaması ve üst aralıkta serbest çalışma. |
Tablodaki sayılar, her bir çıkış birimi için milisaniye cinsinden gecikmeyi gösterir. Ön ayar, bir başlangıç noktasıdır: bundan sonra ayarlar, belirli bir araç için yapılır ve bir osiloskop kullanılarak, gri çizgi aracın tepkisini, renkli çizgi ise oyunun aldığı veriyi gösterir.
Kontrol çubuklarının ayarlanması
Otomobil simülasyonlarında, sol kontrol çubuğu direksiyon gibi çalışırken, sağ kontrol çubuğu görüş açısını veya kamerayı kontrol eder. Her bir kontrol çubuğu için geometri (ölü bölgeler, aralık ve eğri) ve ayrıca X ve Y eksenleri için bağımsız olarak, bölümler arasındaki yumuşaklık ayarlanabilir.
| Parametre | Ne işe yarıyor | Simülatör için nasıl ayarlanır: |
|---|---|---|
| İç ölü bölge. | Merkezdeki kaymayı azaltır. | Yeni bir kontrol çubuğunda %3 ila %6, aşınmış bir kontrol çubuğunda ise %8 ila %12. Değer ne kadar düşükse, araç o kadar iyi düz çizgide kalır. |
| Dış ölü bölge. | Kenarlarını kırparak, maksimum değer biraz daha erken bir noktada elde edilir. | %92 ile %97 arasında bir değerle, tam dönüşün tüm çevrede, köşegenler dahil, etkinleşmesi sağlanır. |
| Eksenler boyunca maksimum çalışma aralığı. | X veya Y ekseni boyunca çıkış açısını sınırlar. | Bu, direksiyon kontrolü için ana yöntemdir: X ekseni boyunca %60 ile %75 arasında bir değer kullanılır. Direksiyon, maksimuma ulaşmadan dönmeyi durdurur ve bu, doğruluğu önemli ölçüde artırır. |
| Tam hareket aralığına kadar esneme. | Kenarların kırpılmasından sonra, sinyal tekrar maksimum değere kadar genişletilir. | Geniş bir görüş açısı gerektiren durumlarda kullanılır. |
| Eksenlere göre hassasiyet. | -10 ile +10 arasında bir eğri değeri ayarlanır. Negatif değer, merkezi genişletir ve tepkiyi yumuşatır; pozitif değer ise tepkiyi daha hızlı hale getirir. | Direksiyon kontrolü için, X ekseni boyunca eğri değeri -4 ile -7 arasında seçilir. Sağ taraftaki kontrol kolu ile görüş açısı için ise, hızlı bir şekilde başı çevirmek amacıyla +2 ile +4 arasında bir değer seçilir. |
| Sapma bölgeleri. | Merkezden uzaklaşmayı yumuşatır. 0 ile 255 arasındaki genlik, merkezden tam bir hareket mesafesini temsil eder ve her bir bölümün kendi X ve Y ekseni bayrakları vardır. | Yönlendirme için uygun gecikme aralıkları şunlardır: 0-60: 0,4, 60-160: 1,2, 160-255: 2,5 milisaniye birim başına. Joystick, merkeze yakın bölgelerde hızlı tepki verirken, uç noktalarda daha yavaş tepki verir. |
| Geri ödeme alanları. | Merkeze yumuşak bir şekilde geri dönüş sağlar. | Tüm hareket aralığında, birim başına 0,5 ila 0,8 milisaniye gecikme, tekerleklerin kendi kendine geri dönmesi simülasyonudur. Kamera için, geri dönüş, sapmadan daha hızlıdır. |
| Eksen üzerindeki maksimum değer. | Herhangi bir eksen hareketinde, belirtilen aralık içinde maksimum değeri verir. | Arkad tarzı yönlendirme ve dijital dönüş gerektiren oyunlar için uygundur. |
| Joystick'un tamamen devre dışı bırakılması. | Joystick oyun içine aktarılmaz, ancak makroları çalışmaya devam eder. | Direksiyonun kullanıldığı ve joystick'in yalnızca makrolar için kullanıldığı durumlarda kullanışlıdır. |
X ve Y eksenleri birlikte veya ayrı ayrı ayarlanabilir: Her bölüm için "X" ve "Y" etiketleri bulunur ve örtüşen bölümler gecikmeleri toplar. Ayarların yanında, -255'ten +255'e kadar bir ölçeğe sahip aynı osiloskop bulunur. Joystick'i hareket ettirin ve çıktının parmağınızın hareketinden ne kadar geride kaldığını gözlemleyin.
Çalışması için gerekenler:
- Windows 10 veya 11 işletim sistemleri, 64-bit (x64) mimarisiyle.
- ViGEmBus sürücüsü 1.22.0. Program, sürücünün varlığını kontrol eder ve tek tıklamayla kurulumunu önerir.
- Kablolu bağlantı, adaptör veya Bluetooth aracılığıyla bağlanan kontrol cihazı.
Program, bir seferde 20 dakika süren deneme sürümünde çalışır. Tam özelliklere sahip sürüm, engi.live üzerinden sunulan kalıcı bir lisansla edinilebilir.
