[UE4]Grab抓取
一、关键函数: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以后要,要重新烘焙,游戏运行中,再次抓取并移动这个方块,就不会产生影子问题了。

[UE4]Grab抓取的更多相关文章
- [UE4]抓取准备
一.引擎的VR实例工程是使用手柄进行抓取的.我们需要加上可以使用鼠标进行抓取操作. 二.将左右手保存到全局变量. 三.左右手分别调用抓取和扔方法
- 使用JavaCV/OpenCV抓取并存储摄像头图像
http://blog.csdn.net/ljsspace/article/details/6702178 分类: 图形图像(3) 版权声明:本文为博主原创文章,未经博主允许不得转载. 本程序通过 ...
- C#抓取数据、正则表达式+线程池初步运用
去年底用 多线程+HtmlAgilityPack.dll 写了一个抓取“慧聪网” 公司信息的小程序,代码惨不忍赌.好在能抓到数据,速度也能让人忍受就很久没管了. 最近这段时间把这个小程序发给同事看着玩 ...
- javacv:调取本地摄像头,抓取人脸,保存为图片
MAVEN: <dependency> <groupId>org.bytedeco</groupId> <artifactId>javacv-platf ...
- (原)Unreal渲染相关的缓冲区 及其 自定义代码几种抓取
@authot: 白袍小道 转载说明那啥即可. (图片和本文无关,嘿嘿,坑一下) 以下为Unreal4.18版本中对GPUBuffer部分的分析结果 (插入:比之够着,知至目的) ...
- python爬虫批量抓取ip代理
使用爬虫抓取数据时,经常要用到多个ip代理,防止单个ip访问太过频繁被封禁.ip代理可以从这个网站获取:http://www.xicidaili.com/nn/.因此写一个python程序来获取ip代 ...
- BASLER Pylon 抓取策略
BASLER Pylon 抓取策略 ( 涛哥工业技术 微信号 TaoRobotics) One by One Grab Strategy 逐个抓取策略 当使用 one by one 抓取模式时,图像按 ...
- 用WebRequest +HtmlAgilityPack 从外网抓取数据到本地
相信大家对于WebRequest 并不陌生,我们在C#中发请求的方式,就是创建一个WebRequest .那么如果我们想发一个请求到外网,比如国内上不了的一些网站,那么该怎么做呢? 其实WebRequ ...
- Phantomjs+Nodejs+Mysql数据抓取(2.抓取图片)
概要 这篇博客是在上一篇博客Phantomjs+Nodejs+Mysql数据抓取(1.抓取数据) http://blog.csdn.net/jokerkon/article/details/50868 ...
随机推荐
- oracle 修改用户密码
SYS用户是Oracle中权限最高的用户,而SYSTEM是一个用于数据库管理的用户.在数据库安装完之后,应立即修改SYS,SYSTEM这两个用户的密码,以保证数据库的安全. 安装完之后修改密码方法 c ...
- 二进制按位与(&) 按位或(|) 异或运算(^)
1.参加运算的两个数据,按照二进制进行按位与的运算. 运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 即:两位同时为“1”,结果才为 ...
- 处理文件中的" M-BM- "特殊符号
有时为了方便,会在Excel中进行代码拼装,比如说是建表SQL语句,但是在复制的代码过程中可能会带入不可见字符,造成代码无法运行. 本次代码中就需要了不可见的" M-BM- " 问 ...
- mac系统访问windows共享文件夹
1. 打开finder 2. 找到前往 - 连接服务器 3. 打开后,输入smb://ip地址 点击连接 4. 选择共享文件夹 5. 点击好,之后就可以了,如下图
- 使用Docker搭建LNMP开发环境
1.什么是Docker Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技 ...
- zznuoj 1540 : 直线与圆
题目描述 给出一个圆的圆心坐标与圆的半径,和一条直线上的两点坐标,求这条直线与圆有多少个交点. 输入 输入3个实数x,y,r值分别表示圆心坐标与圆的半径,输入4个实数x1,y1,x2,y2表示直线上的 ...
- echart 百度地图实现效果
1 必须引入 echarts.js文件 以及 china.js 点文件才可以执行代码2 ehcart官方文档有点小恶心,看了半天,好多东西都不是很清楚,必须挨个实验才行,希望对一些初学者来说可以少走一 ...
- Chrome如何访问外网
分享一下谷歌Chrome浏览器如何访问外网(FQ) 1.请确保你已经安装谷歌浏览器,同时能上网 2. 访问外网需要下载谷歌浏览器插件,网盘链接 https://pan.baidu.com/s/1R-b ...
- Python学习笔记,day1
Python学习第一天 一.变量 变量定义的规则: 变量名只能是 字母.数字或下划线的任意组合 变量名的第一个字符不能是数字 以下关键字不能声明为变量名['and', 'as', 'assert', ...
- .net core+Spring Cloud学习之路 一
文章开头唠叨两句. 2019年了,而自己参加工作也两年有余了,用一个词来概括这两年多的生活,就是:“碌碌无为”. 也不能说一点收获都没有,但是很少.2019来了,我立志要打破现状,改变自己,突破自我. ...