草庐IT

Unreal 输入系统 解析

前言输入系统,输入某个键,响应到GamePlay层做对应的事。例如点击鼠标,前进还是开枪之类,是如何响应的。这里只说应用层逻辑,硬件层逻辑不讲述。详解1.问题来源先看下面一个例子:跳跃的事件响应堆栈从上述堆栈我们不难发现,疑惑点主要集中于APlayerController::ProcessPlayerInput和UPlayerInput::ProcessInputStack.(APlayerController::PlayerTick之前的堆栈可以忽略)2.简要分析先查看APlayerController::ProcessPlayerInput源码voidAPlayerController::

Unreal 输入系统 解析

前言输入系统,输入某个键,响应到GamePlay层做对应的事。例如点击鼠标,前进还是开枪之类,是如何响应的。这里只说应用层逻辑,硬件层逻辑不讲述。详解1.问题来源先看下面一个例子:跳跃的事件响应堆栈从上述堆栈我们不难发现,疑惑点主要集中于APlayerController::ProcessPlayerInput和UPlayerInput::ProcessInputStack.(APlayerController::PlayerTick之前的堆栈可以忽略)2.简要分析先查看APlayerController::ProcessPlayerInput源码voidAPlayerController::

Unreal 踩坑记录

CannotcreateSoftObjectPathwithshortpackagename'False'!表现:在Cook阶段会报错,样子大概是这样:打包报错原因:UE4editor在蓝图中创建变量,默认为Bool类型,而且默认值为False,当我需要把它的类型修改为Actor(或者其它对象)时,它的默认值会继续为False,而不是null。如何排查?在Editor模式下,打开怀疑有问题的BP,便会触发这个报错,如果有条件的话,可以写个脚步,把对象都加载一遍,便能看到这个报错了。如何解决?删除这个变量->重新创建->类型修改为Object->点蓝图左上角的编译->将默认值修改为NULL->类

Unreal 踩坑记录

CannotcreateSoftObjectPathwithshortpackagename'False'!表现:在Cook阶段会报错,样子大概是这样:打包报错原因:UE4editor在蓝图中创建变量,默认为Bool类型,而且默认值为False,当我需要把它的类型修改为Actor(或者其它对象)时,它的默认值会继续为False,而不是null。如何排查?在Editor模式下,打开怀疑有问题的BP,便会触发这个报错,如果有条件的话,可以写个脚步,把对象都加载一遍,便能看到这个报错了。如何解决?删除这个变量->重新创建->类型修改为Object->点蓝图左上角的编译->将默认值修改为NULL->类