Unity3d SharpDX。统一的直接输入
我一直试图使用SharpDX.DirectInput DLL将DirectInput实现到unity中,但当我创建操纵杆时,它给了我一个错误:Unity3d SharpDX。统一的直接输入,unity3d,sharpdx,directinput,gamepad,gamepad-api,Unity3d,Sharpdx,Directinput,Gamepad,Gamepad Api,我一直试图使用SharpDX.DirectInput DLL将DirectInput实现到unity中,但当我创建操纵杆时,它给了我一个错误: SharpDXException: HRESULT: [0x80070057], Module: [General], ApiCode: [E_INVALIDARG/Invalid Arguments], Message: The parameter is incorrect. 这是我的代码: using System; using UnityEngi
SharpDXException: HRESULT: [0x80070057], Module: [General], ApiCode: [E_INVALIDARG/Invalid Arguments], Message: The parameter is incorrect.
这是我的代码:
using System;
using UnityEngine;
using SharpDX.DirectInput;
namespace KurdifyEngine.Input
{
static class Direct
{
public static DirectInput directInput;
public static Guid directGuid;
public static Joystick directGamepad ;
internal static void Initialize()
{
// Initialize DirectInput
directInput = new DirectInput();
directGuid = Guid.Empty;
DirectUpdate();
}
internal static void DirectUpdate()
{
// search for Gamepad
foreach (var deviceInstance in directInput.GetDevices(SharpDX.DirectInput.DeviceType.Gamepad, DeviceEnumerationFlags.AttachedOnly))
directGuid = deviceInstance.InstanceGuid;
}
if (directGuid != Guid.Empty)
{
directGamepad = new Joystick(directInput, directGuid);
}
}
}
}
创建操纵杆时发生错误:
directGamepad = new Joystick(directInput, directGuid);
我们一直在为Unity产品开发异国情调的控制器支持,但在同一条生产线上遇到了相同的问题(SharpDXException:HRESULT:[0x80070057]) 我们试图通过修复SharpDX来重新编译它,就像在github帖子中解释的那样:但是在DirectX(2010年6月)SDK中遇到了其他问题
我们刚刚找到了一种使用该项目中包含的库编译Unity项目的方法(这是Kerbal Space程序中异域控制器支持的附加组件):只需在libraries/下选择.dll,用这些替换旧的.dll,就可以了 我怀疑您能否将SharpDX(渲染框架/游戏引擎)与Unity(渲染框架/游戏引擎)混合使用。为什么还要麻烦呢?Unity内置了对操纵杆/游戏板的支持,如果这还不够的话,你可以在asset store上找到更好的支持。它对其他人有效,而且内置支持缺少很多功能,我已经支持XInput、运行时键绑定,我只想知道如何自己使用它,我不想依赖资产存储资产。