The problem being that even though I only have a single DS4 controller connected to Steam, the game assigns it to Player 2 when started, and the keyboard to Player 1. Автор сообщения: ThreeSonI think this is the same problem as I reported for the game Sega Mega Drive & Genesis Classics, here: On Windows 10 Pro 圆4 1709 16299.98 and latest Steam Client beta (Release version also has this bug) The controller ordering feature in Steam also doesn't seem to be reliable, with controller orders magically changing between sessions of the same game. However, rumble was broken all but XInput #0 and some controllers still send double input. Just now I did a bit of testing with three controllers (don't have more rn) in PCSX2 – the problem persists, but at least the fourth controller doesn't show any readouts. Whether the Xbox controllers were using Steam Controller config support didn't seem to matter. Over the past two weeks I had various 2 or 4 player constellations of 2 Steam Controllers, 1 Wireless 360 Controller, 2 Wireless Xbox One Controllers and 1 DualShock 4 (Windows Bluetooth), and sooner or later, we'd get these kinds of issues. Then I just set the floats when I want vibration (again, doesn’t seem to matter much WHAT I set them to, that’s the issue now… I think it goes 0 to 1, but I can’t get the full vibration as in the demo project no matter what I try.Controllers either not being recognized or controlling the wrong "player", so there are situations where 1 controller sends its inputs to two players, or controllers not sending anything anywhere. GamePad.SetVibration(PlayerIndex.One,testC, testD) GamePad.SetVibration(PlayerIndex.Two,testA,testB) Public class XInputVibrateTest : MonoBehaviour Here’s the script I’m using, in case anyone’s interested: using UnityEngine So now I’ve got the vibrate basically working, just not as strong as I’d like it to be. Update:figured out the PlayerIndex, it’s PlayerIndex.One, PlayerIndex.Two, etc. If there’s anyone out there who knows how to do this, an example would be extremely helpful… But if I replace with my own floats, just a faint murmur. In the test scene, (using the etc.) the vibrate fully works, at least on the one controller. Only seems to take input from one though.Īll I need is to be able to refer to each controller as a PlayerIndex.ī: since the two latter arguments are floats, can’t I just set them manually? Why doesn’t this work? Note: the test detects both controllers, as evidenced in the debug log. The xinput test only seems to take input from one controller (controller 2), so what I want to figure out is:Ī: how can I set up the xinputdotnetpure.PlayerIndex for each controller, since the example only seems to work for one? (the format is SetVibration(XInputDotNetPure.PlayerIndex,float,float))ĭoesn’t seem to matter what number I use, all I get is a faint murmur on one controller. Gamepad.SetVibration(playerIndex, vib1,vib2) However, if I plug in a 1 through code, such as : The line for vibration is : Gamepad.SetVibration(playerIndex, ,) īy exposing the, in the inspector, they appear as normal axis input, maxing out at 1. Since I don’t really fully understand how xinput works, I’ve been trying to use that example to add force feedback to my own project. So, In the sample unity project xInputTest which is included, there is a line accessing vibrate for each motor based on trigger input. Works perfectly, only minor bug seems to be it detects controller 1 as 2 and vice versa, not a big problem to work around. To get this to work, I’ve added xInputPureDotNet to my project. I’m working on a fighting game, using two 360 controllers for 2 players.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |