InstantiateAsync有什么需要特殊处理的吗

InstantiateAsync有什么需要特殊处理的吗

1)InstantiateAsync有什么需要特殊处理的吗
2)如何长按鼠标左键持续射击
3)如何根据拾取物数量来提高玩家的速度
4)如何在发生碰撞时更换我的角色


这是第423篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

UWA社区主页:community.uwa4d.com
UWA QQ群:793972859

Editor

Q:请教个问题,InstantiateAsync有什么需要特殊处理的吗?我发现异步实例化出来的角色,好像丢了蒙皮一样,Mesh完全不跟着动画、还有根节点动,始终以T-pose的形态呆在固定位置,而且同一个角色,同步加载是正常的。

这是我这边的环境:

A:我们在接近你的版本和更高版本试了下,分别复现了问题和正常加载。查了下可能是类似下面的Unity Bug(异步实例化相关的bug有很多),应该要升一下版本。

感谢旋@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/67ce97913d306f3e9d594e6c


Script

Q:我用这种方法(参考蓝图)实现了按住鼠标左键使我的步枪自动射击,请问有没有其它更简单的方法可以做到这一点?

A:实际上有更简单的实现方式:
使用EnhancedInputAction,其中有一个Ongoing节点。

给IA_Shoot增加一个Hold的Trigger,将原本的子弹发射功能从Triggered改成Ongoing即可。

效果如下(这里射的太快子弹之间有一些碰撞):

针对以上问题,有经验的朋友欢迎转至社区交流:
https://answer.uwa4d.com/question/67cea030682c7e5cd61bfa10


Script

Q:大家好,目前我有一个Pickup蓝图来处理拾取计数器,当拾取数量达到某个值时玩家可以完成关卡。现在我想添加一个函数,以便每拾取10次,玩家速度就会略微增加,但是我当前的尝试没有效果。

A:通过GetPlayerCharacter拿到CharacterMovement节点,修改其中的MaxWalkSpeed即可,可以使用Sequence或其它节点来控制触发的条件。

增加速度的核心逻辑如下:

连上除法的判断即可。另外为了将两个逻辑放在一起,可以使用Sequence节点。

复现(简单版本):

针对以上问题,有经验的朋友欢迎转至社区交流:
https://answer.uwa4d.com/question/67cea28e682c7e5cd61bfa12


Script

Q:我有一个小马里奥,我想让它在与蘑菇碰撞时更换角色(变成大马里奥),该如何操作呢?

A:没法直接更换角色,通常来说需要三步:

  1. 关闭当前角色的碰撞
  2. 生成新的角色并控制它
  3. 销毁老的角色

因为尝试用了一个固定视角,所以需要加一个Set Control Rotation节点,不然WASD的方向会和当前视角对不上:

针对以上问题,有经验的朋友欢迎转至社区交流:
https://answer.uwa4d.com/question/67cea41b3d306f3e9d594e6e

封面图来源于网络


今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859