|
Unreal Engine 4 画线DrawLines 画轨道
前言
刚接触UE4没几天,从头开始实现了画轨道的功能,自己记录一下实现过程以及遇到的问题。
环境配置
因为电脑上先安装的VS2017,后来才安装的UE4,所以在UE4用到VS的时候有些问题,打不开VS,后来发现是一些需要的组件没有安装,所以搜一下UE4+VS2017配置的教程,看看安装的时候需要哪些组件,再在VS里添加上就好了。
实现步骤
文件–新建项目–空白蓝图,随便起了个项目名 draw。
文件–新建C++类,继承Actor,然后next,命名自己随意写,我的是 drawlineActor,完成后会打开VS,有.h和.cpp文件。在.cpp文件的BeginPlay中添加以下代码,在这里只是试验一下功能,具体在哪里,看自己需求。
- TArray<FBatchedLine> lines;
- TArray<FVector> mVertexes;
- mVertexes.SetNum(4);//需要先设置个数,不然会报错,之前报了些乱七八糟的错误,经大神指点才知道需要设置
- mVertexes[0].X=-180.f;//这里自己随意设置数值,为了试验功能而已
- mVertexes[0].Y=0.f;
- mVertexes[0].Z=32.f;
- mVertexes[1].X=-215.f;
- mVertexes[1].Y=-120.f;
- mVertexes[1].Z=32.f;
- mVertexes[2].X=-260.f;
- mVertexes[2].Y=-120.f;
- mVertexes[2].Z=30.f;
- mVertexes[3].X=-200.f;
- mVertexes[3].Y=40.f;
- mVertexes[3].Z=40.f;
- ULineBatchComponent*const LineBatchComponent =GetWorld()->PersistentLineBatcher;for(auto i =0; i < mVertexes.Num()-1; i++){
- FVector start =FVector(mVertexes[i].X, mVertexes[i].Y, mVertexes[i].Z);
- FVector end =FVector(mVertexes[i +1].X, mVertexes[i +1].Y, mVertexes[i +1].Z);
- FBatchedLine line =FBatchedLine(start,
- end,FLinearColor(1,0,0,1),//设置颜色、透明度0,// 设置显示时间。设为0,表示永久显示0.3,4);
- lines.Add(line);}
- LineBatchComponent->DrawLines(lines);
复制代码添加以上代码后,肯定报错了,因为没有添加相应的头文件。现在在.h中添加相应头文件,但是需要保证generated.h在最后。
- #include "Math/Vector.h"
- #include "Components/LineBatchComponent.h"
复制代码
虽然这几个地方会标红,但是可以忽略,待会编译运行之后就没了。我也不知原因。
5. 在UE4中,选择新建空白蓝图类,点击之后,在所有类中,搜索自己创建的类,我的是 drawlineActor。
;
- lines.Empty();
复制代码 代码调试
期间遇到很多问题,比如线画不出来等,所以就需要调试代码,调试步骤见以下链接,讲的挺清楚的。
UE4–VS代码调试模式 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|