• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

UE 游戏开发

武飞扬头像
河里有鱼、
帮助1

导入动画模型

第一次导入带动画的的模型时,默认就行。后面导入时,因为已经有骨骼了,所以我们需要动画就行。把Import Mesh的勾取消掉,然后点击Import,如果角度不对,那么在场景中确认模型角度之后,删除该模型然后重新导入。重新导入时除了把Import Mesh的勾取消掉,还要在下面调整角度,调整好角度后导入。

学新通

 学新通

一、在蓝图中产生\销毁Actor

        1.生成Actor

        Spawn Actor from Class,配合Get Actor Transform,1输入要产生的Actor类型,一般为我们自己创建的蓝图类型,2要指定某个物体,即在这个物体处产生我们指定类型的物体。

学新通

       还可以不用指定某个物体来获取Transform,直接右键输入MakeTransform产生对应节点,可以输入你想要的位置角度大小属性。

学新通

        2.按键事件

        在图标中右键然后找到Input选项,里面有各种事件,常见的鼠标键盘事件就在其中。或者直接输入keyboard或mouseEvent就能直接找到键盘或鼠标事件,大小写无关。

学新通

         3.销毁一个Actor

        DesroyActor节点用于销毁Actor,需要指定目标Actor,不指定就默认是自己。可以配合Delay节点使用,Delay节点表示延时几秒再执行后面程序。

学新通

二、重生玩家

        我用ThirdPersonCharacter来当成玩家,删除它之后再用SpawnActorfromClass来产生一个新的ThirdPersonCharacter角色,但是此时角色无法操控,默认的那些按键输入功能全部失效了。

        我的建议就是第一第三人称这类的Character角色,在玩家死亡时不要删除角色,要重生时直接设置角色到初始位置,切换到Idle动画,所有有需要的变量如血量还原到初始值,这样角色还能继续操控。

三、射线检测

         单线追踪:LineTraceByChannel,LineTraceForObjects,返回OutHit

        多线追踪:MultiLineTraceByChannel,LineTraceForObjects,返回OutHits数组

        这里我们使用第一人称角色来做测试,创建一个第一人称角色工程,打开第一人称角色蓝图,按如下操作:

学新通

 将DrawDebugType选ForOneFrame,这样我们就能查看线踪迹。从OutHit拖出BrekeHitResult节点,这个就是碰撞信息,常见的有Distance(碰撞距离)、Location(碰撞位置点)、HitActor(碰撞到的物体)等等。点击右上角就能切换Game和Scene场景效果,红线就是上面选择DrawDebugType选ForOneFrame而产生的追踪线。如果你想忽略掉一些物体不进行射线检测,那么通过ActoroIgnor来进行设置。

学新通

 学新通

 四、计时器Timers

        UE中的计时器可以按指定的时间间隔执行一次(或重复多次)动作。个人觉得有点像unity中协程的味道。

        Set Timer by Function Name --开启定时器执行对应名称的函数。

        Set Timer by Event --开启定时器执行对应的事件。

        Clear Timer by Function Name --关闭定时器。

        Clear and Invalidate Timer by Handle --关闭定时器。

        若是在当前蓝图中定义了要执行的函数,那么Onject可以不用指定,默认就是自己。按下小键盘上的 号键,每隔0.2秒就会执行一次TestPrint这个自定义函数,Looping表示循环执行,不勾选则只执行一次。

学新通

         若是要调用其它物体中的函数,则需要先获取这个物体并指定给Object变量。我在场景中放了一个EmptyActor,给它添加了一个蓝图类,名字改为Test_Blueprint,所以下面获取物体时物体类名指定为Test_Blueprint。

学新通

学新通

 ---------------其它计时器相关节点-----------------

        我们可以把Set Timer by Function Name的返回值提升为变量(TimerHandleStructure类型),这样在下面的函数使用时就直接拿来使用。这些函数基本上都需要传一个TimerHandleStructure类型的参数。

        Get Timer Elapsed Time by Handle --获取指定计时器从开始后经过的时间。

        Get Timer Remianing Time by Handle --获取指定计时器剩余时间。

        Psuse Timer by Handle --暂停计时器。

        Unpsuse Timer by Handle --恢复计时器。

        Does Timer Exit by Handle --计时器是否存在。

        Is Timer Active by Handle --计时器是否处于激活状态。

        Is Timer Paused by Handle --计时器是否处于暂停状态。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfkcafj
系列文章
更多 icon
同类精品
更多 icon
继续加载