[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 ...
随机推荐
- 前端基础HTML以及常用的标签
cs模式:--- c:client server bs模式:---Browser server 1.WEB标准的概念及组成 网页主要有三部分组成: a:结构 -- 主要标准:XHTML和XML ...
- iOS 跨App数据共享
http://www.jianshu.com/p/169e31cacf42 http://www.jianshu.com/p/7f8472a97aa6 https://segmentfault.com ...
- 浅谈java中的祖先类Object
首先一道题: public class User{ private String name; private int age; public String getName() { return nam ...
- 【linux】State : Uninterruptible, pid: 3936
运行centos7中yum命令时提示: Existing lock /var/run/yum.pid: another copy is running as pid 3936.Another app ...
- React native 中使用Fetch请求数据
一.代码 import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View } from ' ...
- docker的网络访问
Docker的网络访问: #systemctl start docker #ifconfig [root@zizhen02 ~]# ifconfig docker0: flags=4099<U ...
- Yii easyWechat 开发的时候报错:cURL error 60: SSL certificate problem: unable to get local issuer certificat
最后配置了下php.ini文件curl.cainfo = "D:\AppServ\php5\cacert.pem" //这里填写自己对应的路径并去拷贝了下面链接的代码,自己建了个文 ...
- [ 随手记6 ] C/C++ 形参、实参、按值传参、指针传参、引用传参
个人原创: 1. 形参:形式上的参数,一般多在函数声明.函数定义的参数上: 2. 实参:实体参数,有实际的值,在运算上被循环使用的值: 3. 按值传参:按值,就是把实际的值传给函数内部: 4. 指针传 ...
- Python Redis中Scan遇到问题
在项目启动中需要删除redis原先相同key储存的值,所以使用scan_iter来便利相关的key,并删除. 这里需要注意两个性能问题 1. scan_iter的模糊匹配的过滤器要正确,否则会带来很多 ...
- 64位ubuntu16.04系统安装tensorflow_cpu
ubuntu16.04安装tensorflow_cpu 一.安装anaconda: ①.下载anaconda包:Anaconda3-5.2.0-Linux-x86_64.sh 这是python3.6. ...