Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Cinemachine初体验

Cinemachine初体验

作者头像
全栈程序员站长
发布于 2022-09-02 08:04:02
发布于 2022-09-02 08:04:02
6550
举报

大家好,又见面了,我是你们的朋友全栈君。

一、安装

可以直接从package manager里面安装(踩过的坑:导入samples时可能会出现sample和当前使用的unity版本不兼容的情况,更换版本即可)

二、cinemachine使用说明 场景中需要已存在一个unity camera,然后在该相机上挂载CinemachineBrain组件 (ps:如果不是在timeline中使用虚拟相机的话,这两个属性会决定多个虚拟相机之间切换的方式)

或者直接使用cinemachine新建相机,这样会自动在原有的unity camera上挂载CinemachineBrain组件。步骤:

在timeline中能够用到的是红框中的两种相机。

1、Visual Camera:

(ps:如果不使用timeline,priority属性高的虚拟相机会被优先启用,所以在调整相机视角时需要点击solo按钮激活当前要调整的虚拟相机)

Follow属性和body属性(follow是指相机要跟随的物体,body里选择虚拟相机跟随物体的跟随算法):

LookAt属性和Aim属性(类似follow和body):

Lens Vertical FOV:和普通unity相机一样

Noise:相机抖动的算法

总结:可以创建多个Visual Camera,调好参数以后在timeline中对相机进行融合即可

2、Dolly Camera with Track:新建一个这种相机,会生成一个虚拟相机和一条路径,运行时相机会在这条路径上移动。

勾选enabled,这样就会在相机要跟随的物体移动的时候,相机自动在路径上移动。(如果相机跟随的物体不动的话,相机是不会动的)

路径的设置方法:可以在场景中选中路径点调整,也可以在inspector里直接调整参数

三、cinemachine和timeline 先打开一个timeline窗口(一定要从当前场景的物体上创建或者打开timeline窗口,不然无法将虚拟相机拖到track上。因为timeline有asset和实例的概念,从场景中打开那么打开的就是一个timeline的实例,而要是选中timeline asset打开,那么打开的就只是一个asset,不会建立起和当前场景的关联),然后将带有CinemachineBrain的相机拖到timeline窗口的左侧区域中,并添加cinemachine track:

然后将设置好参数的虚拟相机拖到timeline轨道上:

以第一种方式切换相机时,相机是以过渡的方式切换的;以第二种方式切换相机时,相机是直接切换的(踩过的坑:以第二种方式切换相机时,可能会因为HDRP管线的bug导致场景闪白)。

可以将前后两个clip重叠1帧来解决这个问题;目前测试了两个修改volumeprofile的方法也可行: 一、对于有Fog的,关闭Fog

二、把Exposure调成auto

以上,大概就是在timeline创建cinemachine的过程。 但是这样的问题就是这个timeline绑定到了场景中的某个物体上。如果项目里有一个timelinemanager这样的东西,就希望timeline是动态加载的。那么先可以先按照上面制作完一个timeline asset,然后在代码中进行绑定操作。

绑定操作可以参考: timeline的动态绑定 cinemachine的动态绑定

在第二篇文章中博主说有两种绑法

