Unreal Engine 4切换默认Camera实现

默认的,UE4,会以AGameMode中设置DefaultPawnClass对象中摄影机作为默认摄影机。有时候我们想要一个全局的摄影机对场景进行观察,这就需要重新创建一个摄影机,并在这两个摄影机直接切换。下面看下如何实现。

在APlayerController类中,有一个SetViewTarget方法,参数是一个AActor指针,就是实现此功能的。因为参数必须是AActor,即必须是AActor中包含的Camera组件才有效,所有,先创建一个AActor对象。

FreeCameraActor.h

UCLASS()

class NANTOPDOWN_API AFreeCameraActor : public AActor

{

GENERATED_UCLASS_BODY()

public:

UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera)

TSubobjectPtr<class UCameraComponent> TopDownCameraComponent;

UFUNCTION(BlueprintCallable, Category = "View Target")

void ChangeViewTarget();

virtual void BeginPlay() override;

private:

AActor* OldActor;

};

ChangeViewTarget()方法提供给Blueprint调用,用于在Character的Camera和FreeCamera之间切换。

FreeCameraActor.cpp

AFreeCameraActor::AFreeCameraActor(const class FPostConstructInitializeProperties& PCIP)

: Super(PCIP)

{

TopDownCameraComponent = PCIP.CreateDefaultSubobject<UCameraComponent>(this, TEXT("TopDownCamera"));

this->RootComponent = TopDownCameraComponent;

OldActor = NULL;

}

void AFreeCameraActor::ChangeViewTarget()

{

AActor* pActor = this->GetWorld()->GetFirstPlayerController()->GetViewTarget();

if (pActor != OldActor)

{

this->GetWorld()->GetFirstPlayerController()->SetViewTarget(OldActor);

}

else

{

this->GetWorld()->GetFirstPlayerController()->SetViewTarget(this);

}

}

void AFreeCameraActor::BeginPlay()

{

Super::BeginPlay();

OldActor = this->GetWorld()->GetFirstPlayerController()->GetViewTarget();

this->GetWorld()->GetFirstPlayerController()->SetViewTarget(this);

}

在Editor中创建一个从AFreeCameraActor继承的Actor,并拖放到场景中去。可以看到一个包含了摄影机的对象。然后编辑Level Blueprint,加入脚本代码

Play场景,按下1键,就能看到摄影机在character和刚才新建的摄影机间进行切换了。

时间: 2024-10-08 09:45:13

Unreal Engine 4切换默认Camera实现的相关文章

Unreal Engine 4 RenderTarget制作Live Camera效果

Unreal Engine 4 RenderTarget制作Live Camera效果 先上效果: Live Camera我不知道怎么翻译.反正意思就是将一个摄影机的Image渲染到一个2D平面上. 以下介绍下详细的实现方法: 1.创建一个Scene Capture 2D对象 将这个对象拖动到合适的地方. 2.创建RendterTarget对象 材质&贴图->渲染目标 3.设置SceneCapture2D的对象的属性 将SceneCapture:Texture Target设置成上面创建的渲

UNREAL ENGINE 4.12 正式发布!下载地址

UNREAL ENGINE 4.12 正式发布! 下载地址:https://www.unrealengine.com/ Alexander Paschall 在 June 1, 2016 |功能新闻社区 Share on Facebook Share on Twitter Share on Google+ Share on LinkedIn 此版本内含虚幻引擎 4 的数百个更新,以及 GitHub 虚幻引擎开发者社区提交的 106 项改良!特此对虚幻引擎 4.12 版本的贡献者们表达诚挚谢意:

Unreal Engine 4 系列教程 Part 1:入门

.katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > .katex-html { display: block; } .katex-display > .katex > .katex-html > .tag { position: absolute; right: 0px; } .katex { font: 1.21em/1.2 KaTeX_M

Unreal Engine 4 动态切割模型实现

Unreal Engine 4 动态切割模型实现 <合金装备:复仇>里面,有一个很有趣的设定,游戏里大部分的场景和物件都可以用主角的刀动态切割. UE4中的ProceduralMeshComponent这个组件可以很容易的就实现这种功能,下面介绍下实现的方法. 准备模型 首先我们准备一个模型. 我做了一个简单的圆柱体,用来测试.注意需要切割的地方,为了保证细节,多放点顶点. 为了能够动态切割,我们要勾选这个模型的Allow CPUAccess选项. 新建蓝图 新建一个Actor蓝图,为它添加两

游戏音频技术备忘 (四) Wwise Unreal Engine 集成代码浅析 (一)

在Engine\Plugins\Wwise\Source下为主要Wwise相关代码,AkAudio文件夹下为运行时相关代码,AudiokineticTools下为编辑器工具相关代码,AudiokineticTools.Build.cs为用于UnrealBuildTool的相应代码,与音频直接相关位于 AkAudio文件夹下. Unreal Engine提供若干宏来实现GC.序列化.网络等需求,譬如声明为UPROPERTY()的变量与UFUNCTION()的函数即可由引擎实现变量复制和远端调用 ,

游戏音频技术备忘 (三) 集成Wwise到Unreal Engine

当前受众较广的商业游戏引擎有 Unreal Engine.Unity.cocos2d-x等,在音频领域的第三方中间件则有Wwise.FMOD.Criware等,言多且烦,我们首先集成Wwise到 Unreal Engine 中去. 在https://github.com/EpicGames/UnrealEngine上可以抓取到Unreal Engine的源代码,前提条件是需要有一个 organization 加入EpicGames 的github账号,这就需要在https://www.unrea

【UNREAL ENGINE 游戏开发】开篇之UE4的BLUEPRINT(蓝图)与C++(新童鞋必看)

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/unreal-engine-game/2164.html 首先Himi在这里解释下,为什么还是开篇- 原因主要有两点: 考虑到要写也要写点干货不是么?!但是由于官方文档写的真的够详细了,对于提到的基础知识我真的不想再赘述,因此希望各位新童鞋一定要先跟着文档动手过一遍!!!很重要!!!!!!!!!!! 另一方面,本想拿着UE4写点小项目练手,然后

虚幻引擎(Unreal Engine)4.13 版正式发布

开发商Epic Games正式发布了最新的4.13版虚幻引擎(Unreal Engine),增加了许多渲染功能和新特性(基础教程qkxue.net):模型贴花(Mesh Decals),渲染目标蓝图绘制.GPU变形目标处理.折射改进.高质量优化的材质噪点处理.阴影映射缓存等相信各大游戏开发厂商对开发工具的新版本早 已迫不及待要上手了. 新 版本的Unreal Engine对在4.12版中引入的完全非线性的实时过场和动画工具Sequencer进行了重大功能更新:支持Sequencer工作流动态录制

《精通Unreal Engine 3 卷1:3D游戏关卡设计》

内容简介: <精通Unreal Engine 3卷1:3D游戏关卡设计基础篇>是您认识并掌握最新最热门的游戏引擎(虚幻引擎3)的首选指南,无论您是初次接触mod制作的爱好者,还是职业的关卡设计人员,都能从本书中受益.本书中包含了读者想要学习的所有技能,这些技能可以帮助读者创建出在游戏机和复读机上运行的极其出色的新内容和游戏. <精通UnrealEngine3卷1:3D游戏关卡设计基础篇>的作者不仅仅是世界上最优秀的虚幻引擎游戏开发培训人员,他们甚至已经发布了<虚幻竞技场3:典