UE4 button插件,简单的把Max Transform 转换 然后在关卡中生成模型
来源:互联网 发布:生产工艺过程演示软件 编辑:程序博客网 时间:2024/06/08 17:42
代码 糙的一比。。实在太菜了。
使用了 csv,txt读入,windows 剪贴板api,UE4plugin。自己简单的记录下,美术需求的插件。
不负责任的代码,为什么用英文标注? 因为显得比较厉害啊。
void FCopyMeshModule::PluginButtonClicked(){ // Read file from the root. IDesktopPlatform *DesktopPlatform = FDesktopPlatformModule::Get(); FString RootDir; DesktopPlatform->GetDefaultEngineRootDir(RootDir); TArray<FString> SelectedFiles; DesktopPlatform->OpenFileDialog(nullptr, TEXT("Open File"), RootDir, TEXT(""), TEXT("Text file|*.txt"), EFileDialogFlags::None, SelectedFiles); // Choose the first txt file std::string CurrentFile(TCHAR_TO_UTF8(*SelectedFiles[0])); // Ifstream read ifstream readfile(CurrentFile); // Must use "std::" about vector std::string str; std::vector <string> TotalString; // Char "," used to separate char * dou = ","; std::vector<string>ShowStr; // Read the entire line, stop by "\n" while (getline(readfile, str)) { ShowStr.clear(); stringstream Splitstr(str); string tempstr; // In the loop, read and separated by commas while (getline(Splitstr, tempstr, *dou)) { // Pressed the result into the vector showstr. ShowStr.push_back(tempstr); } string duanStr1 = "Begin Actor Class=StaticMeshActor Name=" + ShowStr[0]; string duanStr2 = " Archetype=StaticMeshActor'/Script/Engine.Default__StaticMeshActor' \n\ Begin Object Class=StaticMeshComponent Name=StaticMeshComponent0 ObjName=StaticMeshComponent0 \n\ Archetype=StaticMeshComponent'/Script/Engine.Default__StaticMeshActor:StaticMeshComponent0'\n\ End Object\n\ Begin Object Name=StaticMeshComponent0\n\ StaticMesh=StaticMesh'/Engine/EditorMeshes/EditorCube.EditorCube'\n\ RelativeLocation=(X="; string duanStr2_1 = ShowStr[1]; string duanStr3 = ",Y=" + ShowStr[2]; string duanStr4 = ",Z=" + ShowStr[3]; string duanStr5 = ")\n\ RelativeScale3D=(X="; string duanStr5_1 = ShowStr[7]; string duanStr6 = ",Y=" + ShowStr[8]; string duanStr7 = ",Z=" + ShowStr[9]; string duanStr8 = ")\n\ RelativeRotation=(Pitch="; string duanStr8_1 = ShowStr[4]; string duanStr9 = ",Yaw=" + ShowStr[5]; string duanStr10 = ",Roll=" + ShowStr[6]; string duanStr11 = ")\n\ CustomProperties \n\ End Object\n\ StaticMeshComponent=StaticMeshComponent0\n\ Components(0)=StaticMeshComponent0\n\ RootComponent=StaticMeshComponent0\n\ ActorLabel="; string duanStr11_1 = ShowStr[0]; string duanStr12 = "\n\ End Actor\n"; string total = duanStr1 + duanStr2 + duanStr2_1 + duanStr3 + duanStr4 + duanStr5 + duanStr5_1 + duanStr6 + duanStr7 + duanStr8 + duanStr8_1 + duanStr9 + duanStr10 + duanStr11 + duanStr11_1 + duanStr12; TotalString.push_back(total); } string beg = "Begin Map\n BeginLevel\n"; string end = "End Level\n Begin Surface\n End Surface\n End Map\n"; string res; // I have no idea about "TotalString.size()-1" for (int i = 0; i < TotalString.size() - 1; i++) { res += TotalString[i]; } res = beg + res + end; // string to char const char * mystr = res.c_str(); // Open the Chipboard if (!OpenClipboard(NULL) || !EmptyClipboard()) { return; } // window api Memory block HGLOBAL hMen; // Allocate global memory hMen = GlobalAlloc(GMEM_MOVEABLE, ((strlen(mystr) + 1) * sizeof(char))); if (!hMen) { CloseClipboard(); return; } // copy the data into the global memory test // lock the memory area LPSTR lpstr = (LPSTR)GlobalLock(hMen); // Memory copy memcpy(lpstr, mystr, ((strlen(mystr)) * sizeof(char))); // Character terminator lpstr[strlen(mystr)] = (char)0; // Release the lock GlobalLock(hMen); // Put the data in memory on the clipboard SetClipboardData(CF_TEXT, hMen); CloseClipboard(); return; // Reference, ClipboardData: http://blog.csdn.net/ycc892009/article/details/6521565}
阅读全文
0 0
- UE4 button插件,简单的把Max Transform 转换 然后在关卡中生成模型
- UE4 在蓝图类里面得到关卡蓝图的画布/button等
- UE4中切换关卡
- 关于3Ds MAX在freeze transform后无法使用飘带插件springmagic的解决过程
- SpeedTree - 在UE4中使用模型
- 按万达要求在REVIT模型中生成基础防水层和垫层的插件
- ue4在关卡之间插入过场动画(播放视频)
- UE4中动态创建并加载流关卡
- 关卡中如何使用 Geometry(BSP) 创建障碍物 【UE4】
- ue4-自定义关卡类
- UE4之流关卡
- 怎么把matlab 训练的model 保存下来 然后在opencv 中调用
- 简单的Android中在Button控件上显示倒计时。
- C#简单通用的进制转换,把非十进制的数据类型转换成十进制的,然后再转换成其他类型。
- UE4 在UI/UMG中显示三维模型
- UE4信息交互-关卡蓝图内的交互
- UE4发报机-关卡蓝图调用蓝图类的发报机
- 简单理解css中transform的matrix3d()
- C#将字符串转换为整型的三种方法的总结
- 阿里云code使用教程
- leetcode 76. Minimum Window Substring
- 解决ie8兼容性,弹出层遮罩背景不透明问题
- Android系统
- UE4 button插件,简单的把Max Transform 转换 然后在关卡中生成模型
- java调用Apache OpenOffice实现TXT、HTML、OFFICE转PDF
- php redis extension
- 遍历二叉搜索树习题
- spring mvc返回json数据的三种方式
- ES6-对象的扩展-属性的简介表示法
- 【c程序】C语言编码规范
- tp5做无刷新分页
- 利用Git GUI来使用GitHub远程仓库