# Unreal初体验

# 环境的建立

下载好Epic Games Launcher后安装Unreal4,下载Visual Studio Installer,安装到下图的界面时,勾选Game development with C++。

VisualStudio

注意Unreal Engine和Visual Studio版本的对应:

Unreal Engine Version Visual Studio Version
4.15 or Later vs2017
4.10 to 4.14 vs2015
4.2 to 4.9 vs2013

# 关掉提示

如果是vs2015的话可能需要关掉一些错误提示信息和一些语法提示的波浪线。这些提示信息不影响程序的编译,还可能会让人困惑,所以还是关掉吧!

VisualStudio

VisualStudio

# 初次C++体验

这个案例是C++官方文档里面的,拿过来做个示例:

  1. 在Unreal Editor的File菜单中,点击New C++ Class...

    CPlusPlusExp1

  2. 在打开的Choose Parent Class面板中选择Actor

    ChooseParentClass

  3. Name Your New Actor面板中,将该类命名为"FloatingActor"

    NameActorClass

  4. 现在创建了一个C++类,我们打开Visual Studio,找到创建的两个文件。

    SolutionExplorer_Files

  5. 在FloatingActor.h中,我们将下面的代码添加到声明的private部分中。

    float RunningTime;
    
    1
  6. 在FloatingActor.cpp中,下列代码添加到AFloatingActor::Tick方法中:

    FVector NewLocation = GetActorLocation();
    float DeltaHeight = (FMath::Sin(RunningTime + DeltaTime) - FMath::Sin(RunningTime));
    NewLocation.Z += DeltaHeight * 20.0f;       //Scale our height by a factor of 20
    RunningTime += DeltaTime;
    SetActorLocation(NewLocation);
    
    1
    2
    3
    4
    5
  7. 在Visual Studio或Unreal Editor中进行编译:

    CompileFromVS

    CompileFromEditor

  8. 在Unreal Editor中的Content Browser里面的C++ Classes下面的子文件夹里面找到FloatingActor文件,将该类直接拖到关卡编辑器,这会创建一个FloatingActor的实例,会自动被系统命名为FloatingActor1。

    ClassInContentBrowser

    WorldOutliner

  9. 点击该实例,在Details面板里面点击Add Component,然后将Cone添加到组件里面,这个实例在世界中被可视化为一个圆锥体了。点击播放就可以看到这个圆锥体上下浮动了。

    AddStaticMesh

# 初次C++与蓝图

  1. 我们用C++向一个示例项目中添加一个子弹特效,来首次体验下Unreal的编程风格。

    FirstDemo1

  2. 按上面步骤来新建一个工程。

    FirstDemo2

  3. 如上图,打开项目中的FirstDemoProjectile.h文件,添加:

        UPROPERTY(EditDefaultsOnly, Category="My FX")
        UParticleSystem* UsedFX;
    
    1
    2

    FirstDemo3

  4. 如上图,打开项目中的FirstDemoProjectile.cpp文件,添加

        #include "Kismet/GameplayStatics.h"
    
        UGameplayStatics::SpawnEmitterAtLocation(GetWorld(),UsedFX,GetActorLocation());
    
    1
    2
    3

    FirstDemo4

    FirstDemo5

  5. 按上面的步骤选中一个特效,然后编译运行,便可看到结果。

# Unreal中的问题

# 更换Visual Studio版本

ChangeCodeEditor

注意如果该项目切换visual studio版本时,可能如何选这个地方都不会改变,因为visual studio默认使用工程当前的visual studio版本,可使用下面的选项来进行切换编译器版本。

ChangeCompilerVersion

Unreal4Menu

然后再点击上面的Refresh Visual Studio 2015 Project,重新编译后Open Visual Studio打开就是相应的Visual Studio版本。