UE5中物体(instancemesh)沿样条线(spline)循环移动

这篇具有很好参考价值的文章主要介绍了UE5中物体(instancemesh)沿样条线(spline)循环移动。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 UE5中物体(instancemesh)沿样条线(spline)循环移动,ue5,java,服务器

// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "Components/SplineComponent.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "MeshMovingOnSplineClass.generated.h"

/**
 * 
 */
UCLASS()
class TCPCONNENT_API UMeshMovingOnSplineClass : public UBlueprintFunctionLibrary
{
	GENERATED_BODY()

public:
	UFUNCTION(BlueprintCallable)
	static void MeshOnSplineMoving(int32 MeshCount,UInstancedStaticMeshComponent* InstancedStaticMesh,USplineComponent* spline,float Speed = 1);

	static FTransform SpawnTransform;
	static float InitSpeed;
	static FVector SplineVector;
	static FRotator SplineRotator;
	static FVector SplineScale;
	static FTransform UpdateTransform;
	
};
// Fill out your copyright notice in the Description page of Project Settings.


#include "MeshMovingOnSplineClass.h"

#include "Components/InstancedStaticMeshComponent.h"

float UMeshMovingOnSplineClass::InitSpeed;
FTransform UMeshMovingOnSplineClass::SpawnTransform;
FVector UMeshMovingOnSplineClass::SplineVector;
FRotator UMeshMovingOnSplineClass::SplineRotator;
FVector UMeshMovingOnSplineClass::SplineScale = FVector(1,1,1);
FTransform UMeshMovingOnSplineClass::UpdateTransform;

void UMeshMovingOnSplineClass::MeshOnSplineMoving(int32 MeshCount, UInstancedStaticMeshComponent* InstancedStaticMesh,
	USplineComponent* spline, float Speed)
{
	if (InstancedStaticMesh->GetInstanceCount() < MeshCount)
	{		
		for (int i = InstancedStaticMesh->GetInstanceCount(); i < MeshCount; i++)
		{
			InstancedStaticMesh->AddInstance(SpawnTransform,true);
		}
	}

	InitSpeed = InitSpeed + Speed;
	for (int j = 0; j < MeshCount; j++)
	{
		float AA = spline->GetSplineLength() / MeshCount;
		float BB = j * AA;
		float CC = BB + InitSpeed;
		float DD = fmodf(CC,spline->GetSplineLength());

		SplineVector = spline->GetWorldLocationAtDistanceAlongSpline(DD);
		SplineRotator = spline->GetWorldRotationAtDistanceAlongSpline(DD);

		UpdateTransform.SetLocation(SplineVector);
		UpdateTransform.SetRotation(SplineRotator.Quaternion());
		UpdateTransform.SetScale3D(SplineScale);
		
		InstancedStaticMesh->UpdateInstanceTransform(j,UpdateTransform,true,true,false);
	}
}

 文章来源地址https://www.toymoban.com/news/detail-806774.html

到了这里,关于UE5中物体(instancemesh)沿样条线(spline)循环移动的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在UE4蓝图中利用样条线组件(Spline)生成道路

    在场景中添加道路常用的有两种 一种是在三方建模软件(3Dmax Maya 等)建好后导入到UE中 第二种是在地形模式(Landscape)下设置地形的起伏形成道路或者做个 另一个还有“顶点绘制”,这个是给模型附加两种材质,再根据模型的顶点分布,显示一个隐藏一个,进而实现道路的

    2023年04月09日
    浏览(45)
  • UE4/5样条线学习(三):样条线与时间轴

    目录 简单的小模板 物品跟随样条线移动 粒子特效类: 通过之前的案例,我们可以直接创建一个actor蓝图,加上要用的样条组件: 然后我们就可以通过时间轴做出不同的一些效果 在蓝图中找到时间轴的这个节点 双击时间轴之后,创建一个浮点型的表:  上面可以是设置时间

    2024年02月14日
    浏览(49)
  • UE4/5样条线学习(一):基础的样条线使用

    目录 效果展示: 制作: 组件 逻辑 注:按住alt拉轴可以拉出多一个点 第一步我们创建一个蓝图,命名为BP_Sline: 之后我们开始找组件,输入bill,我们可以看见下面这些,我们要的是第一个,这个的目的是为了让你更好的看到样条线的根组件在哪: 然后将这个发到根组件替

    2024年02月15日
    浏览(69)
  • UE4/5样条线学习(四):样条线的创建和自然摆动

    这一次我们创建一个actor蓝图,不过我们这次并不需要在一开始就创建样条线组件,而是在游戏中根据两个点去创建样条线,然后用时间轴根据样条线带动物品旋转位移。 第一步,创建一个actor蓝图,然后改为公告板为根。 然后我们要创建两个可以获取场景坐标的组件,不论

    2024年02月11日
    浏览(37)
  • UE4/5样条线学习(二):样条网格体组件的使用

    目录 效果展示: 制作:         前面的步骤和之前的UE4/5样条线学习(一):基础的样条线使用_多方通行8的博客-CSDN博客是一样的。         创建一个actor蓝图,然后一个公告板组件,只不过这里我们要使用的是样条网格体组件。  然后选择模型:最好自然是一个水

    2024年02月16日
    浏览(40)
  • UE4样条线移动,玩家只需要控制旋转

    1.创建Actor并命名为“A_Spline” 2.创建Pawn并命名为“P1” 3以上创建的蓝图类可以使用自己的命名!!!!! 第二步:给P1写上蓝图 1.我们首先给P1写蓝图 2.在输入映射中设置一个事件Yaw 3.为鼠标的X轴,数值为1 4.如图写上刚刚设置的输入事件 第三步:给A_Spline写上蓝图 1.添加一

    2023年04月09日
    浏览(61)
  • 【沐风老师】如何在3dMax中将3D物体转化为样条线构成的对象?

    在3dMax中如何把三维物体转化为由样条线构成的对象?通常这样的场景会出现在科研绘图或一些艺术创作当中,下面给大家详细讲解一种3dmax三维物体转样条线的方法。 第一部分:用粒子填充3D对象: 1.创建一个三维对象(本例使用球体对象)和一个粒子流源对象。 2.选择粒子

    2024年02月10日
    浏览(53)
  • UE4:使用样条生成随机路径,并使物体沿着路径行走

    参考自:样条函数 - 馒头and花卷 - 博客园 三次样条(cubic spline)插值 - 知乎 B-Spline(三)样条曲线的性质 - Fun With GeometryFun With Geometry 个人理解的也不是非常深,但是大概要知道的就是样条具有局部特性,每一个区间的曲线只与该区间两端端点的位置和斜率有关。 参考自:ue4

    2023年04月26日
    浏览(49)
  • 【虚幻引擎】UE4/UE5鼠标点击事件实现物体移动

     在UE4/UE5中,引擎有它自己的一套框架体系,虚幻就是基于这一个框架体系来实现的。其中就有PlayerController(玩家控制器),玩家控制器中就有对鼠标的一系列设置,包括显示鼠标,允许点击事件等。  1.创建PlayerController,命名为MyPlayerController 2.打开MyPlayerController,勾选参数

    2024年02月10日
    浏览(115)
  • UE5 物体高速移动产生拖影(运动残影)

    给一个物体加上一个location的变化,当这个值达到一定大小时,运动会产生残影 速度较小时则不会,或者说不那么明显 这个是因为UE5的抗锯齿采样方法方法改成了 TSR- Temporal Super Resolution 该方法主要是将低分辨率游戏画面扩展至高分辨率,类似英伟达的DLSS,减轻显卡压力从而

    2024年02月11日
    浏览(140)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包