Unity Cinemachine – 使用虚拟摄像机的聪明方法

为游戏和动画编码摄像机角度一直是件痛苦的事……直到现在。
在Unity Cinemachine之前,摄像机的移动需要直接使用关键帧,或者使用代码,必须仔细编写脚本。
什么是Unity Cinemachine?
简而言之,Unity Cinemachine为动画、游戏设计和开发以及使用虚拟摄像机的导演开辟了一个全新的机会世界。
关键是要明白,Unity Cinemachine是为了与Unity的虚拟摄像机一起使用,而不是真实世界的摄像机,尽管两者在某些情况下可以结合使用。
在使用Cinemachine时,你不需要知道如何写代码,尽管对于某些组件来说,编码仍然是必不可少的,例如,为用户如何使用鼠标滚轮进行缩放编写脚本。
更令人兴奋的是,你可以在几分钟内使用虚拟摄像机创建复杂的行为,而这曾经需要几个小时甚至几天。
这对于那些一直在寻找一种方法使游戏中的摄像机系统完全自动化的电影工作者来说,可以说是非常理想。
在Unity Cinemachine之前,为了跟踪运动,甚至在同一场景中创建不同的摄像机角度,是一个缓慢而痛苦的过程。
不仅每个动作都要创建,而且还要进行微调。
不过现在,Cinemachine推出了一整套他们所谓的 “智能 “摄像机模块,简化了这个过程。
Cinemachine可以用你电脑上的虚拟摄像机,做真正的摄像师在大型电影片场为导演做的事。事实上,使用Unity的Cinemachine就像一支由摄像师组成的军队供你使用。
谁会对Unity Cinemachine感兴趣?
任何电影摄影师、游戏开发者、艺术家,或那些使用Unity作为创建复杂行为的手段,并且不想学习或继续写代码或日复一日地详述关键帧的人。
简而言之,Unity Cinemachine是一个改变游戏规则的工具。它完全改变了游戏开发、数字动画,特别是游戏内摄像机系统的面貌。
Cinemachine有学习曲线吗?
当然有。这和任何新的技术发展都是一样的。然而,Unity开发Cinemachine的方式使其精简,学习曲线快,功能强大,值得投资。
更棒的是,为什么更多的人可能会对使用Unity Cinemachine感兴趣,因为它不是一个独立的软件程序,而是一个插件。它直接插入Unity的软件中,并提供了立即开始使用的机会。
它安装简单,提供了一个灵活的系统,让你从一开始就可以控制所有的虚拟摄像机,从最初的设置到完全沉浸在动画中。它旨在提升Unity摄像机的潜力,而不会把一大堆额外的工作拍在你的肩上。
另一个可以吸引那些寻求这些优势的人的巨大好处是,它不会干扰你目前的工作流程。
所有你已经在你目前正在进行的任何项目中制定的组件和行为将被保留,而你不必做任何事情。长期以来,每当开发出一个新的插件或软件升级时,这都是创意者的祸根。
你甚至可以存储电影摄影数据,这样就不需要直接对你目前使用的Unity相机进行编码。
如果你不使用Unity怎么办?
那么Unity Cinemachine对你来说是没有用的,但如果你是一直在使用不同的系统,或不同的软件来为游戏、电影或其他目的创造实时3-D体验的人,Unity确实将创造经验提升到了一个全新的水平。
世界上一些顶级的娱乐和游戏开发商正在转向Unity,这就是为什么Cinemachine对那些创意类型的人来说会如此令人兴奋。此外,为了使Cinemachine发挥作用,Unity相机也是必须要利用的一个方面。
现在,既然我们已经得到了这些,让我们来看看Unity Cinemachine的几个快速实例。
运行中的Unity Cinemachine
Cinemachine并不只是为那些使用多部摄像机的人准备的。这使得它与其他软件插件不同,Cinemachine的力量在于它能够只用一台摄像机提供许多不同的视图,而不必使用多台摄像机。
这使用户能够在所有这些视图之间创造一个更流畅和无缝的融合。它所需要的处理能力也远远低于同时运行许多不同的摄像机。
Cinemachine在行动中的一个最好、最早、最清晰的例子来自于现在获得艾美奖的广播短片《Baymax Dreams》。这是由Unity与迪斯尼电视动画合作创作的。他们赢得了技术和工程艾美奖®的卓越和工程创意奖。
你可以在这个YouTube视频上查看关于使用Unity和它的免费插件Cinemachine开发 “Baymax Dreams “的幕后花絮。
这里是另一个使用Unity和Unity Camera以及Cinemachine开发全CGI电影的例子。请看视频 这里 在YouTube上也是如此。
Unity Cinemachine的优点和缺点
正如你在当今世界市场上发现的几乎所有软件程序一样,有积极的一面,也有消极的一面。Unity Cinemachine也是如此。
然而,你会发现,优点大大超过了缺点,特别是当你考虑到在编码和关键帧上可以节省的时间。
让我们快速浏览一下Unity Cinemachine插件的一些更积极的方面。
请记住,–在过去–游戏创作者和开发者更注重功能,但现在,在很大程度上由于Cinemachine摄像机的加入,他们可以花更多的时间和精力在娱乐方面,特别是比过去更注重视觉细节。
我们为什么喜欢Cinemachine
Cinemachine是快速的。
换句话说,它是稳定和快速的,能够在几秒钟内启动整个软件程序。
Unity用户经常提出的意见之一,特别是在将Cinemachine作为插件添加时,该程序似乎不会挂起或滞后,即使你有许多实验在运行,特别是在导入资产时。
加入许多摄像机,删除或重新导入对象,使用极高的设置,甚至灯光,似乎都不会影响Unity的功能和性能。
结果看起来很惊人。
是的,在过去,Unity在内部渲染方面有一点不足。不过现在,有了Cinemachine,这些内部渲染开始看起来绝对令人惊叹。
当然,这完全取决于你所追求的目标和你所使用的原始镜头的类型作为你的基准。
导入文件很容易。
一些渲染程序将导入文件的过程复杂化。然而,Unity接受FBX文件,无论是二进制版本还是ASCII版本。
虽然其他程序有修补动画的倾向(意味着它们在导入时可能被无意中改变),但Unity不会这样做。它能自动识别动画。
导入资产不仅仅是准确的,而且是快速的。当你在谈论游戏内的开发时,这是一个巨大的优势。
有很多插件可以考虑。
是的,Cinemachine是Unity的一个插件,但这个插件之所以能在这个平台上大放异彩,是因为有很多其他的插件可以选择,可以与Cinemachine无缝连接。
你可以用资产商店的整个流线型资产来扩展编辑功能,当你把Cinemachine纳入其中时,你就有了一套令人难以置信的、强大的工具,它不仅可以节省大量的时间,而且你可以为你的观众或游戏者创造令人惊叹的景观和惊人的、平滑过渡的场景。
Unity最初是为游戏开发者建立的。
这对于动画设计师和电影开发者来说可能不是一个大的优点,但对于游戏开发者来说肯定是一个好处。
这是因为当一个程序在开发时考虑到了特定的受众,他们所关注的正是游戏开发者想要的、需要的和希望的。
考虑到这一点,Cinemachine是一个功能丰富的插件,它的设计也是以游戏开发者的想法为前提的。虽然Unity的后续版本正在纳入更多的艺术家友好功能,但它的核心仍然是一个游戏引擎。
不过现在,由于有了Cinemachine,就不需要再编码了,或者至少可以少编码很多。
总是有改进的余地
目前,Cinemachine没有太多的负面因素,特别是对于Unity和Unity相机的经验丰富的老手。虽然如此,但这并不意味着一切都很完美。
有一点学习曲线。
与任何新的软件开发或技术一样,都会有一个学习曲线。虽然Unity的开发者在精简Cinemachine以使其在编辑器中无缝工作方面做得很好,但也需要一些时间来适应。
对于那些已经习惯于详细描述关键帧或对每个摄像机角度和运动进行编码的人来说,这一点尤其真实。
然而,在学习过程中,你可能会损失一些时间,但在以后的功能和性能方面,你会得到好处。此外,大多数用户很快就会习惯于Cinemachine提供的新功能。
输出的限制。
这不一定是Cinemachine的问题,而是Unity本身的问题。你必须支付额外的插件才能导出,比如说,从引擎中导出FBX网格。即使你买了允许你这样做的插件,你也不能导出动画摄像机。
同样,这不一定是Cinemachine的问题,而是Unity本身的问题。不过,如果你是一个刚刚进入Unity世界的初学者,知道这个问题是很好的,就像下一个潜在的缺点一样。
到目前为止,还没有分布式烘烤。
如果这对你来说听起来是一种外语,不要担心。你越是使用Unity、Unity摄像机和Unity Cinemachine,就会及时了解这些术语。这基本上意味着你只能用一台机器来烘烤光影图。
这个限制很可能会改变,因为Unity的开发者正在研究一个解决方案。
不过,对于初学者来说,这并不是什么值得关注的事情,至少现在还不是。而且,归根结底,这只是道路上的一个小颠簸,特别是当你考虑到使用这个插件的收益有多大。
谁会从Cinemachine中受益?
首先,目前正在使用Unity的人(或可能在不久的将来计划使用Unity的人)。这是一个专门为Unity设计的插件,可以和Unity Camera一起使用。
它是一个获得艾美奖的工具,为无代码摄像机提供了大量的选项,使导演和摄影师可以选择捕捉最佳镜头和角度,在运动中无缝过渡,并实时微调、实验和创建摄像机行为。
实时创建摄像机行为 “是什么意思?
从本质上讲,在Cinemachine之前,如果导演和编辑想改变摄像机的角度,让摄像机随着动作移动,或创建其他类似的行为,就必须使用关键帧和编写代码。
它还需要大量的预想和计划,而不是实验。Cinemachine允许Unity用户进行实验,尝试不同的角度和动作,扫视模式,而没有编码和不断输入关键帧的时间限制。
Cinemachine特别适合于游戏开发者
它不仅加快了游戏开发的速度,因为开发者不再需要关注摄像机的逻辑,而且你现在还可以在飞行中试验新的想法、原型,同时在游戏模式中保存这些新的设置。
游戏开发者可以从2D切换到3D,从实时游戏切换到切面,从传统的第一人称射击视角切换到近距离跟踪行动的摄像机。
想象一下,能够配置Unity摄像机,使其自动旋转,在屏幕空间内的任何位置保持你的主要对象。像一个专业的游戏开发者一样,无缝地进行调整,而且是精简的。
Cinemachine提供的另一个令人难以置信的功能是相机抖动。这个’脉冲促进’模块提供了一个完整的相机抖动系统。当你在特定的物体上设置脉冲源时,摄像机将根据比例和距离做出反应,使用六维的摇动,可以为程序生成,也可以为每个实例手工制作。
对游戏开发者来说,另一个巨大的好处是分屏和画中画模式。你可以将Cinemachine分配给任何一个 “大脑 “或所有的 “大脑”,从一个镜头融合到一个分屏,然后再回来。对于那些了解游戏开发复杂性的人来说,这确实是(请原谅我的双关语)一个改变游戏规则的因素。
当你想确保你的主要对象在屏幕上的尺寸是正确的,即使你在放大或缩小时,也很难实现。这通常需要关键帧的定义和编码,但Unity的Cinemachine则不然。
摄像机会动态地设置变焦,所以你所有的主体在屏幕上都是正确的大小,无论你对这些场景做什么。
如果有东西挡住了,挡在了角色和屏幕视图之间,会发生什么?
有了Cinemachine的奇妙功能Clear Shot,它可以自动决定什么是该镜头的最佳镜头。这对更换镜头和剪辑来说是很好的,特别是那些有可变场景的镜头。
不过现在,Unity的Cinemachine也是电影和视频的理想选择。它似乎能自动知道瞄准和聚焦的确切位置。你可以试验跟踪、摇晃和滑轮。它甚至可以实时进行后期特效。
Cinemachine似乎很清楚你想让你的镜头变成什么样子,并在飞行中进行调整,甚至在表演发生变化时也是如此。
有一些令人难以置信的功能,包括Composer,它可以自动对动作进行构图,与摄像师在现实生活中的工作方式基本相同。
这使摄影师和导演能够进行广泛的修改,并仍然享受到镜头按照想象工作的好处。这确实是前期制作和布局方面的一场革命。
Transposer为摄像机提供了大量的控制,使其能够跟随行动。你所要做的就是设置好你的镜头,即使你改变了表演,这些镜头仍然会对你有利。
后期处理可以现场进行,而每个镜头都在进行中。你甚至可以改变编辑和调色的方式。当你在时间轴上混合镜头时,场景中的其他东西也会被混合。对于那些了解情况的人来说,他们知道这可以节省很多时间,值得投资。
Cinemachine甚至提供了镜头包,允许你将你最喜欢的镜头列表设置为快速、易于选择的下拉菜单。你可以通过将焦距镜头和长度限制在预设范围内来精简每个项目。这很像在实际电影拍摄现场发生的情况。
如何学习Cinemachine
当你想开始使用Unity的Cinemachine时,你需要对Unity本身有一个基本了解。在本指南中,我们将假设你已经掌握了基本知识。
首先,你需要知道如何开始,这包括在镜头中保持一个变换,组成一个镜头,以及跟随一个变换。
接下来,你要了解Cinemachine中的轨道和滑车功能,包括添加带有轨道路径的摄像机滑车,使用轨道移动摄像机,以及在轨道上自动跟踪目标。
然后,你要学习如何在Cinemachine中创建一个状态驱动的摄像机系统。这包括学习如何用动画状态控制摄像机,以及摄像机状态之间的混合。
之后,最好是学习如何使用自由造型的构图功能,这包括绕过一个变换,定制玩家输入,以及在装备的不同阶段调整构图。
一旦你学会了这些,下一步就是要学习Clearshot。这将为你提供动态切割虚拟摄像机的能力,确定镜头的优先次序,以及自定义镜头。
在这之后,就是后期处理,然后是Cinemachine 2D。
有用的资源和视频
以下是Unity提供的一系列视频,可以帮助你学习如何最好地使用Cinemachine。
常见的Cinemachine问题
Cinemachine是Unity的一部分吗?
是的。Cinemachine是一个插件,专门为Unity和Unity摄像机提供使用。这是一个强大的工具,可以花费数小时、甚至数天或数周的编码和关键帧,为游戏开发者、导演、制片人以及电影和视频的编辑提供一个即时实验的机会,并使用单个或多个虚拟摄像机角度创建流畅的跟随过渡。
如何设置Cinemachine摄像机?
- 在Unity内部,选择Unity菜单,并选择Cinemachine> 创建虚拟摄像机。
- 使用 “跟随 “属性并指定一个要跟随的游戏对象。
- 接下来,选择Look At属性并指定你想让虚拟摄像机瞄准的游戏对象。
- 一旦你完成了这些,就按你的要求定制你的虚拟摄像机。
你如何使用Cinemachine大脑?
使用Cinemachine大脑是非常容易的。只需在你的场景中添加一个虚拟摄像机或任何其他Cinemachine对象,Unity就会自动添加一个Cinemachine大脑组件到Unity摄像机中,如果没有一个已经到位。
你如何使用Cinemachine代码?
当你想在Cinemachine中添加代码时,例如,当有人使用鼠标滚轮时设置缩放功能,你将使用C#来完成。
如何使用Cinemachine进行缩放?
使用Cinemachine放大有许多不同的方法,包括激活脚本,使用两台摄像机混合在一起,或通过脚本打开摄像机的关闭。
转载网址