UE4 根据任意多个点,生成最近的线条

UE4自带的SplineMesh特点:Tangent值为0的时候,会断开一段距离,起点和终点并不是同一个位置;Tangent值不为0的时候,会计算出转角的mesh
在这里插入图片描述在这里插入图片描述

1.计算所有线条的组合
在这里插入图片描述
2.Clear0宏:清除掉数组Distance=0的值。注意这里是设置成最大值,而不是使用Clear!
在这里插入图片描述
3.清除掉数组中的最小值,避免重复生成相同长度的线条。注意这里是设置成最大值,而不是使用Clear!
在这里插入图片描述
4.AddMesh宏:创建添加样条网格体组件,记录下最小值,准备用于下一次数组循环
在这里插入图片描述
在这里插入图片描述
5.线条样式
5.1折线方案1
在这里插入图片描述
5.2折线方案2
在这里插入图片描述
5.3完美曲线
参考知乎

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在UE4中,可以根据两个向量来绘制抛物线。首先,我们需要创建一个Blueprint类,并添加一个静态网格组件。 在Blueprint中,我们可以使用蓝图脚本来实现抛物线的计算和绘制。首先,我们需要获取起始和结束的向量,并计算出抛物线的曲线。可以使用以下公式来计算对应的抛物线曲线: F(t) = (1-t) * (1-t) * StartVector + 2 * (1-t) * t * ControlVector + t * t * EndVector 可以在蓝图脚本中使用向量的线性插值函数函数“Lerp”来实现这个公式。然后,我们可以使用DrawDebugLine函数在游戏中绘制抛物线。 在蓝图脚本中,添加一个自定义事件,并将起始、结束和控制作为输入参数。在事件中,使用一个循环来计算和绘制抛物线上的每个。 首先,计算抛物线上的的数量,可以根据需要设置一个步长,然后根据时间t来计算每个的位置,通过插值函数计算的位置并用DrawDebugLine函数绘制将每个连接起来的直线。 最后,在蓝图类的构造函数中调用自定义事件,并传入起始、结束和控制的向量参数。 这样,当我们在游戏场景中创建这个蓝图类的实例时,抛物线将根据指定的开始和结束位置以及控制进行绘制。可以在游戏中进行调试,通过绘制的线条来观察抛物线的形状和走向。 通过以上步骤,我们可以在UE4中根据两个向量绘制抛物线。 ### 回答2: 在使用Unreal Engine 4 (UE4) 绘制抛物线时,可以通过以下步骤实现: 1. 首先,确定起始和目标的位置,这两个将决定抛物线的形状。可以使用UE4的向量(Vector)类来定义这两个位置。假设起始的向量为StartPoint,目标的向量为TargetPoint。 2. 创建一个绘制抛物线的函数。该函数将使用UE4的绘制工具,在游戏世界中根据起始和目标的位置绘制抛物线。 3. 在函数内部,使用FVector类来计算抛物线的轨迹。可以通过两个向量的差(TargetPoint - StartPoint)来获得方向向量。为了使抛物线更加平滑,可以将方向向量的高度缩小(例如除以2)。 4. 然后,使用一个循环来绘制抛物线。在每一帧中,根据时间和初始速度,计算出抛物线上的位置。并在该位置调用UE4的绘制函数,绘制一个或粒子等形状。随着时间的推移,这些会连成一条抛物线。 5. 可以修改函数的参数,例如速度、形状和粒子颜色,以使抛物线看起来更加逼真和多样化。 通过以上步骤,可以在UE4中根据两个向量绘制一个符合要求的抛物线。可以将该函数添加到自己的脚本中,并在合适的时机调用它,以显示抛物线效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值