Unity3D使用Cinemachine配合Timeline实现运镜效果

2024-03-07 01:59

本文主要是介绍Unity3D使用Cinemachine配合Timeline实现运镜效果,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

学更好的别人,

做更好的自己。

——《微卡智享》

本文长度为1522,预计阅读4分钟

前言

Unity3D中的插件Cinemachine高级虚拟摄像系统,配合Timeline时间轴一起使用,可以实现像电影级别的分镜等效果,这篇我们就继续用上个模拟收费通过的项目,在这个基础上使用Cinemachine配合Timeline实现一个运镜的效果。

实现效果

安装Cinemachine插件

微卡智享

打开Window--Package Manager。

找到Cinemachine点击Download,然后再Import导入。

安装完后在菜单栏会加入一个Cinemachine的菜单,说明我们已经安装成功了。

配置Cinemachine

微卡智享

01

创建虚拟摄像机

在Cinemachine中点击Create Virtual Camera创建一个虚拟摄像机

CM vcam1就已经创建成功了,在上图中我们可以看到,原来的Main Camera后面加入了一个小图标。

然后我们点击Main Camera的检查器后,可以看到,后边多了一个CinemachineBrain的组件,其中下面的Live Camera指向的也是刚刚创建的CM vcam1,这样我们的摄像机就是CM Vcam1了。

02

创建多个视角摄像

我们又创建了一个新的Virtual Camera,改名为CMGateDown,在上图中右边的Follow中我们设置了GateDown,然后在Look at中设置了HRFReader,这个就是代表我们的虚拟摄像机跟随的是GateDown组件,也就是我们的起杆设备,然后方向是朝着读卡器的位置看的,从上图左边那个红框内可以看出虚拟摄像机的位置。

需要注意的一点是我们把这个虚拟摄像机的启用这里的勾去掉了,因为如果打上勾的,我们的主摄像机会直接绑定的是最新添加的虚拟摄像机。

按照刚才的方式我们又增加了一个CMStation的虚拟摄像机。

03

创建车辆跟随的摄像机

接上面的方式还是添加一个Virtual Camera,然后在Follow中选中我们的Car_14的车,LookAt就不指定了,我们直接就是看车的前方即可,这样在上图的左边看到后面有个摄像机。

接下来需要在CMCar的CinemachineVirtualCamera组件下找到Body项,选择Transposer,再针对Follow Offset设置一下X,Y,Z的坐标来定位摄像机的位置

根据上面的参数我们把CMCar打上勾后可以看到现在摄像机的镜头效果,觉得不合适的可以再调一下Follow Offset的值,调整完后就可以再把CMCar的勾去掉即可。

TimeLine时间轴使用

微卡智享

01

添加时间轴窗口

点击Window---Sequencing---时间轴

左上角窗口中就会出现时间轴这个窗口

新建一个空物体,改名为TimeLine,再点击时间轴上的Create

然后在项目中的Assets新建一个Timeline的文件夹,保存为Timeline.playable的文件

可以看到,左边改为一个设置窗口了,同时右边加入了一个Playable Director的组件,接下来就是设置我们的运镜了

02

配置时间轴

点击时间轴窗口左上角加号,选择Cinemachine Track

然后在选择CinemachineBrain的选择中选择Main Camera

接下来就是左边的几个摄像机我们按住鼠标拖入中间那个时间线中了,如果学习过PR的,其实和视频剪辑操作差不多,这里就是我们调每个镜头的时间线就可以。

这样,我们Cinemachine配合TimeLine的实现运镜的效果就可以完成了。

扫描二维码

获取更多精彩

微卡智享

「 往期文章 」

学习|Unity3D使用协程实现减速停车效果

学习|Unity3d的导航实现循环线路移动

学习|C#线程中AutoResetEvent的使用

这篇关于Unity3D使用Cinemachine配合Timeline实现运镜效果的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/782091

相关文章

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

Redis客户端连接机制的实现方案

《Redis客户端连接机制的实现方案》本文主要介绍了Redis客户端连接机制的实现方案,包括事件驱动模型、非阻塞I/O处理、连接池应用及配置优化,具有一定的参考价值,感兴趣的可以了解一下... 目录1. Redis连接模型概述2. 连接建立过程详解2.1 连php接初始化流程2.2 关键配置参数3. 最大连

Python实现网格交易策略的过程

《Python实现网格交易策略的过程》本文讲解Python网格交易策略,利用ccxt获取加密货币数据及backtrader回测,通过设定网格节点,低买高卖获利,适合震荡行情,下面跟我一起看看我们的第一... 网格交易是一种经典的量化交易策略,其核心思想是在价格上下预设多个“网格”,当价格触发特定网格时执行买

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统