当前位置: 首页 > news >正文

做盗版音乐网站假冒网站能通过备案登记吗

做盗版音乐网站,假冒网站能通过备案登记吗,网站建设 提供源码,2022年国内重大新闻事件开发中经常会遇到编辑器环境中制作工具拖拽控制柄编辑内容的需求,此时可以通过Editor事件拿到对应回调,进行相应更新: 1.创建Mesh编辑Actor类 创建一个Mesh编辑Actor类,提供Mesh顶点编辑的相关逻辑。 .h: #pragma once#inclu…

开发中经常会遇到编辑器环境中制作工具拖拽控制柄编辑内容的需求,此时可以通过Editor事件拿到对应回调,进行相应更新:
在这里插入图片描述

1.创建Mesh编辑Actor类

创建一个Mesh编辑Actor类,提供Mesh顶点编辑的相关逻辑。

.h:

#pragma once#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "ProceduralMeshComponent.h"
#include "DraggableHandleActor.h"
#include "CustomMeshActor.generated.h"UCLASS()
class MYPROJECT6_API ACustomMeshActor : public AActor
{GENERATED_BODY()public:	ACustomMeshActor();UPROPERTY(EditAnywhere, BlueprintReadWrite)UProceduralMeshComponent* MeshComponent;UPROPERTY(EditAnywhere, BlueprintReadWrite)ADraggableHandleActor* HandleP0;UPROPERTY(EditAnywhere, BlueprintReadWrite)ADraggableHandleActor* HandleP1;UPROPERTY(EditAnywhere, BlueprintReadWrite)ADraggableHandleActor* HandleP2;UPROPERTY(EditAnywhere, BlueprintReadWrite)ADraggableHandleActor* HandleP3;protected:// Called when the game starts or when spawnedvirtual void BeginPlay() override;void OnRebuild();UFUNCTION()void OnHandleP0Moved();UFUNCTION()void OnHandleP1Moved();UFUNCTION()void OnHandleP2Moved();UFUNCTION()void OnHandleP3Moved();
};

.cpp:

#include "CustomMeshActor.h"ACustomMeshActor::ACustomMeshActor()
{PrimaryActorTick.bCanEverTick = true;MeshComponent = CreateDefaultSubobject<UProceduralMeshComponent>(TEXT("ProceduralMesh"));RootComponent = MeshComponent;
}void ACustomMeshActor::BeginPlay()
{Super::BeginPlay();HandleP0->OnHandleMoved.AddDynamic(this, &ACustomMeshActor::OnHandleP0Moved);HandleP1->OnHandleMoved.AddDynamic(this, &ACustomMeshActor::OnHandleP1Moved);HandleP2->OnHandleMoved.AddDynamic(this, &ACustomMeshActor::OnHandleP2Moved);HandleP3->OnHandleMoved.AddDynamic(this, &ACustomMeshActor::OnHandleP3Moved);this->OnRebuild();
}void ACustomMeshActor::OnRebuild()
{TArray<FVector> Vertices;FTransform ActorTransform = GetActorTransform();Vertices.Add(HandleP0->GetActorLocation());Vertices.Add(HandleP1->GetActorLocation());Vertices.Add(HandleP2->GetActorLocation());Vertices.Add(HandleP3->GetActorLocation());TArray<int32> Triangles;Triangles.Add(0);Triangles.Add(1);Triangles.Add(2);Triangles.Add(0);Triangles.Add(2);Triangles.Add(3);// 定义 UV 坐标TArray<FVector2D> UV0;UV0.Add(FVector2D(0.0f, 0.0f));UV0.Add(FVector2D(0.0f, 1.0f));UV0.Add(FVector2D(1.0f, 1.0f));UV0.Add(FVector2D(1.0f, 0.0f));// 法线TArray<FVector> Normals;Normals.Add(FVector(0.0f, 0.0f, 1.0f));Normals.Add(FVector(0.0f, 0.0f, 1.0f));Normals.Add(FVector(0.0f, 0.0f, 1.0f));Normals.Add(FVector(0.0f, 0.0f, 1.0f));// 切线TArray<FProcMeshTangent> Tangents;Tangents.Add(FProcMeshTangent(1.0f, 0.0f, 0.0f));Tangents.Add(FProcMeshTangent(1.0f, 0.0f, 0.0f));Tangents.Add(FProcMeshTangent(1.0f, 0.0f, 0.0f));Tangents.Add(FProcMeshTangent(1.0f, 0.0f, 0.0f));TArray<FColor> VertexColors;VertexColors.Add(FLinearColor::White.ToFColor(true));VertexColors.Add(FLinearColor::White.ToFColor(true));VertexColors.Add(FLinearColor::White.ToFColor(true));VertexColors.Add(FLinearColor::White.ToFColor(true));MeshComponent->ClearAllMeshSections();MeshComponent->CreateMeshSection(0, Vertices, Triangles, Normals, UV0, VertexColors, Tangents, true);
}void ACustomMeshActor::OnHandleP0Moved()
{OnRebuild();
}void ACustomMeshActor::OnHandleP1Moved()
{OnRebuild();
}void ACustomMeshActor::OnHandleP2Moved()
{OnRebuild();
}void ACustomMeshActor::OnHandleP3Moved()
{OnRebuild();
}

这部分代码通过UE的ProceduralMeshComponent动态创建顶点和Mesh。

2.创建操作柄

第二步需要实现拖拽操作柄或者修改界面数值得到回调,从而更新Mesh,在UE中这一块的编辑器回调有如下:

virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override; //UE面板修改数值
virtual void PostEditMove(bool bFinished) override; //UE界面拖拽Actor

接下来编写Actor - DraggableHandleActor来实现这样的逻辑:
.h

#pragma once#include "CoreMinimal.h"
#include "DraggableHandleActor.generated.h"DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnHandleMoved);UCLASS()
class MYPROJECT6_API ADraggableHandleActor : public AActor
{GENERATED_BODY()public:ADraggableHandleActor();#if WITH_EDITORvirtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;virtual void PostEditMove(bool bFinished) override;
#endif// Delegate for handle moved callbackUPROPERTY(BlueprintAssignable, Category = "Handle Events")FOnHandleMoved OnHandleMoved; // Delegate for broadcasting the movement
};

.cpp:

#include "DraggableHandleActor.h"ADraggableHandleActor::ADraggableHandleActor()
{
}#if WITH_EDITORvoid ADraggableHandleActor::PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
{Super::PostEditChangeProperty(PropertyChangedEvent);OnHandleMoved.Broadcast();
}void ADraggableHandleActor::PostEditMove(bool bFinished)
{Super::PostEditMove(bFinished);OnHandleMoved.Broadcast();
}#endif

注意这里定义了一个委托来给外部绑定回调:

DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnHandleMoved);

3.UE整合

在这里插入图片描述
最后在UE中绑定控制柄对应的Actor,并放置进对应的UMG或者Editor触发代码中即可。最后再记录顶点操作位置,再在运行时还原,即可实现这样的编辑器下顶点修改编辑需求。

http://www.yayakq.cn/news/66781/

相关文章:

  • 建设网站困难的解决办法网站案例响应式
  • 购物网站建设机构app开发网站公司
  • 哈尔滨队网站网页美工网站后台登录界面下载
  • 大连建设网站的公司做公司网页
  • 长沙企业网站制作服务报价哪个网站做物业贷
  • 联雅网站建设公司文员工作内容
  • 南京高端定制网站建设如何查看网站空间商
  • 常州营销型网站价格外贸营销型网站开发
  • 莆田外贸专业建站wordpress搭建英文网站
  • 网站开发追款单php 实现网站扫码登录
  • 麻江网站建设无后台网站的维护
  • 安徽网新科技怎么建设网站怎么制作外贸网站模板
  • 购物类网站开发喀什做网站
  • 门户网站个人可以做吗google官网进入
  • 17网一起做网站数字化转型的必要性
  • 阿勒泰建设招聘网站怎么让网站被搜索到
  • 如何做购物网站推广百度广告怎么做
  • 提高网站收录wordpress4.9上传失败
  • 做奥网站手机端网站建设哪家好
  • 久久营销网站室内装修图
  • 网站建设实训报告心得体会东莞厚街有什么好玩的地方
  • 网站关键词选取的方法网站怎样做外链
  • 开源建站系统cms深圳网站建设及推广
  • 做购物网站能否生存搜索引擎wordpress
  • 深圳制作网站搜行者seowordpress wp-admin
  • 制作网站公司价格东阳企业网站微商城建设
  • 什么网站能看男女做暧商水住房城乡建设网站
  • 河南睢县筑宇建设网站wordpress主题no.7
  • 自己怎么做网站卖车舒肤佳网络营销方案
  • 搭建网站咨询乌市做网站的公司