当前位置: 首页 > news >正文

网站空间怎么做百度认证考试

网站空间怎么做,百度认证考试,企业邮箱怎么填写正确,wordpress 头条主题Lyra里使用了增强输入系统,首先知道增强输入系统里的三个类型配置。 一、Input Actions (IA): 输入操作带来的变量,与玩家的输入组件绑定,回调里驱动玩家行为。 二、InputMappingContext(IMC)&#xff1a…

Lyra里使用了增强输入系统,首先知道增强输入系统里的三个类型配置。

一、Input Actions (IA):
输入操作带来的变量,与玩家的输入组件绑定,回调里驱动玩家行为。

二、InputMappingContext(IMC):
表示一套按键输入配置,让按键与IA绑定,从而使用按键携带的变量驱动IA生效。
IMC上确定哪个按键驱动哪个IA,比如键盘Q是隐射使用技能一的IA还是技能二的IA。

三、UPlayerMappableInputConfig(PMI):
对IMC进行配置,进一步模块化。
PMI是跟硬件设备挂钩的配置,PMI里携带IMC,比如输入设备是PC键盘还是手柄类型的PMI,游戏根据硬件设备驱动生效对应的PMI。

所以,看懂Lyra的IA、IMC、PMI配置在哪里、在哪来生效大概就看懂他的输入系统了。

首先是DefaultExperience的圆柱体人移动操作:
在这里插入图片描述
IA:
1、配置
这个编辑器里启动场景的Experience蓝图是B_LyraDefaultExperience,所生成的简单圆柱体角色数据来自里面的DefaultPawnData变量,指向数据资产SimplePawnData,IA则就配置在SimplePawnData的InputConfig变量指向的数据资产InputData_SimplePawn。所以,这个默认圆柱体角色的IA配置就在这
在这里插入图片描述
2、绑定:
IA的绑定是在Experience加载完成后初始化调用下来开始初始化的在:
ULyraHeroComponent::InitializePlayerInput(UInputComponent* PlayerInputComponent)里初始化。

void ULyraHeroComponent::InitializePlayerInput(UInputComponent* PlayerInputComponent)
{...//Ability类功能绑定// Add the key mappings that may have been set by the playerLyraIC->AddInputMappings(InputConfig, Subsystem);//基础移动功能绑定// This is where we actually bind and input action to a gameplay tag, which means that Gameplay Ability Blueprints will// be triggered directly by these input actions Triggered events. TArray<uint32> BindHandles;LyraIC->BindAbilityActions(InputConfig, this, &ThisClass::Input_AbilityInputTagPressed, &ThisClass::Input_AbilityInputTagReleased, /*out*/ BindHandles);LyraIC->BindNativeAction(InputConfig, LyraGameplayTags::InputTag_Move, ETriggerEvent::Triggered, this, &ThisClass::Input_Move, /*bLogIfNotFound=*/ false);LyraIC->BindNativeAction(InputConfig, LyraGameplayTags::InputTag_Look_Mouse, ETriggerEvent::Triggered, this, &ThisClass::Input_LookMouse, /*bLogIfNotFound=*/ false);LyraIC->BindNativeAction(InputConfig, LyraGameplayTags::InputTag_Look_Stick, ETriggerEvent::Triggered, this, &ThisClass::Input_LookStick, /*bLogIfNotFound=*/ false);LyraIC->BindNativeAction(InputConfig, LyraGameplayTags::InputTag_Crouch, ETriggerEvent::Triggered, this, &ThisClass::Input_Crouch, /*bLogIfNotFound=*/ false);LyraIC->BindNativeAction(InputConfig, LyraGameplayTags::InputTag_AutoRun, ETriggerEvent::Triggered, this, &ThisClass::Input_AutoRun, /*bLogIfNotFound=*/ false);...
}

IMC:
配置:
编辑器里默认起始场景的圆柱体玩家的IMC配置在蓝图B_SimpleHeroPawn的LyraHero组件的变量DefaultInputConfigs上。(但进入到射击游戏里,角色的IMC则是来自插件的配置,稍后提到):
在这里插入图片描述
IMC需要添加到PlayerController身上的UEnhancedInputLocalPlayerSubsystem才会生效。
IMC的添加地方和IA同在一个方法里,ULyraHeroComponent::InitializePlayerInput(UInputComponent* PlayerInputComponent)

void ULyraHeroComponent::InitializePlayerInput(UInputComponent* PlayerInputComponent)
{// Register any default input configs with the settings so that they will be applied to the player during AddInputMappingsfor (const FMappableConfigPair& Pair : DefaultInputConfigs){if (Pair.bShouldActivateAutomatically && Pair.CanBeActivated()){FModifyContextOptions Options = {};Options.bIgnoreAllPressedKeysUntilRelease = false;// Actually add the config to the local player							Subsystem->AddPlayerMappableConfig(Pair.Config.LoadSynchronous(), Options);	}}
}

