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

相关文章

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

Java中使用Hutool进行AES加密解密的方法举例

《Java中使用Hutool进行AES加密解密的方法举例》AES是一种对称加密,所谓对称加密就是加密与解密使用的秘钥是一个,下面:本文主要介绍Java中使用Hutool进行AES加密解密的相关资料... 目录前言一、Hutool简介与引入1.1 Hutool简介1.2 引入Hutool二、AES加密解密基础

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件

鸿蒙中@State的原理使用详解(HarmonyOS 5)

《鸿蒙中@State的原理使用详解(HarmonyOS5)》@State是HarmonyOSArkTS框架中用于管理组件状态的核心装饰器,其核心作用是实现数据驱动UI的响应式编程模式,本文给大家介绍... 目录一、@State在鸿蒙中是做什么的?二、@Spythontate的基本原理1. 依赖关系的收集2.

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

基于Python实现高效PPT转图片工具

《基于Python实现高效PPT转图片工具》在日常工作中,PPT是我们常用的演示工具,但有时候我们需要将PPT的内容提取为图片格式以便于展示或保存,所以本文将用Python实现PPT转PNG工具,希望... 目录1. 概述2. 功能使用2.1 安装依赖2.2 使用步骤2.3 代码实现2.4 GUI界面3.效

MySQL更新某个字段拼接固定字符串的实现

《MySQL更新某个字段拼接固定字符串的实现》在MySQL中,我们经常需要对数据库中的某个字段进行更新操作,本文就来介绍一下MySQL更新某个字段拼接固定字符串的实现,感兴趣的可以了解一下... 目录1. 查看字段当前值2. 更新字段拼接固定字符串3. 验证更新结果mysql更新某个字段拼接固定字符串 -

java实现延迟/超时/定时问题

《java实现延迟/超时/定时问题》:本文主要介绍java实现延迟/超时/定时问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java实现延迟/超时/定时java 每间隔5秒执行一次,一共执行5次然后结束scheduleAtFixedRate 和 schedu

Java Optional避免空指针异常的实现

《JavaOptional避免空指针异常的实现》空指针异常一直是困扰开发者的常见问题之一,本文主要介绍了JavaOptional避免空指针异常的实现,帮助开发者编写更健壮、可读性更高的代码,减少因... 目录一、Optional 概述二、Optional 的创建三、Optional 的常用方法四、Optio