Unreal Engine 4 画线DrawLines 画轨道
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.X=-180.f;//这里自己随意设置数值,为了试验功能而已
mVertexes.Y=0.f;
mVertexes.Z=32.f;
mVertexes.X=-215.f;
mVertexes.Y=-120.f;
mVertexes.Z=32.f;
mVertexes.X=-260.f;
mVertexes.Y=-120.f;
mVertexes.Z=30.f;
mVertexes.X=-200.f;
mVertexes.Y=40.f;
mVertexes.Z=40.f;
ULineBatchComponent*const LineBatchComponent =GetWorld()->PersistentLineBatcher;for(auto i =0; i < mVertexes.Num()-1; i++){
FVector start =FVector(mVertexes.X, mVertexes.Y, mVertexes.Z);
FVector end =FVector(mVertexes.X, mVertexes.Y, mVertexes.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代码调试模式
页:
[1]