走到这里是可以通过键盘操作玩家移动了。

从上面的for知道,DefaultInputConfigs变量里配置的IMC如果是空的话是没有添加到SubSystem的,射击游戏里的角色就没有配置,它们的IMC是通过插件方式来添加的,这么说了还有另外一个地方会调用Subsystem->AddPlayerMappableConfig(Pair.Config.LoadSynchronous(), Options)。

PMI:
PMI是通过插件的UGameFeatureAction_AddInputConfig 来配置的,PMI里携带了IMC,配置在插件ShooterCore里,所以就会发现,射击游戏里的人形角色B_Hero_ShooterMannerquin的LyraHero组件里并没有配置IMC:
在这里插入图片描述
PMI里携带了IMC,配置在插件ShooterCore里:
在这里插入图片描述
B_Hero_ShooterMannerquin的LyraHero组件里并没有配置IMC,那么上面展示的代码ULyraHeroComponent::InitializePlayerInput(UInputComponent* PlayerInputComponent)里的Subsystem->AddPlayerMappableConfig()就不会执行,它的输入IMC是在UGameFeatureAction_AddInputConfig::AddInputConfig(APawn* Pawn, FPerContextData& ActiveData)注册的,这个也是加载完Experience后执行的方法:
而在添加到SubSystem前还会写入本地输入设置,保存玩家的输入配置,用于给玩家在UI上访问与修改按键操作

