UE4学习笔记6th:在C++中控制相机视图
来源:互联网 发布:支付宝能登陆淘宝吗 编辑:程序博客网 时间:2024/06/08 03:03
那么,还是新建C++类
命名为CameraDirector
在CameraDirector.h中输入:UPROPERTY(EditAnywhere)AActor*CameraOne;UPROPERTY(EditAntwhere)AActor*CameraTwo;float TimeToNextCameraChange;
在CameraDirector.cpp中输入:
include “Kismet/GamePlayStatics.h”
在文件的最开始部分
接着,在ACameraDirector::Tick中添加:
const float TimeBetweenCameraChanges = 2.0f;const float SmoothBlendTime = 0.75f;TimeToNextCameraChange -= DeltaTime;if (TimeToNextCameraChange <= 0.0f){ TimeToNextCameraChange += TimeBetweenCameraChanges; //搜寻处理玩家控制的Actor APlayerController* OurPlayerController = UGameplayStatics::GetPlayerController(this, 0); if (OurPlayerController) { if ((OurPlayerController->GetViewTarget() != CameraOne) && (CameraOne != nullptr)) { //立即切换到相机1 OurPlayerController->SetViewTarget(CameraOne); } else if ((OurPlayerController->GetViewTarget() != CameraTwo) && (CameraTwo != nullptr)) { //平滑的切换到相机2 OurPlayerController->SetViewTargetWithBlend(CameraTwo, SmoothBlendTime); } }}
完成后按F5执行。
以上代码可以在相机1与相机2之间进行切换,接下来需要在编辑器中进行一些设置。
1,获取PlayerController,APlayerController* OurPlayerController = UGameplayStatics::GetPlayerController(this, 0);
2,获取当前视窗对象,OurPlayerController->GetViewTarget()
3,设置平滑过渡到新的目标视窗,OurPlayerController->SetViewTargetWithBlend(CameraTwo, SmoothBlendTime);
4,设置新的目标视窗,OurPlayerController->SetViewTarget(CameraOne);
阅读全文
0 0
- UE4学习笔记6th:在C++中控制相机视图
- UE4学习笔记5th:游戏控制的相机
- UE4学习笔记11th:玩家控制的相机
- UE4学习笔记12th:配置输入以控制相机
- UE4学习笔记7th:在世界中放置相机Director
- UE4学习笔记6th
- UE4学习笔记9th:在编辑器中修改变量和函数
- UE4学习笔记4th
- UE4学习笔记5th
- UE4学习笔记7th
- UE4学习笔记8th
- UE4学习笔记9th
- UE4学习笔记10th
- UE4学习笔记11th
- UE4学习笔记12th
- UE4学习笔记13th
- UE4学习笔记14th
- UE4学习笔记15th
- BFC相关理解
- JDK解析
- laravel学习之路3 数据库相关
- 为啥一定要用残差图检查你的回归分析?
- php通过Mysqli和PDO连接mysql数据详解
- UE4学习笔记6th:在C++中控制相机视图
- iOS 推送配置证书和配置描述性文件
- OpenCV 基本模块
- Android中通过xml给布局添加边框
- Markdown编辑器
- ANR 总结
- caffe学习之layer_factory(工厂方法)
- Azure China下托管磁盘的使用
- Markdown中数学公式整理