精华内容
下载资源
问答
  • UE4从菜鸟到高手13:Unreal Engine碰撞讲解(上) 01 前提 Sphere、Cube、Floor都是StaticMeshActor类型 02 力与碰撞 02 01 Simulate Physics 现阶段直观觉得Simulate Physics是加重力的,对WorldStatic类型打勾...

    UE4从菜鸟到高手13:Unreal Engine碰撞讲解(上)

    01 前提

    Sphere、Cube、Floor都是StaticMeshActor类型
    在这里插入图片描述

    02 力与碰撞

    02 01 Simulate Physics

    现阶段直观觉得Simulate Physics是加重力的,对WorldStatic类型打勾“忽略”或“重叠”的话。
    在这里插入图片描述
    Sphere、Cube、Floor都会往下掉
    在这里插入图片描述

    02 02 不同类型的reget、overlap、block

    只有Sphere开启Simulate Physics,并且穿Cube(WorldStatic类型),不穿Floor(默认WorldDynamic类型)
    在这里插入图片描述
    在这里插入图片描述

    03 OnActorHit方法(谁打了我)

    1. 在“02 02 不同类型的reget、overlap、block”的基础上,Sphere开启“Simulation Generates Hit”,并且对Cube和Floor两种类型都会变“硬”(block)。
      在这里插入图片描述
    2. 碰了Sphere的对象“Other Actor”的名字会被打印

    在这里插入图片描述

    1. Cube碰了Sphere,Cube被打印

    在这里插入图片描述

    04 总结

    在这里插入图片描述

    展开全文
  • Unreal Engine 4 C++ 射线碰撞

    千次阅读 2014-09-26 01:11:21
    Unreal Engine 4 C++ 射线碰撞

    游戏开发中经常会用到射线碰撞,比如激光器打一枪,需要明确知道它集中的位置,然后在这个点释放攻击特效。

    Unrea Engine 4中做射线碰撞也很简单,主要功能的实现是World的LineTraceSingle这个方法,下面给出测试代码。代码我在ThirdPersonTemplate中测试。检测角色正前方有无柯碰撞的Actor,有就在碰撞点上显示一个调试用的圆球。代码如下:

    void ANanProjectCharacter::Raycast()
    {
    	FHitResult hitResult(ForceInit); 
    	FVector pos, dir;
    	FCollisionQueryParams ccq(FName(TEXT("CombatTrace")), true, NULL);
    	ccq.bTraceComplex = true;
    	ccq.bTraceAsyncScene = false;
    	ccq.bReturnPhysicalMaterial = false;
    	ccq.AddIgnoredActor(this);
    
    	pos = GetActorLocation();
    
    	const FRotator Rotation = CapsuleComponent->GetComponentRotation();
    	const FRotator YawRotation(0, Rotation.Yaw, 0);
    
    	// get forward vector
    	dir = FRotationMatrix(YawRotation).GetUnitAxis(EAxis::X);
    
    	FVector posBegin = pos;
    	FVector posEnd = pos + dir * 500;
    
    	GetWorld()->LineTraceSingle(hitResult,
    		posBegin,
    		posEnd,
    		ECC_WorldStatic,
    		ccq);
    
    	DrawDebugLine(this->GetWorld(), posBegin, posEnd, FColor(1.0f, 0.f, 0.f, 1.f), false, 20.f);
    	if (hitResult.GetActor())
    	{
    		DrawDebugSphere(GetWorld(), hitResult.Location, 10, 10, FColor::Red, false, 20.f);
    		
    	}
    }


    注意下,需要把角色自己从碰撞检测中排除掉。最终效果如下:



    展开全文
  • Unreal Engine——碰撞系统 在游戏的开发之中,玩家和场景的交互,有一点就是碰撞,这里讲解最基础的碰撞 一、碰撞的删除与添加 游戏会使用到许多的模型,有的时候,有的模型不想和玩家碰撞就要取消,例如:草。(UE...

    Unreal Engine——碰撞系统

    在游戏的开发之中,玩家和场景的交互,有一点就是碰撞,这里讲解最基础的碰撞

    一、碰撞的删除与添加

    游戏会使用到许多的模型,有的时候,有的模型不想和玩家碰撞就要取消,例如:草。(UE4的植被系统可以自动解决)如果草的模型不取消碰撞,会出现下面这种人物站立在草上方的情况在这里插入图片描述
    我们只需要打开草的这个模型
    在这里插入图片描述
    在Collision中选择移除碰撞在这里插入图片描述
    添加碰撞,按照给出的碰撞模式添加即可
    编译保存后,再进入就不会再有碰撞产生
    在这里插入图片描述

    展开全文
  • Unreal_TP4:手动移动,生成,碰撞和UI
  • Unrea Engine 4中做射线碰撞也很简单,主要功能的实现是World的LineTraceSingle这个方法,下面给出测试代码。代码我在ThirdPersonTemplate中测试。检测角色正前方有无柯碰撞的Actor,有就在碰撞点上显示一个调试用的...

    游戏开发中经常会用到射线碰撞,比如激光器打一枪,需要明确知道它集中的位置,然后在这个点释放攻击特效。

    Unrea Engine 4中做射线碰撞也很简单,主要功能的实现是World的LineTraceSingle这个方法,下面给出测试代码。代码我在ThirdPersonTemplate中测试。检测角色正前方有无柯碰撞的Actor,有就在碰撞点上显示一个调试用的圆球。代码如下:

    void ANanProjectCharacter::Raycast()

    {

    FHitResult hitResult(ForceInit);

    FVector pos, dir;

    FCollisionQueryParams ccq(FName(TEXT("CombatTrace")), true, NULL);

    ccq.bTraceComplex = true;

    ccq.bTraceAsyncScene = false;

    ccq.bReturnPhysicalMaterial = false;

    ccq.AddIgnoredActor(this);

    pos = GetActorLocation();

    const FRotator Rotation = CapsuleComponent->GetComponentRotation();

    const FRotator YawRotation(0, Rotation.Yaw, 0);

    // get forward vector

    dir = FRotationMatrix(YawRotation).GetUnitAxis(EAxis::X);

    FVector posBegin = pos;

    FVector posEnd = pos + dir * 500;

    GetWorld()->LineTraceSingle(hitResult,

    posBegin,

    posEnd,

    ECC_WorldStatic,

    ccq);

    DrawDebugLine(this->GetWorld(), posBegin, posEnd, FColor(1.0f, 0.f, 0.f, 1.f), false, 20.f);

    if (hitResult.GetActor())

    {

    DrawDebugSphere(GetWorld(), hitResult.Location, 10, 10, FColor::Red, false, 20.f);

    }

    }

    注意下,需要把角色自己从碰撞检测中排除掉。最终效果如下:

    展开全文
  • 教程链接:Unreal Engine 4 虚幻引擎蓝图中级教程物理碰撞 ... 目录 第一章 常见的物理现象...4碰撞事件 5纯物理模拟子弹 第二章 碰撞体 1简易碰撞体 2DOP碰撞体 3凸面碰撞体 4567UBX导入碰撞体 8从其他模型复...
  • 为了让我们靠近NPC才显示对话框,我们需要创建一个比角色原来的碰撞体要大一点的碰撞盒用来检测是否靠近NPC。我们会创建一个大的球体包围住NPC,这样当我们靠近NPC它就会作出反应并显示消息出来。 1) 在...
  • Unreal Engine 4 —— GAS系统学习 (五) 为主角武器添加碰撞体 该人物使用的SkeletalMesh的模型是带有剑的碰撞体的,我们先在Physics里面进行删除,后再进行以下操作。 以下代码添加在角色头文件中: 1 ...
  • 4) 选择上方的碰撞菜单,然后选择“添加胶囊简化碰撞”来模拟出近似的岩石形状的碰撞体: 5) 你可以通过W(平移)、E(旋转)、R(缩放)来调整碰撞体的网格大小: 6) 点击左上角的保存。然后点击播放...
  • Unreal Engine 4 —— GAS系统学习 (六) 为主角武器碰撞体进行限制 主角武器上的碰撞体现在功能是具备的,但是一直是具备的。就是说,不管我有没有发动攻击,只要我的武器碰到了敌人,敌人就会受伤,这种逻辑是不...
  • 1、碰撞组件基本属性碰撞组件的属性如图 属性简要介绍: Simulation Generates Hit Events:是否对碰撞事件进行通知 Phys Material Override:指定该Mesh的物理材质 Generate Overlap Events:是否对重叠事件进行通知 ...
  • 为了让我们靠近NPC才显示对话框,我们需要创建一个比角色原来的碰撞体要大一点的碰撞盒用来检测是否靠近NPC。我们会创建一个大的球体包围住NPC,这样当我们靠近NPC它就会作出反应并显示消息出来。 1) 在NPC.h...
  • Unreal Engine 4 蓝图脚本学习,根据《Blueprints Visual Scripting for Unreal Engine》学习整理 本篇博客主要内容是 射击添加到视口中的actor 并用自定义材质改变其它颜色 创建一个基于FirstPerson蓝图模板...
  • 这个算是第一个比较深入到Unreal引擎编码的例子,这个例子中,可以通过A,S,D,W控制球体的移动,通过鼠标控制转向,有燃烧的火球,非常的逼真。 下面是运行的示例图,跑动的时候效果会更赞,可以看到燃烧的火球: ...
  • 欢迎大家加入Unreal Engine C++ & Blueprint群一起交流:1143575617 之前我们已经做好了冲刺技能,也关联了冲刺技能的相关数据,但是有一点,我们的冲刺技能会被敌人的碰撞体阻挡,这里加以改进,在冲刺过程...
  • 时,会触发early out事件,将不检测碰撞而直接退出,这也就导致了该bug的产生。 Bug修复 更改引擎代码 若是想要彻底解决该问题,需要更改引擎代码,解决方案也较为直接: 可以直接重写 ...
  • 先说两种最基本的攻击检测思路 ...给武器附加一个碰撞组件,设置为Overlap,然后在动画中写两个通知,分别开启或关闭碰撞组件的碰撞.攻击动作到伤害判定帧时,就SetCollisionEnabled(Query)开启碰撞,伤害帧结束就N...
  • UE4中世纪城市完整源码Unreal Engine 4 Marketplace – Medieval Town Info: BUIld your own unique Medieval Town with this complete modular pack. Description Over 130 high quality assets ready to drop ...
  • 虚幻引擎搅拌机 该插件允许您将使用Blender创建的内容导出到... 通过允许您同时导出场景的所有资产,它简化了从Blender导出到Unreal Engine 4的方法。 它甚至可以与虚幻引擎4管道相关联地自动将它们以适当的树结构分

空空如也

空空如也

1 2 3 4
收藏数 65
精华内容 26
关键字:

unreal4碰撞