Unity–Cinemachine官方实例详解

Unity–Cinemachine官方实例详解1.2DCamera搭建一个快速场景,MainCamera选择Orthographic。在Cinemachine下有Create2DCamera,在生成的相机中设置follow,同时注意body的设置,如下图所示在虚拟相机中还需要添加Cinemachineconfiner组件,点击下图中的AddExtension,在弹出的下拉列表中,选择CinemachineConfiner。用来后处…

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

1.2D Camera

搭建一个快速场景,MainCamera选择Orthographic。在Cinemachine下有Create 2D Camera,在生成的相机中设置follow,同时注意body的设置,如下图所示

Unity--Cinemachine官方实例详解

在虚拟相机中还需要添加Cinemachine confiner组件,点击下图中的Add Extension,在弹出的下拉列表中,选择Cinemachine Confiner用来后处理虚拟相机的位置,限定虚拟相机位置到特定的范围内。

Unity--Cinemachine官方实例详解

为我们的虚拟相机添加一个边界的碰撞形状。目前的碰撞只支持PloygonCollider。给一个2D物体添加一个PloygonCollider,拖入即可。

2.Blendlist Camera

在Cinemachine下有Create BlendList Camera,在BlendList Camera下默认有两个虚拟相机。其实你还可以手动添加其他虚拟相机。分别设置Blendlist下相机的照射位置,Blendlist Camera通过时间来切换不同相机的播放,按照顺序从上往下播放。

Unity--Cinemachine官方实例详解

Hold 表示激活下一个虚拟相机,等待的时间,单位秒;

sec 表示混合动画的时间,单位也是秒。

3.Dolly

Dolly有两种设置,一个是轨道相机,一个是轨道物体

1.轨道相机,Create Dolly Camera With Track。系统会生成两个物体,一个是虚拟相机,一个是轨道设置。

Unity--Cinemachine官方实例详解

Unity--Cinemachine官方实例详解

勾选Auto Dolly,会让虚拟相机控制主相机自动跟随物体,并尽可能的接近跟随物体,会在下图中的绿色轨道上移动。

点击+号,创建新的路径点。

Unity--Cinemachine官方实例详解


2.轨道物体 Create Dolly Track With Cart,系统会生成两个物体,一个是轨道路径DollyTrack2,和上面的一样,一个是带有Cinemachine Dolly Cart脚本的DollyCart1,把要按轨道行驶的物体放到DollyCart1节点下就可以了,同时在DollyCart1节点设置速度即可。

Unity--Cinemachine官方实例详解

Unity--Cinemachine官方实例详解

4.Single follow Camera

1. 简单的跟随。这个比较简单,设置虚拟相机,并设置follow对象,如图

Unity--Cinemachine官方实例详解

2.固定视角跟随。也就是固定Fov跟随,如图,在虚拟相机添加一个Cinemachine Follow Zoom组件

Unity--Cinemachine官方实例详解

5.Target Group Camera

多目标追踪相机,Create Target Group Camera

在TargetGroup下添加Target,并可设置权重和半径,在虚拟相机中的Follow和Look At都设置为TargetGroup,并把Aim模式设置为Group Composer,如图所示。

Unity--Cinemachine官方实例详解

Unity--Cinemachine官方实例详解

6.FreeLook Camera

Create FreeLook Camera,设置第三人称,比较简单,可以虚拟相机随着鼠标的移动而控制主相机移动。

7.Mixing Camera

Create Mixing Camera, 生成的虚拟相机子物体还有两个虚拟相机,成像是两个子虚拟相机共同的结果

Unity--Cinemachine官方实例详解

8.ClearShot Camera

ClearShot Camera可以管理一组子虚拟相机。如果子相机具有CinemachineCollider扩展,他们将进行分析目标障碍场景,最佳目标距离等项目,并对其进行评估将镜头质量返回给ClearShot,然后他会选择最好的一个。如果多个子相机具有相同的镜头质量,则具有最高优先级的相机将是选择。

Unity--Cinemachine官方实例详解

上面的例子是,首先设置一个虚拟相机LookAt这个Cube物体,设置优先级priority为12,当Cube被白色的墙挡住时,切换一个虚拟相机,设置优先级priority为11,当Cube移动一段距离,又可以被之前的虚拟相机看到时,因为第一个虚拟相机优先级更高,会再切换到第一个虚拟相机。

Unity--Cinemachine官方实例详解

Unity--Cinemachine官方实例详解

8.StateDriven Camera

Create StateDriven Camera激活特定镜头时进入特定的动画状态,结合Animator动画系统来使用。

Unity--Cinemachine官方实例详解

Unity--Cinemachine官方实例详解

在控制角色移动时,当改变动画状态,虚拟相机也会相应切换。

Unity--Cinemachine官方实例详解

Unity--Cinemachine官方实例详解

这是Demo的Github地址https://github.com/aaBaO/DemoRepository中的WhatIsCinemachine文件夹

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 获取资源文件地址getClassLoader[通俗易懂]

    获取资源文件地址getClassLoader[通俗易懂]this.class.getClassLoader().getResourceAsStream与this.class.getResourceAsStream本文转自:http://xixinfei.iteye.com/blog/1256291this.getClass().getClassLoader().getResource("template");   首先,调用对象的getClass()方…

    2022年5月4日
    57
  • vue父子组件传值props_vue子组件调用父组件的方法并传参

    vue父子组件传值props_vue子组件调用父组件的方法并传参vue页面结构在做项目的时候常常有这样的一个情况,这个页面的数据(比如:id号)要带到另一个页面去查询某个数据的详情等,传统的做法不是在url上加参数,cookie或者是现在H5的“sessionStorage”和“localStorage”上赋值,这是页面之间传递的方法。随着Angularjs,React,Vue的流行组件式的开发方式成为另一种不错的解决方案。最近就有一些小伙伴问我,vue组件之间是如何传递参数的?其实vue是有三种方式可以组件之间传递数据(props,组件通信,slot)..

    2025年6月24日
    2
  • 数据库服务器系统,数据库服务器的操作系统

    数据库服务器系统,数据库服务器的操作系统

    2021年11月28日
    43
  • java之二维数组初始化

    java之二维数组初始化packagelibai;publicclassmeihua{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstubchara[][]=newchar[4][];//数组初始化a[0]=newchar[]{‘云’,’想’,’衣’…

    2022年5月26日
    33
  • Redis之压缩列表ziplist

    Redis是基于内存的nosql,有些场景下为了节省内存redis会用“时间”换“空间”。ziplist就是很典型的例子。ziplist是list键、hash键以及zset键的底层实现之一(3.0之后list键已经不直接用ziplist和linkedlist作为底层实现了,取而代之的是quicklist)这些键的常规底层实现如下:list键:双向链表 hash键:字典di…

    2022年4月9日
    80
  • [ubuntu] 查看端口占用[通俗易懂]

    [ubuntu] 查看端口占用[通俗易懂]netstat-ap|grep2200

    2022年7月27日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号