ue4碰撞_ue4 物体碰撞 - CSDN
精华内容
参与话题
  • 虚幻UE4碰撞系统

    万次阅读 2016-03-18 15:22:26
    虚幻引擎的碰撞系统...

    虚幻的物理模拟(Physics Simulation)基于 PhysX 3.3物理引擎,并以此进行基本的碰撞计算、物理互动。虚幻4的碰撞选项卡如下所示。

    这里写图片描述

    要理解和灵活应用虚幻引擎提供的碰撞系统,需要搞明白以下两个基本概念:

    1. 物体类型(Object Type)
    2. 碰撞响应(Collision Responses)

    物体类型Object Type是一个分类,一些响应同样碰撞效果的物体可以划分到同一个类中。比如地面,我们希望它对任何场景物体都阻碍(Block)(虚幻4.8把这个翻译为区块….),就是说任何物体和地面的碰撞都是地面阻止物体穿过自己(如果物体有速度的和地面碰撞,仅仅设置碰撞为block并不能产生反弹效果,需要结合物体模拟设置)。
    向项目中增加自定义Object Type的方法是编辑—项目设置—碰撞。

    碰撞响应(Collision Responses)有三种:Ignore,Overlap,Block,译为忽略,重叠,区块(这个翻译为阻碍、阻挡更加易于理解)。

    Block就是阻止物体穿过自己,当别的物体以一定速度撞上自己时,两者不会发生互相重叠的情况(需要两者都设置为Block),至于它们如何模拟物理反应(反弹效果),需要另外设置。
    碰撞响应设置为Block时,两物体发生碰撞的瞬间激活On Component Hit事件。

    这里写图片描述

    Overlap和Ignore都会让两个物体互相重叠、穿过。它们的区别是当设置为overlap时,两物体开始和结束overlap(重叠)时,可以激活事件ReceiveBeginOverlap and ReceiveEndOverlap。

    这里写图片描述

    当碰撞预设值(Collision Presets)设置为Custom时,可以自定义本物体对不同类的响应类型(大部分时候都是设置为custom)。
    比如自己是一个墙壁(Object Type为Wall),它对普通玩家的碰撞响应为Block,对无敌玩家的碰撞响应为overlap,对子弹的碰撞响应为ignore,则需要的设置如下:

    这里写图片描述

    结果就是Object Type为NormalPlayer的actor类蓝图(或者组件)无法穿过自己;Object Type为GreatPlayer的actor类蓝图(或者组件)可以穿过自己,但我们可以确切的得知它什么时候开始接触墙壁、什么时候离开墙壁;Object Type为Bullet的actor类蓝图(或者组件)可以穿过自己,不会激起任何事件触发。

    需要注意的是,碰撞响应的设置是需要双方配合的。上面的例子中,不仅仅要设置Wall对其他类型的碰撞响应方式,还要设置其他类型对wall的碰撞响应方式。只有碰撞的两个物体都设置为对对方为Block时,才会真的产生block效果

    下图是GreatPlayer的设置:
    这里写图片描述

    上面的例子不一定合理,只是用来说明问题的。部分图片来自官方文档。

    关于虚幻引擎碰撞模块的详细介绍可以参见官方文档,点击这里

    展开全文
  • UE4 Collision碰撞 简单的总结

    千次阅读 2018-11-23 17:36:07
    UE4中的碰撞大致可以分为两种:LineTrace 的 Trace Channel 和 物体与物体之间的碰撞,设置上就是相互影响,还有一个就是通过Actor自身蓝图直接设置碰撞响应的方式,下面大概说明一下! 1、LineTrace By Channel ...

    UE4中的碰撞大致可以分为两种:LineTrace 的 Trace Channel 和 物体与物体之间的碰撞,设置上就是相互影响,还有一个就是通过Actor自身蓝图直接设置碰撞响应的方式,下面大概说明一下!

    1、LineTrace By Channel 类型的 默认有2个: Visibility 和 Camera ,这里强调一下,这两个的意思和翻译过来的可见和相机的意思一点关系都没有,就是UE4 取了2个名字,作为2个Channel的名字!!!
    在这里插入图片描述
    在这里插入图片描述
    上面的2个图,是可以相互配合,相互影响的,如果通过蓝图也控制了碰撞,则会覆盖掉上面2个图的设置
    在这里插入图片描述 在这里插入图片描述
    上面的图是通过蓝图来设置碰撞相应方式的节点!

    展开全文
  • ue4碰撞检测及射线查询

    万次阅读 2017-10-30 11:44:44
    ue4射线查询主要使用LineTraceSingleByChannel和LineTraceSingleByObjectType函数进行 LineTraceSingleByChannel是通过Channel进行查询 LineTraceSingleByObjectType通过ObjectType进行查询 要理解这两个函数的区别...

    ue4射线查询主要使用LineTraceSingleByChannel和LineTraceSingleByObjectType函数进行

    LineTraceSingleByChannel是通过Channel进行查询

    LineTraceSingleByObjectType通过ObjectType进行查询

    要理解这两个函数的区别,首先必须理解Channel和ObjectType的区别

    此处的Channel指的是ECollisionChannel(可参考源码),而ObjectType指的是碰撞中的Object Type设置,如下图


    当使用LineTraceSingleByObjectType函数是,对比的是ObjectType

    而使用LineTraceSingleByChannel函数时,对比的是Channel,比如如下调用

    const bool bHit = World->LineTraceSingleByChannel(Hit, Start, End, ECC_Visibility, TraceParams);

    当TraceChannel参数为ECC_Visibility时,判断Visibility对应的值,如果对应的值是Ignore,则忽略,如下图


    此处还需注意Trace Responses和Object Responses的区别


    Ignore、Overlap、Block的区别可在官网中看见,以下是截图


    主要需要注意的是Overlap和Block的区别,只有碰撞双方都是Block,才会触发Hit Event(不触发Overlap事件),如果一方Overlap,一方Block,或者都是Overlap,会触发Overlap Event(Generate Overlap Events需打勾)

    一般来说,Trace Responses对应Channel用来处理射线查询,Object Responses对应的Channel用来处理物理碰撞,它们都是可扩充的

    通过查看在代码中的定义,我们知道它们使用了同样的枚举,如下


    枚举中加了TraceQuery=1的表明为Trace Responses,否则为Object Responses

    可通过Project Settings中的Collision界面新增Channel,如下是项目默认的界面


    我们再来看看ShooterGame的界面


    ShooterGame在Trace Channels中新增了Weapon,在Object Channels中新增了PROJECTILE和PICKUP

    我们在ShooterGame的代码ShooterGame.h中可以看见定义了相关的宏


    这些宏定义主要是出于可读性的考虑

    在ShooterGame中,COLLISION_WEAPON主要作用是AI用来检测玩家是否在可见范围内,而PROJECTILE是火箭炮,PICKUP是可拾取物体,如子弹和加血包,当然,我们可以根据需求自己新增TraceChannel和ObjectChannel

    接下来再看看Collision Presets,如下图


    这些Presets可在本博文上面的截图中看到,双击可进行编辑


    这样可简化component collision的设置

    展开全文
  • 物体碰撞形状分为简单碰撞和复杂碰撞,简单碰撞的形状比较简单,复杂碰撞紧贴物体表面,形状精确但是计算量大。 使用工具栏Collision下拉菜单切换碰撞的显示与隐藏: Ref: ......

     

    物体碰撞形状分为简单碰撞和复杂碰撞,简单碰撞的形状比较简单,复杂碰撞紧贴物体表面,形状精确但是计算量大。

    使用工具栏Collision下拉菜单切换碰撞的显示与隐藏:

     


    Ref:

    https://blog.csdn.net/yb0022/article/details/103382305

    展开全文
  • UE4碰撞规则详解(2016.7.12更新)

    万次阅读 多人点赞 2018-09-10 17:24:20
    如果想看关于碰撞响应触发,可以参考链接( UE4蓝图碰撞检测解析) 如果想进一步深入UE物理引擎相关内容,请参考博客 (UE4物理模块分析)     现在开始讲解并总结一下UE4里面的碰撞规则:   1.只有拥有...
  • ue4碰撞规则

    千次阅读 2018-09-06 18:29:17
    任意两个物体有碰撞的条件 ①一定是互相设置了Collision Preset。 ②至少有一个实体开启了simulate physics。 ③该static Mesh必须要有碰撞盒(或者这个Actor有碰撞组件,比如sphere collision)  对于多组件...
  • UE4中的Collision(碰撞)规则梳理

    千次阅读 2018-04-28 15:32:31
    第一部分是碰撞一些小心得,新手可以直接看第二部分,希望能帮到你。第二部分是基础知识。第一部分这里说下使用过程中发现的小点,1.有些情况可能会让大家产生怀疑。比如这个节点·····当你使用这个节点的时候,...
  • UE4蓝图碰撞检测解析

    万次阅读 多人点赞 2020-02-04 16:44:10
    虽然UE4官方文档对碰撞好像讲的很清楚,但是尝试的时候发现有很多问题,而且和官方文档描述的总会出现一些差异,所以自己总结一下所有有关碰撞的内容,持续更新吧~ 下面总结了一般的碰撞以及多组件碰撞的一些...
  • ue4 模型添加精细碰撞

    千次阅读 2016-08-27 22:40:21
    对于比较大的模型,导入ue4时原有碰撞是很不精细且粗糙 在模型属性里设置即可:
  • 虚幻引擎4在 静态网格物体编辑器 中提供了创建碰撞几何体的基本工具。但是,某些时候,最好还是通过在您的3D建模应用程序中创建自定义的碰撞几何体然后再将其随同渲染网格物体导出来进行处理。一般,这适用于任何...
  • 因为在导入FBX文件到UE4中时自动生成 的Collision并不是很理想。 所以导入FBX时将 Auto Generate Collision去除勾选。这里引擎不会为你生成碰撞信息, 运行时就会出现人物穿墙无限坠落 找到导入到...
  • ue4内植物碰撞和风力设置

    千次阅读 2018-05-11 15:30:33
    首先是这种碰撞用需要骨骼绑定实现,一根枝干上不要有太多骨架,否则会比较软这下面提供一种配置,只是测试出来感觉比较好设置physics asset全选bodies如上设置下面全选constraints如下设置总的来说就是减少不必要的...
  • 加一个导UE4试试,然后再加,一个一个试。 当测试碰撞体数大于16个时发现问题了,当一个布料文件中超过16个就会出现碰撞体失效的情况,但我老大说官网说是最多32个,但测试的结果确实是16个。比如我加了第17个,第...
  • 一、添加敌人的碰撞检测,自动寻路、追踪 1、 NaVmesh自动寻路,学过Unity的应该都用过这组件,用来自动寻路的,UE中用法也是一样的,首先在UE左边模式中添加一个navMesh组件,尽量拉伸铺满整个地图 2、打开...
  • UE4 C++ 碰撞检测(Overlap)

    千次阅读 2017-08-02 11:06:38
    ue4中 蓝图里的碰撞检测是一个事件,在ue4 c++中 需要先写一个函数 函数签名如下 void OnHit(class UPrimitiveComponent* OverLapComp, class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int32...
  • UE4碰撞规则详解

    千次阅读 2018-05-25 16:02:30
    如果想看关于碰撞响应触发,可以参考链接( UE4蓝图碰撞检测解析) 如果想进一步深入UE物理引擎相关内容,请参考博客 (UE4物理模块分析)现在开始讲解并总结一下UE4里面的碰撞规则:1.只有拥有Collision属性的...
  • UE4中自定义碰撞形状和unity3D的区别

    千次阅读 2016-10-09 11:42:14
    UE4中添加自定义碰撞形状则区别较大 1.美术制作时对于需要碰撞形状需要特殊命名,而且碰撞形状和目标网格要在一个场景中。如图1为目标显示网格,2为碰撞轮廓(为了视觉区别比较明显在MAYA中将轮廓网格显示为网格模式...
  • 选择第四个:将复杂碰撞用作简单碰撞,这样就设置好了 方法二: 还是刚刚的界面,左上角菜单栏有碰撞标题 点击后可以选择更为简化的碰撞复杂程度,如:胶囊简化碰撞,如图绿色内的区域都无法穿过 方法三:...
  • 当主角为非人物,站立式胶囊体不能完全包裹时,该怎么解决?还有物理效果怎么处理?
  • 我做了一面带洞的墙,又做了一个门框,导到虚幻4编辑器里,play的时候角色不能穿过门。 打开导入的材质,发现整个门框都被一个大框子框在里面,我猜应该是导入时默认生成的碰撞体积。请问各位大神,怎么修改碰撞体积...
1 2 3 4 5 ... 20
收藏数 1,871
精华内容 748
关键字:

ue4碰撞