vault backup: 2024-02-02 12:39:48
This commit is contained in:
parent
1688bb912d
commit
b8e7b4bd38
@ -129,7 +129,57 @@ uint8 InputPressed:1;
|
|||||||
- UAbilityTask_WaitInputPress
|
- UAbilityTask_WaitInputPress
|
||||||
- UAbilityTask_WaitInputRelease
|
- UAbilityTask_WaitInputRelease
|
||||||
|
|
||||||
理论上是可以将其修改成增强输入的版本,只需要将枚举循环改成InputActionContext循环即可。
|
理论上是可以将其修改成增强输入的版本,只需要将枚举循环改成InputActionContext循环即可,具体逻辑在角色类中
|
||||||
|
```c++
|
||||||
|
void AGSHeroCharacter::BindASCInput()
|
||||||
|
{
|
||||||
|
if (!bASCInputBound && IsValid(AbilitySystemComponent) && IsValid(InputComponent))
|
||||||
|
{
|
||||||
|
AbilitySystemComponent->BindAbilityActivationToInputComponent(InputComponent, FGameplayAbilityInputBinds(FString("ConfirmTarget"),
|
||||||
|
FString("CancelTarget"), FString("EGSAbilityInputID"), static_cast<int32>(EGSAbilityInputID::Confirm), static_cast<int32>(EGSAbilityInputID::Cancel)));
|
||||||
|
|
||||||
|
bASCInputBound = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
FGameplayAbilityInputBinds(FString InConfirmTargetCommand, FString InCancelTargetCommand, FTopLevelAssetPath InEnumPathName, int32 InConfirmTargetInputID = INDEX_NONE, int32 InCancelTargetInputID = INDEX_NONE)
|
||||||
|
: ConfirmTargetCommand(InConfirmTargetCommand)
|
||||||
|
, CancelTargetCommand(InCancelTargetCommand)
|
||||||
|
, EnumPathName(InEnumPathName)
|
||||||
|
, ConfirmTargetInputID(InConfirmTargetInputID)
|
||||||
|
, CancelTargetInputID(InCancelTargetInputID)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**ConfirmTarget**、**CancelTarget**需要在DefaultInput.ini中添加对应的配置(名字需要对应)。
|
||||||
|
**EGSAbilityInputID**为枚举类名称,**EGSAbilityInputID::Confirm**与**EGSAbilityInputID::Cancel**为枚举的index需要与GameplayAbilitySpec中的AbilityInputID对应。具体是在GiveAbility中进行,参考[[#GASShooter中给Ability注册按键ID]]。
|
||||||
|
|
||||||
|
之后还需要在URPGGameplayAbility中将枚举**ERPGAbilityInputID**修改成
|
||||||
|
```c++
|
||||||
|
UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "RPGGameplayAbility|Input")
|
||||||
|
ERPGAbilityInputID AbilityInputID = ERPGAbilityInputID::None;
|
||||||
|
```
|
||||||
|
|
||||||
|
## GASShooter中给Ability注册按键ID
|
||||||
|
```c++
|
||||||
|
void AGSCharacterBase::AddCharacterAbilities()
|
||||||
|
{
|
||||||
|
// Grant abilities, but only on the server
|
||||||
|
if (GetLocalRole() != ROLE_Authority || !IsValid(AbilitySystemComponent) || AbilitySystemComponent->bCharacterAbilitiesGiven)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (TSubclassOf<UGSGameplayAbility>& StartupAbility : CharacterAbilities)
|
||||||
|
{
|
||||||
|
AbilitySystemComponent->GiveAbility(
|
||||||
|
FGameplayAbilitySpec(StartupAbility, GetAbilityLevel(StartupAbility.GetDefaultObject()->AbilityID), static_cast<int32>(StartupAbility.GetDefaultObject()->AbilityInputID), this));
|
||||||
|
}
|
||||||
|
|
||||||
|
AbilitySystemComponent->bCharacterAbilitiesGiven = true;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
# SDHGame
|
# SDHGame
|
||||||
李兄是在状态机每个节点的StateBegin()中调用CreateDynamicSkillInputActionMappingContext()进行动态绑定的。FSDHSkillInputActionBinding里包含FEnhancedActionKeyMapping相关数据。
|
李兄是在状态机每个节点的StateBegin()中调用CreateDynamicSkillInputActionMappingContext()进行动态绑定的。FSDHSkillInputActionBinding里包含FEnhancedActionKeyMapping相关数据。
|
||||||
|
@ -12,9 +12,10 @@ rating: ⭐
|
|||||||
- 参考对象分析
|
- 参考对象分析
|
||||||
- 星穹铁道
|
- 星穹铁道
|
||||||
- 破晓传说
|
- 破晓传说
|
||||||
- 蓝色协议3.
|
- 蓝色协议3
|
||||||
- 非人学园2
|
- 非人学园2
|
||||||
- 少女前线2 追放
|
- 少女前线2 追放
|
||||||
|
- https://www.bilibili.com/video/BV1pt421H7EH/?buvid=38ddfe416af6e23f1aada0674f307e3e&from_spmid=tm.recommend.0.0&is_story_h5=false&mid=a0AUwJxrG%2FcYg0AorRjOGA%3D%3D&p=1&plat_id=116&share_from=ugc&share_medium=iphone&share_plat=ios&share_session_id=CD0CF499-8DF5-48F5-A03A-7A3AE61FFF3A&share_source=COPY&share_tag=s_i&spmid=united.player-video-detail.0.0×tamp=1706754945&unique_k=44q6hra&up_id=140517136&vd_source=d47c0bb42f9c72fd7d74562185cee290
|
||||||
- 明日方舟终末地
|
- 明日方舟终末地
|
||||||
|
|
||||||
>PS. 先实现一波Cel,之后再实现Thickly - Coated。
|
>PS. 先实现一波Cel,之后再实现Thickly - Coated。
|
||||||
|
Loading…
x
Reference in New Issue
Block a user