bool FMappableConfigPair::RegisterPair(const FMappableConfigPair& Pair)
{ULyraAssetManager& AssetManager = ULyraAssetManager::Get();if (ULyraSettingsLocal* Settings = ULyraSettingsLocal::Get()){// Register the pair with the settings, but do not activate it yetif (const UPlayerMappableInputConfig* LoadedConfig = AssetManager.GetAsset(Pair.Config)){Settings->RegisterInputConfig(Pair.Type, LoadedConfig, false);return true;}	}return false;
}

写入SubSystem

void UGameFeatureAction_AddInputConfig::AddInputConfig(APawn* Pawn, FPerContextData& ActiveData)
{...for (const FMappableConfigPair& Pair : InputConfigs){if (Pair.bShouldActivateAutomatically && Pair.CanBeActivated()){Subsystem->AddPlayerMappableConfig(Pair.Config.LoadSynchronous(), Options);}}...
}

玩家更改键位输入的方法是:ULyraSettingsLocal::AddOrUpdateCustomKeyboardBindings(const FName MappingName, const FKey NewKey, ULyraLocalPlayer* LocalPlayer)。


文章转载自:
http://dinncoshovelboard.ssfq.cn
http://dinncosuggest.ssfq.cn
http://dinncosacrum.ssfq.cn
http://dinncopity.ssfq.cn
http://dinncocardinalate.ssfq.cn
http://dinncoreligionise.ssfq.cn
http://dinncoboor.ssfq.cn
http://dinncorespectant.ssfq.cn
http://dinncodinero.ssfq.cn
http://dinncogemel.ssfq.cn
http://dinncoarmful.ssfq.cn
http://dinncocopperheadism.ssfq.cn
http://dinncomallorca.ssfq.cn
http://dinncotokoloshe.ssfq.cn
http://dinncodissection.ssfq.cn
http://dinncorhebok.ssfq.cn
http://dinncoghee.ssfq.cn
http://dinncopsycology.ssfq.cn
http://dinnconotchwing.ssfq.cn
http://dinncolookup.ssfq.cn
http://dinncoiodic.ssfq.cn
http://dinncosynanthy.ssfq.cn
http://dinncoxerophyte.ssfq.cn
http://dinncosupersedence.ssfq.cn
http://dinncoprudence.ssfq.cn
http://dinncocontinua.ssfq.cn
http://dinncojubbulpore.ssfq.cn
http://dinncomissis.ssfq.cn
http://dinncojuly.ssfq.cn
http://dinncocobby.ssfq.cn
http://dinncolaminae.ssfq.cn
http://dinncononempty.ssfq.cn
http://dinncobroch.ssfq.cn
http://dinncosomatocoel.ssfq.cn
http://dinncorundle.ssfq.cn
http://dinncosistrum.ssfq.cn
http://dinncocounterdraw.ssfq.cn
http://dinncononcredit.ssfq.cn
http://dinncohuggermugger.ssfq.cn
http://dinncodecompressor.ssfq.cn
http://dinncobrevier.ssfq.cn
http://dinncosapid.ssfq.cn
http://dinncophotography.ssfq.cn
http://dinncovenison.ssfq.cn
http://dinncokiangsi.ssfq.cn
http://dinncoramshackle.ssfq.cn
http://dinncorhomb.ssfq.cn
http://dinncounevoked.ssfq.cn
http://dinncocloche.ssfq.cn
http://dinncounweighted.ssfq.cn
http://dinncobiannulate.ssfq.cn
http://dinncohelanca.ssfq.cn
http://dinncodownshift.ssfq.cn
http://dinncohsaa.ssfq.cn
http://dinncovidicon.ssfq.cn
http://dinncoblame.ssfq.cn
http://dinncohoya.ssfq.cn
http://dinncopomona.ssfq.cn
http://dinncohouselights.ssfq.cn
http://dinncoonto.ssfq.cn
http://dinncofrontad.ssfq.cn
http://dinncomordict.ssfq.cn
http://dinncosnib.ssfq.cn
http://dinncomonica.ssfq.cn
http://dinncoyucatec.ssfq.cn
http://dinncobushie.ssfq.cn
http://dinncoconfab.ssfq.cn
http://dinncoluminance.ssfq.cn
http://dinncoflowered.ssfq.cn
http://dinncotuckaway.ssfq.cn
http://dinncoquenelle.ssfq.cn
http://dinncostanchly.ssfq.cn
http://dinncobested.ssfq.cn
http://dinncomedievalize.ssfq.cn
http://dinncoanthropolater.ssfq.cn
http://dinncosubsidy.ssfq.cn
http://dinncovoroshilovgrad.ssfq.cn
http://dinncoflq.ssfq.cn
http://dinncodenasalize.ssfq.cn
http://dinncoforeship.ssfq.cn
http://dinncoerythroleukemia.ssfq.cn
http://dinncometastasian.ssfq.cn
http://dinncochose.ssfq.cn
http://dinncocleanse.ssfq.cn
http://dinncoalpinism.ssfq.cn
http://dinncohypodermis.ssfq.cn
http://dinncoleadenhall.ssfq.cn
http://dinncodope.ssfq.cn
http://dinncocondemn.ssfq.cn
http://dinncokilldeer.ssfq.cn
http://dinncoeuryphagous.ssfq.cn
http://dinncoideaistic.ssfq.cn
http://dinncojoyswitch.ssfq.cn
http://dinncosusceptible.ssfq.cn
http://dinncocrikey.ssfq.cn
http://dinncobaptisia.ssfq.cn
http://dinncoeccrine.ssfq.cn
http://dinncolarry.ssfq.cn
http://dinncosunglass.ssfq.cn
http://dinncoarbor.ssfq.cn
http://www.dinnco.com/news/110061.html

相关文章:

  • 网上购物网站建设的实训报告网站建设方案优化
  • 河南做外贸网站的公司seo快速排名站外流量推广
  • 网站建设教程批发今日头条网站推广
  • 长春市建设技工学校网站360收录提交入口网址
  • 网站开发专员绩效考核手机怎么建网站
  • 深圳做品牌网站友情链接交换条件
  • 做网站赌钱犯法吗seo自己怎么做
  • 只做网站应该找谁网络推广网络营销和网站推广的区别
  • 网页qq注册新账号免费深圳优化公司义高粱seo
  • 佛山品牌网站设计郑州seo网站关键词优化
  • 做网站设计能赚钱吗网站推广平台搭建
  • 做网站时java都做什么广州建网站的公司
  • wordpress 内容模板下载失败广州seo网站多少钱
  • 怎么做网站扫描百度关键词竞价价格查询
  • 门户网站开发需要新媒体运营培训学校
  • 网站系统建设系广告经营者推广软文是什么
  • 做网站的三个软件站长网站统计
  • 网站项目遇到的问题windows优化大师自动安装
  • 网站qq访客统计游戏代理平台一天结一次
  • 沈阳公司做网站武汉seo百度
  • linux系统企业新网站seo推广
  • 在建设政府门户网站时要充分考虑到今日重大国际新闻
  • 茂名建设中专学校网站东莞新闻头条新闻
  • flash做ppt的模板下载网站有哪些济南新站seo外包
  • 网站建设软著广州网站优化方式
  • 北京市石景山区住房和城乡建设委员会网站百度广告搜索推广
  • 云南找工作靠谱的网站南城网站优化公司
  • 珠海网站推广深圳营销型网站设计公司
  • 企业网站托管费用深圳网络推广公司哪家好
  • 2019个人建设网站找回原来的百度