一、关键函数:AttachToCompoent,将要抓取的物品附加到角色手上,让物品跟随手移动,开起来就像是抓取在手里了。

二、取消模拟物理。在开启模拟物理的情况下,AttachToCompoent是不管用的,被抓取的物品只会受物理重力控制,抓取不起来的。

三、创建函数FindGrabTarget,使用GetOverlappingActors(可以设置值获取某一个类别的物品,也可以不设置获取所有重叠的物品)获得跟手重叠物品。

  

三、使用IsValid判断抓取的物品是否有效,并将抓取到的物品保存到一个变量,供Drop(扔物品)函数使用。

  模拟物理不是Actor的属性,而是Actor中Mesh组件模型(包含Static Mesh和SkeetalMesh)的属性,使用Get Component By Class获取actor中Mesh组件模型,并取消模拟物理(使用Set Simulate Physics方法,Get Component By Class需要先选择Mesh Component才有该方法)。

  AttachToCompoent的Rule选择Keep World,抓取后保留被抓取的物品原来的样子(包括位置、选择角度、缩放)。  

五、没有碰撞体的物品是无法抓取起来的。如果物品有碰撞体,但是依然无法抓取起来,则要检查被抓取的物品是否没有勾选Generate Overlap Events(产生碰撞事件),勾选上这个选项就可以了。同时被抓取的物品的Mobility可移动性要设置为Movable

   

六、可以看到方块被移动以后,原来的影子还在。原因是方块原来是Mobility = Static,因此引擎给该方块构造的是静态光照(优化性能),改成Movable以后要,要重新烘焙,游戏运行中,再次抓取并移动这个方块,就不会产生影子问题了。

  

  

  

  

  

  

  

最新文章

  1. 变量在SSIS包中的使用
  2. AppInventor学习笔记(四)——打地鼠应用学习
  3. poj1244Slots of Fun
  4. linux笔记:shell基础和bash的基本功能
  5. bootstrap-按钮组、字体图标
  6. == Rickard Oberg & TheServerSide
  7. hdu 3859 Inverting Cups
  8. linux 监控系统缓存和cpu
  9. SQL SERVER——CPU问题定位与解决
  10. Libgdx 1.6.0发布,跨平台游戏开发框架
  11. RabbitMQ Linux(Redhat6.5)安装(二 )
  12. 执行C#动态代码
  13. 使用sqlplus创建Oracle表空间
  14. drf实现图片验证码功能
  15. MySQL创建数据库指定字符集
  16. 『Python』socket网络编程
  17. Python 3 进阶 —— 使用 PyMySQL 操作 MySQL
  18. 数据库_存储过程简介(oracle版)
  19. Android自定义视图三:给自定义视图添加“流畅”的动画
  20. MongoDB:数据导入CSV文件之错误记录

热门文章

  1. java利用itext导出pdf
  2. Ubuntu16.04下ZeroC ICE的安装与使用示例(Qt C++ 和 Java)
  3. 一个python小白的学习之路
  4. linux Posix线程同步(条件变量) 实例
  5. 埃式筛法——求n以内素数
  6. ANOVA-方差分析和单尾方差分析
  7. 18.python关于mysql的api
  8. 记一次网络原因导致的mysql连接中断问题(druid)
  9. linux安装mysql后root无法登录 sql 无法登录
  10. P4168 [Violet]蒲公英