UE4插件 - 编辑器工具栏按钮

根据网上的实例修改

  1. 添加插件Editor Toolbar Button 命名:EditorTools

在这里插入图片描述
2. 在文件EditorTools.cpp编辑代码

//当点击工具栏上的按钮是就会在场景中创建一个圆锥体
void FEditorToolsModule::PluginButtonClicked() {
#if 0
	// Put your "OnButtonClicked" stuff here
	FText DialogText = FText::Format(
		LOCTEXT("PluginButtonDialogText", "Add code to {0} in {1} to override this button's actions"),
		FText::FromString(TEXT("FEditorToolsModule::PluginButtonClicked()")),
		FText::FromString(TEXT("EditorTools.cpp"))
	);
	FMessageDialog::Open(EAppMsgType::Ok, DialogText);
#else
	//通过当前编辑视图实例获取当前World
	UWorld* World = GCurrentLevelEditingViewportClient->GetWorld();
	if (World) {
		//在视图中放置StaticMeshActor
		AStaticMeshActor* Actor = World->SpawnActor<AStaticMeshActor>(FVector(0, 0, 100), FRotator::ZeroRotator);
		//加载引擎Asset资源
		UStaticMesh* ConeMesh = LoadObject<UStaticMesh>(NULL, TEXT("/Engine/BasicShapes/Cone.Cone"), NULL, LOAD_None, NULL);
		UMaterial* Mat = LoadObject<UMaterial>(NULL, TEXT("/Engine/BasicShapes/BasicShapeMaterial.BasicShapeMaterial"), NULL, LOAD_None, NULL);
		if (ConeMesh) {
			//设置Mesh材质
			ConeMesh->SetMaterial(0, Mat);
			//设置MeshComponent的Mesh
			Actor->GetStaticMeshComponent()->SetStaticMesh(ConeMesh);
		}
		//刷新编辑中的视图,如果不加这行,则需要鼠标触发一下视图,视图才会刷新
		GEditor->RedrawLevelEditingViewports(true);
	}
#endif
}

编译以后工具栏上就会出现一个EditorTools按钮
在这里插入图片描述
点击这个按钮,在场景中就会出现一个圆锥体
在这里插入图片描述

aaa

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wb175208

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值