Cinemachine系列——Body&Framing Transposer
Framing Transposer 是一种让虚拟摄像机跟随目标的算法,它的作用是让摄像机始终保持和目标在屏幕上的固定位置关系。
具体来说,它是这样工作的:
固定跟随:摄像机会跟随目标,始终保持目标在屏幕上的某个固定位置。你可以设置偏移量(调整目标在屏幕上的位置)、缓动效果(跟随时的平滑度)和构图规则(如何把目标摆在屏幕中)。
只改变摄像机的位置:Framing Transposer 只会调整摄像机的空间位置,而不会改变它的朝向或角度。也就是说,它不会让摄像机“瞄准”目标,摄像机的视角不变。
适用于 2D 和 3D:虽然这个算法是为 2D 和正交(无透视效果)摄像机设计的,但也可以很好地应用于 3D 场景和透视摄像机。
工作流程:
第一步:摄像机会沿着自己的 Z 轴移动,确保跟随的目标和摄像机之间保持合适的距离。
第二步:摄像机会在自己的 X-Y 平面内移动,直到目标位于屏幕上的指定位置。
注意:要使用这个算法,必须把“Look At”属性留空,这样摄像机才能只移动而不去“瞄准”目标。
这样摄像机会自动调整位置,确保你的目标对象在屏幕上始终处于你设定的地方,但摄像机不会调整视角或方向。
Lookahead Time
它可以根据目标物体的运动来调整相机与跟随目标的偏移量。
具体来说,这个设置会估算目标在未来几秒钟后的位置,然后根据这个预测来调整相机的位置。通过这种方式,虚拟相机不会直接跟随目标当前的位置,而是预判目标的运动,跟随它未来可能的位置。这有助于让镜头运动更平滑,避免目标突然变向时相机出现快速、不自然的移动。
然而,这个功能对目标的运动动画非常敏感。如果目标的动画带有噪音(比如运动不平滑或带有抖动),相机的调整可能会放大这种噪音,导致画面出现令人不舒服的抖动。如果在目标运动时相机抖动得非常厉害,你可以降低这个属性的数值,或者让目标的运动更平滑一些,以减少抖动问题。
简单来说,这个属性是在平滑相机跟随运动的过程中,要小心噪音导致的画面抖动问题。
Lookahead Smoothing
平滑度决定了相机对目标未来位置预测的稳定性。如果这个值较大,算法会对抖动的预测进行平滑处理,减少相机画面的抖动感,让运动看起来更加流畅。然而,数值越大,意味着预测会更缓慢,相机会有更明显的延迟,无法快速跟上目标的变化。
简而言之,较大的平滑度值能减少画面抖动,但会带来相机反应的延迟。
Lookahead Ignore Y
如果勾选此选项,在进行预判计算时,会忽略目标在Y轴(垂直方向)上的移动。
也就是说,虚拟相机在预测目标未来位置时,只会考虑X轴(水平)和Z轴(深度)上的运动,而不会管目标在Y轴上的高度变化。这通常用于某些场景下,不希望相机因为目标上下移动而频繁调整视角的情况。
X Damping
相机在X轴上维持偏移时的响应速度。
具体来说,数值越小,意味着相机对目标的移动反应越快,能更迅速地调整位置;而数值越大,意味着相机的反应会更慢,调整位置会有延迟。你可以为不同的轴设置不同的响应速度,从而实现各种不同的相机跟随效果。
简单来说,数值小,反应快;数值大,反应慢。不同轴的设置组合可以带来多样化的相机行为。
Y Damping
相机在U轴上维持偏移时的响应速度。
具体来说,数值越小,意味着相机对目标的移动反应越快,能更迅速地调整位置;而数值越大,意味着相机的反应会更慢,调整位置会有延迟。你可以为不同的轴设置不同的响应速度,从而实现各种不同的相机跟随效果。
简单来说,数值小,反应快;数值大,反应慢。不同轴的设置组合可以带来多样化的相机行为。
Z Damping
相机在Z轴上维持偏移时的响应速度。
具体来说,数值越小,意味着相机对目标的移动反应越快,能更迅速地调整位置;而数值越大,意味着相机的反应会更慢,调整位置会有延迟。你可以为不同的轴设置不同的响应速度,从而实现各种不同的相机跟随效果。
简单来说,数值小,反应快;数值大,反应慢。不同轴的设置组合可以带来多样化的相机行为。
Target Movement Only
如果启用了这个选项,那么相机的“阻尼”效果只会作用在目标的移动上,而相机的旋转变化将不受阻尼的影响。
简单来说,阻尼通常用来让相机运动更平滑,防止突然的变化。如果这个选项开启,只有目标的移动会受到平滑处理,而相机的旋转会立即响应变化,不会被平滑处理。
Screen X
设置目标物体在屏幕水平方向上的位置。相机会移动,以将跟踪的目标放置在这个指定的位置上。
简单来说,就是控制目标在屏幕上左右位置的参数,相机会根据这个设置调整自己的位置,以确保目标出现在指定的水平位置。
目标就是指中间这个黄点,下面Screen Y和Camera Distance的目标同理。
Screen Y
设置目标物体在屏幕垂直方向上的位置。相机会移动,以将跟踪的目标放置在这个指定的位置上。
简单来说,就是控制目标在屏幕上上下位置的参数,相机会根据这个设置调整自己的位置,以确保目标出现在指定的垂直位置。
Camera Distance
相机与跟随目标之间沿相机轴线保持的距离。
简单来说,就是设定相机与目标之间的距离,相机会始终保持这个距离,不会过于接近或远离目标。这个距离是沿着相机的视角轴线测量的。
Dead Zone Width
当目标处于指定的位置范围内时,相机不应水平移动。
简单来说,就是在目标在这个特定的范围内时,相机会保持静止,不会左右移动。这通常用于保持相机的稳定性,防止在目标近距离内造成不必要的水平移动。这样可以帮助确保画面更平稳,特别是在目标不发生显著变化时。
Dead Zone Width
当目标处于指定的位置范围内时,相机不应水平移动。
简单来说,就是在目标在这个特定的范围内时,相机会保持静止,不会左右移动。这通常用于保持相机的稳定性,防止在目标近距离内造成不必要的水平移动。这样可以帮助确保画面更平稳,特别是在目标不发生显著变化时。
Dead Zone Height
当目标处于指定的位置范围内时,相机不应垂直移动。
简单来说,就是在目标在这个特定的范围内时,相机会保持静止,不会上下移动。这通常用于保持相机的稳定性,防止在目标近距离内造成不必要的垂直移动。这样可以帮助确保画面更平稳,特别是在目标不发生显著变化时。
Dead Zone Depth
如果跟随目标与指定的相机距离在这个范围内,则不沿着相机的Z轴移动相机。
简单来说,就是当目标离相机的设定距离很近时,相机不会在深度方向(前后)上移动。这通常用于保持相机的稳定,避免在目标非常接近时相机的前后移动造成画面不稳定或不必要的变化。这样可以帮助确保画面更平滑,特别是在目标距离较近时。
Unlimited Soft Zone
如果勾选此选项,则软区域(蓝色区域)的大小没有限制。
简单来说,软区域是指相机在跟随目标时的一个区域,当目标处于这个区域内时,相机会以较小的速度调整位置,以保持目标在视野中的合适位置。如果这个选项被勾选,软区域的大小可以无限制,意味着无论目标的位置如何,相机都能在这个区域内进行平滑调整,而不会受到大小限制的影响。
Soft Zone Width
当目标处于这个范围内时,相机会水平移动,以便将目标框入死区。阻尼属性会影响相机移动的速度。
Sotf Zone Height
当目标处于这个范围内时,相机会垂直移动,以便将目标框入死区。阻尼属性会影响相机移动的速度。
Bias X
将目标的位置在水平上移离软区域的中心。
简单来说,当目标在软区域的中心时,相机会保持相对稳定。如果目标在水平方向上移动,超出软区域的中心位置,相机会根据目标的新位置进行调整,以保持合适的视角和构图。这个设置允许在目标水平移动时,产生适当的跟随效果,确保目标不会总是停留在画面的中心。
Bias Y
将目标的位置在垂直方向上移离软区域的中心。
简单来说,当目标在软区域的中心时,相机会保持稳定。如果目标在垂直方向上移动,超出软区域的中心位置,相机会根据目标的新位置进行调整,以确保目标始终在合适的视角和构图中。这个设置允许在目标垂直移动时,产生适当的跟随效果,确保目标不会总是停留在画面的中心。
Center On Activate
当这个相机激活时,强制将目标放置在屏幕中心。如果设为“假”,则会将目标限制在死区的边缘。
简单来说,如果这个选项被勾选,激活相机时,目标会被强制调整到屏幕的中心位置,以确保其在画面中的重要性。如果这个选项未勾选,目标则可能会被限制在死区的边缘,意味着目标可能不会出现在屏幕的中心,而是在指定的边缘位置。这样可以控制相机如何处理目标的位置和构图。
Group Framing Mode
当跟随指定为目标组时,此属性可用。它定义了在框定时需要考虑的屏幕尺寸。这有助于确保相机在多个目标之间进行平衡,使所有目标都能够在画面中适当地显示。
- Horizontal:此选项用于只考虑水平维度,而忽略垂直框定。这意味着在调整相机视角时,只会关注水平方向的目标位置,不会影响垂直方向的显示,从而实现更灵活的画面构图。
- Vertical:此选项用于只考虑垂直维度,而忽略水平框定。这意味着在调整相机视角时,只关注垂直方向的目标位置,不会影响水平方向的显示,从而可以更专注于垂直构图。
- Horizontal And Vertical:此选项使用水平和垂直维度中的较大者,以获得最佳的适配效果。这意味着相机会根据较大的尺寸来调整视角,确保画面中的所有目标都能更好地被框入视野内,从而优化整体构图。
Group Framing Size
这是一个定义目标应占据的边界框的属性。当跟随指定为目标组时可用。数值为1表示填满整个屏幕,0.5表示填满一半屏幕,以此类推。通过调整这个值,可以控制目标在画面中的相对大小和位置。
Minimum Ortho Size
此属性用于设置正交尺寸的下限。若跟随指定为目标组,则在调整正交大小时,不应将其设置得低于这个值。这样可以确保相机始终能够有效地框住所有目标,避免出现目标被裁剪的情况。
Maximum Ortho Size
此属性用于设置正交尺寸的上限。若跟随指定为目标组,则在调整正交大小时,不应将其设置得高于这个值。这样可以防止相机视野过大,从而导致目标在画面中显得过小,确保目标能够适当地被框住并清晰可见。
本文作者:陈侠云
本文链接:https://www.cnblogs.com/chenxiayun/p/18495871
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!