在第二种绑法中用到了 PlayableDirector.playableGraph.GetResolver() API。这里要注意playableGraph是只有在PlayableDirector处于播放状态时才会存在(参见unity 论坛

第二种方法的SetResolver没找到太多相关资料,赋值一直不起作用。 看到这个,还没试

推荐第一种方法,能少踩几个坑

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140461.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Unity Cinemachine & Timeline 制作镜头动画
Cinemachine是Unity官方推出的一套相机管理解决方案,配合Timeline使用可以实现电影级别的分镜镜头,下面以一个车子移动的例子简单介绍Cinemachine和Timeline的配合使用。
CoderZ
2022/08/29
2.1K0
Unity Cinemachine & Timeline 制作镜头动画
Unity Cinemachine插件全功能详解
实现电影级别的分镜,推拉式镜头等,需要2017以上的版本才能使用,配合TimeLine一起使用,和Animator一起.
全栈程序员站长
2022/06/27
2.6K0
Unity Cinemachine插件全功能详解
Unity虚拟相机Cinemachine教程[通俗易懂]
参数介绍: Live Camera:当前显示的相机 Live Blend:过度相机时显示进度 Show Debug Text:在Game视窗里显示当前使用的相机
全栈程序员站长
2022/09/01
6K1
Cinemachine(一)VirtualCamera和Brain的简单介绍「建议收藏」
在游戏中,摄像头的效果是非常重要的,将会直接影响到呈现在玩家眼中的画面,好的效果可以直接提高玩家的游戏体验,给予一种身临其境的感觉。例如在一个FPS游戏中,我们往往需要摄像头跟随我们的角色,做一些第一人称第三人称的切换,当角色进入室内时需要调整摄像头位置来防止被墙挡住,在使用倍镜时需要摄像头观察远处的画面等等。以为要实现这些效果我们需要编写很多的控制代码来控制我们的Camera,然而再有了Cinemachine之后,一切都会变得简单起来。
全栈程序员站长
2022/09/01
7.1K1
Cinemachine(三)自动选择/切换最适合的摄像头(Cinemachine Clear Shot Camera)「建议收藏」
在很多的解谜类游戏中,场景中往往会有很多密室,玩家需要在不同的房间中来回穿梭,除了第三人称摄像头外,我们也可以通过在不同的房间中布置不同的Camera,然后当角色到达指定房间后开启对应的Camera来处理。类似的效果如下图:
全栈程序员站长
2022/08/24
4530
Cinemachine(三)自动选择/切换最适合的摄像头(Cinemachine Clear Shot Camera)「建议收藏」
Cinemachine教程☀️ 一、本插件的基础功能
Brain:放在相机Camera上的一个组件。可对接无数多个虚拟相机VCam,控制相机镜头切换
星河造梦坊官方
2024/08/15
4070
Cinemachine教程☀️ 一、本插件的基础功能
5分钟入门Cinemachine智能相机系统
摘要:相机是Unity世界的眼睛,一个智能相机更是能帮咱们节省大把的时间和精力。Cinemachine现在已经大量应用到各种项目中,如果你还没有用过Cinemachine,墙裂建议你来体验一下。
全栈程序员站长
2022/09/02
9591
Unity3D使用Cinemachine配合Timeline实现运镜效果
Unity3D中的插件Cinemachine高级虚拟摄像系统,配合Timeline时间轴一起使用,可以实现像电影级别的分镜等效果,这篇我们就继续用上个模拟收费通过的项目,在这个基础上使用Cinemachine配合Timeline实现一个运镜的效果。
Vaccae
2020/09/01
3.6K0
Unity3D使用Cinemachine配合Timeline实现运镜效果
Unity–Cinemachine官方实例详解
搭建一个快速场景,MainCamera选择Orthographic。在Cinemachine下有Create 2D Camera,在生成的相机中设置follow,同时注意body的设置,如下图所示
全栈程序员站长
2022/08/24
1.8K0
Unity–Cinemachine官方实例详解
Cinemachine(二)制作不会穿墙(会避开障碍物)的摄像头(Cinemachine Collider)
在许多的第三人称游戏中,我们的摄像机往往保持着一定的偏移,跟随着我们的角色。但是常常会出现的一种情况就是,当我们的角色走进室内或者靠近墙边或障碍物的时候,如果这个偏移保持不变的话,我们的摄像机就可能会跑到墙体里,或者看向角色时被墙体或障碍物所挡住。因此这种情况下我们的相机往往需要一些特殊的处理,例如修改偏移量来拉近相机与角色的距离等,来防止上述情况的出现。
全栈程序员站长
2022/08/24
1.4K0
Cinemachine(二)制作不会穿墙(会避开障碍物)的摄像头(Cinemachine Collider)
Cinemachine(四)在路径/轨道上移动的摄像头(Cinemachine Dolly Camera,Path And Cart)
在很多游戏的开场动画或者CG里,我们往往会碰见一些很酷炫的镜头效果。例如一个场景,我们的画面会从远处可以观察到整个场景到被拉近视角观察到场景中的主角。又或者一些CG动画中,我们的视角会像一直飞翔的老鹰一样,掠过整个场景。
全栈程序员站长
2022/09/02
1.9K0
unity 的Cinemachine组件运用
通过Package Manager 安装CineMachine 1) 最简单的方法使用freeLook虚拟相机
全栈程序员站长
2022/08/27
2K0
unity 的Cinemachine组件运用
Unity TimeLine丨A3.END-添加跨越墙壁时候的过场动画、Camera Depth
    TimeLine不是指一个制作好的mp4动画片,而是指可设置的运动、Camera、音乐等的集合,运行项目时会运行TimeLine显示我们想要的效果
星河造梦坊官方
2024/08/14
1520
Unity TimeLine丨A3.END-添加跨越墙壁时候的过场动画、Camera Depth
【游戏开发实战】2D游戏摄像机镜头跟随,屏幕边缘限制镜头移动(使用Cinemachine组件)
嗨,大家好,我是新发。 有老铁留言问我能不能写一下2D镜头跟随以及人物移动到屏幕边缘限制镜头的文章,
全栈程序员站长
2022/09/01
2.1K0
ARKit 1.0☀️ 四、是否支持ARKit、启动相机、开启检测平面
因部分设备支持ARKit,部分设备不支持,因此程序需判断该设备是否支持ARKit,在执行后续操作
星河造梦坊官方
2024/08/15
1280
ARKit 1.0☀️ 四、是否支持ARKit、启动相机、开启检测平面
Unity动画☀️一、通过 StringToHash ,控制Animator
并对他身上的Animator进行配置,方便我们使用代码,控制Animator,从而控制这个人物做出各种动作。
星河造梦坊官方
2024/08/14
3040
Unity动画☀️一、通过 StringToHash ,控制Animator
Unity3D使用Timeline实现过场动画
在《Unity3D使用Cinemachine配合Timeline实现运镜效果》一篇中我们已经实现了简单的运镜效果,这一篇还是利用TimeLine做动画,然后通过事件触发,实现一个过场动画的效果。
Vaccae
2020/10/27
2.8K0
Unity3D使用Timeline实现过场动画
基础渲染系列(十四)——雾
这是渲染教程系列的第14篇文章。上一章我们介绍了延迟着色,这次我们把雾效果添加到场景中。
放牛的星星
2020/07/10
3.2K0
基础渲染系列(十四)——雾
Cinemachine使用
根据BeaverJoe教程总结笔记,素材来源:https://www.bilibili.com/video/BV1oa4y1s7gg
全栈程序员站长
2022/09/01
8290
unity3d 入门[通俗易懂]
vscode直接加载文件夹,不要使用unity右键打开项目,unity2019bug导致vscode打开后没有界面,后才占用项目,不能右键打开。
全栈程序员站长
2022/09/22
3.7K0
unity3d 入门[通俗易懂]
推荐阅读
相关推荐
Unity Cinemachine & Timeline 制作镜头动画
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档