自定义Unreal Input System
最近有个需求,角色播发攻击动画的时候,调整攻击位移,和屏蔽用户输入。以便不打断动画。
输入系统的方案就几种:
1 查看本地配置问题XXXInput.ini中的按键绑定,在脚本中添加或者重写绑定的命令。
主要工作量在恢复默认的功能,同时在某些情况下调用我写的功能。
2 使用UE3输入配置文件的Key bind toggle trick技术
配置两个Command
3 利用输入系统的API,GetBind和SetBind动态绑定自己需要的命令,
但是由于默认的SetBind里面调用的SaveConfig函数,如果不想写文件的话,可以自己重写在SetBind函数。我觉得UE3多线程机制应该没有多大影响。
也可以利用PlayerInput.Bindings的Public特性直接修改这个数组里的内容。
4 对于有源码的同学们,可以修改KeyBind结构里的内容,同时修改native源码。
修改源码的时候要注意,不要改了UE3执行输入函数的顺序。简单的修改可以加一个bool变量来标识你的特殊需求。
参考资料http://udn.epicgames.com/Three/InputOutputHome.html
最近有个需求,角色播发攻击动画的时候,调整攻击位移,和屏蔽用户输入。以便不打断动画。
输入系统的方案就几种:
1 查看本地配置问题XXXInput.ini中的按键绑定,在脚本中添加或者重写绑定的命令。
主要工作量在恢复默认的功能,同时在某些情况下调用我写的功能。
2 使用UE3输入配置文件的Key bind toggle trick技术
配置两个Command
3 利用输入系统的API,GetBind和SetBind动态绑定自己需要的命令,
但是由于默认的SetBind里面调用的SaveConfig函数,如果不想写文件的话,可以自己重写在SetBind函数。我觉得UE3多线程机制应该没有多大影响。
也可以利用PlayerInput.Bindings的Public特性直接修改这个数组里的内容。
4 对于有源码的同学们,可以修改KeyBind结构里的内容,同时修改native源码。
修改源码的时候要注意,不要改了UE3执行输入函数的顺序。简单的修改可以加一个bool变量来标识你的特殊需求。
参考资料http://udn.epicgames.com/Three/InputOutputHome.html