当前位置: 首页 > news >正文

企业网站建设资金预算表哈尔滨公司网站开发

企业网站建设资金预算表,哈尔滨公司网站开发,自己做网站怎么样,阿里大数据官网文章目录 一、前言二、插件下载三、案例1#xff1a;第三人称自由视角#xff0c;Free Look character场景1、场景演示2、组件参数2.1、CinemachineBrain#xff1a;核心2.2、CinemachineFreeLook#xff1a;第三人称自由视角相机2.2.1、设置Follow#xff1a;跟随2.2.2、… 文章目录 一、前言二、插件下载三、案例1第三人称自由视角Free Look character场景1、场景演示2、组件参数2.1、CinemachineBrain核心2.2、CinemachineFreeLook第三人称自由视角相机2.2.1、设置Follow跟随2.2.2、设置LookAt朝向2.2.3、三个圆环轨道环绕约束2.2.4、圆环轨道之间的连接曲线Spline Curvature2.2.5、相机移动策略移动阻尼Body Y/Z Damping2.2.6、相机旋转策略瞄准Aim2.2.7、瞄准偏移Tracked Object Offset2.2.8、预测Lookahead2.2.8、瞄准阻尼Horizontal/Vertical Damping2.2.9、画面构图重要 2.3、小结 3、用代码控制相机移动绕圆环旋转 四、案例2相机避障不穿墙Free Look collider场景1、场景演示2、组件参数2.1、CinemachineCollider相机碰撞2.1.1、Add Extension拓展2.1.2、Collide Against被认定为障碍物的Layer2.1.3、Ignore Tag忽略碰撞检测的Tag2.1.4、Transparent Layers透明层2.1.5、Minimum Distance From Target与目标的最小距离2.1.6、Avoid Obstacles是否避开障碍物2.1.7、Distance Limit碰撞检测的射线长度2.1.8、Camera Radius相机半径2.1.9、Strategy避障策略2.1.10、Maximum Effort一次可处理的最多的障碍物数量2.1.11、Smoothing Time相机移动的平滑时间2.1.12、Damping避障后相机恢复位置的阻尼2.1.12、Damping When Occluded避障时的相机阻尼 五、案例3简单追踪FollowCam Simple Follow场景1、场景演示2、组件参数2.1、CinemachineVirtualCamera虚拟相机2.1.1、Follow与LookAt追踪目标2.1.2、Binding ModeBody绑定模式1、Lock To Target On Assign 模式常用2、Lock To Target With World Up 模式3、Lock To Target No Roll 模式4、Lock To Target 模式5、World Space 模式6、Simple Follow With World Up 模式 六、案例4动画状态驱动自由视角StateDrivenCamera场景1、场景演示2、组件参数2.1、CinemachineStateDrivenCamera状态驱动虚拟相机2.1.1、父节点CinemachineStateDrivenCamera2.1.2、子节点多个虚拟相机2.1.3、设置Animated Target2.1.4、设置State 七、案例5分镜/切镜ClearShot场景1、场景演示1.1、ClearShot场景1.2、ClearShot closest场景1.2、ClearShot character场景 2、组件参数2.1、CinemachineClearShot自动选择/切换最适合的摄像头2.2、CinemachineBlendListCamera虚拟相机过渡/混合器2.3、CinemachineTriggerAction虚拟相机触发器2.3.1、碰撞体勾选Is Trigger2.3.2、设置过滤2.3.3、设置Skip First2.3.4、设置On Object Enter响应 八、案例6多目标追踪Dolly Group场景1、场景演示2、组件参数 九、其他案例1、打BOSS视角BossCam场景2、双重目标DualTarget场景3、近物透明FadeOutNearbyObjects场景4、第三人称瞄准3rdPersonWithAimMode场景5、镜头震动Impulse场景 十、完毕 一、前言 嗨大家好我是新发。 相信很多同学都用过Unity的Cinemachine插件使用它可以很方便地实现一些摄像机效果比如摄像机追踪、推拉镜头、分镜等效果。 插件提供了很多场景案例大家可以看下插件的官方文档 https://docs.unity3d.com/Packages/com.unity.cinemachine2.8/manual/CinemachineUsing.html 趁五一假期有时间我准备对插件里的案例场景进行讲解方便大家快速上手希望大家学以致用。 提示本文内容较长建议收藏后使用电脑观看。 注本文使用的Unity版本为2021.3.1f1c1Cinemachine版本为2.8.4 二、插件下载 在PackageManager中搜索Cinemachine点击Install安装即可 本文我要讲解插件的案例所以需要把Samples也引入到工程中点击Samples的Import按钮 完成后我们就可以在工程中看到Cinemachine的插件包和案例包了如下 现在我们开始吧~ 注本文讲解的案例顺序不是按照目录顺序而是根据常用程度进行排序 三、案例1第三人称自由视角Free Look character场景 1、场景演示 双击打开Free Look character场景 这是第三人称自由视角的摄像机效果如下 画个图 2、组件参数 2.1、CinemachineBrain核心 主摄像机上挂CinemachineBrain组件参数默认即可它是整个虚拟相机系统的核心 2.2、CinemachineFreeLook第三人称自由视角相机 CM FreeLook1节点上挂了CinemachineFreeLook组件它实现了第三人称自由视角的相机逻辑是非常常用的一个相机功能 下面我介绍一下这个组件的参数设置。 2.2.1、设置Follow跟随 我们需要设置追踪的目标物体这里设置追踪的目标是主角的Root节点 如下 设置了Follow对象摄像机就会跟着追踪的对象移动了。 2.2.2、设置LookAt朝向 设置LookAt可以让相机角度始终朝着目标的方向这里设置的是看向主角的头 如下 我们可以看到相机的Z轴蓝色的那根轴始终朝着主角的头 2.2.3、三个圆环轨道环绕约束 摄像机围绕主角环绕的范围是由三个圆环轨道决定的如下 我们可以调整这三个圆环轨道的高度和半径如下 如下 2.2.4、圆环轨道之间的连接曲线Spline Curvature 三个圆环之间有一根连接的曲线它是摄像机在竖直方向上移动的约束你可以把它想象成就是一根弯曲的杆子在它对面有一根形状与它一样的隐形的杆子相机只能在这根隐形的杆子上移动 我们可以调节Spline Curvature来调整这根连接杆的弯曲程度 如下 2.2.5、相机移动策略移动阻尼Body Y/Z Damping 我们有三个圆环轨道分别对应三个机位视角顶部机位、中部机位、底部机位 我们可以调整每个机位的相机移动阻尼、画面构图等以Middle Rig中部机位为例 我们可以调整相机跟随的移动阻尼阻尼越大跟随速度越慢 Y Damping用于控制相机在竖直方向上的跟随阻尼比如角色跳跃的时候相机也会跟着在竖直方向上 “跳”相机的 “跳” 会受到这个Y Damping阻尼影响。 同理Z Damping控制垂直于屏幕方向移动的阻尼比如角色往垂直于屏幕的方向走相机也跟着往前相机在这个方向上的跟随受到Z Damping阻尼的影响。 注阻尼可以减少由于相机速度过快而出现画面抖动的效果。 阻尼为 0 会显得跟随很僵硬可能出现画面抖动阻尼过大则会导致相机跟随太慢跟不上主角。 我调整Z Damping给大家演示一下首先看下Z Damping为1时的效果 接着我把Z Damping阻尼调大到20可以看到相机跟随已经跟不上主角的移动了特别是主角跑起来的时候建议保持默认的1即可 2.2.6、相机旋转策略瞄准Aim 展开Aim下拉按钮 我们可以在Game试图中看到出现了一些线和一些区域块如下它是通过约束相机的旋转来达到让瞄准的物体显示在画面区域内的 如果你没有显示上面的线和区域检查一下Game Window Guides是否是勾选状态 我们可以切换瞄准的策略默认是Composer 每种瞄准策略含义如下 瞄准策略说明Composer将目标保持在相机镜头内可以设置多种约束Group Composer将多个目标保持在相机镜头内Hard Look At将Look At目标固定在镜头中心的位置POV根据用户的输入旋转相机Same As Follow Target将相机的旋转和跟随目标的旋转同步 下面以Composer 策略为例介绍一下各个参数的用途。 2.2.7、瞄准偏移Tracked Object Offset Tracked Object Offset相参数控制对于跟踪目标的偏移比如我们Look At的目标是Head节点但是这个节点与主角的真实头部偏了一些我们就可以通过调整Tracked Object Offset来校准瞄准的位置 如下 2.2.8、预测Lookahead 参数说明Lookahead Time预测提前的秒数默认为0如果大于0会预测目标的位置如果主角移动速度很快可以适当进行预测如果主角移动速度不快但开启了预测可能会导致相机抖动Lookahead Smoothing预测算法的平滑度提高平滑度可以减少预测抖动但会导致预测滞后Lookahead ignore Y预测算法会忽略Y轴的移动 我们把Lookahead Time调大到1 效果如下可以看到过度预测导致了相机的抖动 我们保持1秒Lookahead Time此时我们把Lookahead Smoothing调大到8 效果如下可以看到相机提前预测了目标位置抖动平滑了一些但是由于我们的主角移动速度并不快预测导致相机超前最后还得折返回来所以这里我们没有必要开启预测。 如果你的项目的主角是飞机飞行速度快则可以考虑开启预测。 Lookahead Ignore Y就是忽略Y轴方向上的预测比如跳跃动作我们不想让相机做Y轴上的预测就可以勾选它 一般情况下我们都不需要开启预测保持为0即可 2.2.8、瞄准阻尼Horizontal/Vertical Damping 注意这个和2.2.5小节讲的Body Y/Z Damping阻尼是不同的Body Y/Z Damping是移动阻尼而Horizontal/Vertical Damping是旋转阻尼 为了方便观察我先把Follow设为None让相机固定位置不动 现在我们先看Horizontal Damping为0.5时的效果此时水平旋转阻尼比较小相机的旋转是可以跟上主角的移动的 现在我们把Horizontal Damping调整到3效果如下可以看到相机的水平旋转由于阻尼的作用而出现了滞后适当的阻尼可以减少抖动过大的阻尼会带来滞后我们保持默认的0.5就好了 2.2.9、画面构图重要 喜欢摄影的同学应该都听说过构图比如三分法、中央对称法、对角线三角形、留白、黄金比例等等。在Cinemachine中提供了Dead Zone、Soft Zone来约束主角在画面中的位置我们可以调整对应的参数来实现自己的画面构图 Dead Zone和Soft Zone区域如下 Dead Zoon范围内主角的移动不会触发相机的旋转为了演示我把Dead Zone调大一点点我们可以通过Dead Zone Width和Dead Zone Height来调整Dead Zoon的区域大小 可以看到Dead Zoon范围内主角的移动不会触发相机的旋转只有当主角的位置超出了Dead Zone的区域才会触发相机的旋转 我们可以把Dead Zone区域调为0这样主角只要发生移动就会触发相机的旋转 同理Soft Zone的区域是一个缓冲区域在这个区域内相机会插值旋转慢慢旋转直至把主角 “推” 回到 Dead Zone内如果主角的位置超过了Soft Zone的区域相机就会立刻旋转确保主角留在Soft Zone区域内。 比如我现在把Soft Zone区域调小 测试效果如下可以看到当主角尝试超过Soft Zone区域时相机的旋转速度会立刻跟上确保主角在Soft Zone区域内 Screen X和Screen Y是用来调整整个Zone的屏幕位置的 比如把整个Zone调整到屏幕左下角这样主角在画面中的位置就是左下角了 Bias X和Bias Y用来调整Soft Zoon相对于整个Zoon的位置偏移 效果如下 2.3、小结 这个案例中我们主要设置CinemachineFreeLook组件的Follow、LookAt对象调整移动阻尼Body Y/Z Damping调整一下Aim的Dead Zone、Soft Zone就差不多了可以快速应用到自己的实际项目中。 3、用代码控制相机移动绕圆环旋转 等我们移动鼠标的时候相机会围绕圆环轨道移动如下 这是因为CinemachineFreeLook组件监听了Mouse Y、Mouse X输入它根据鼠标的移动去控制相机的移动 如果我们先禁用它自身的这个控制可以把这两个Input Axis Name设置为空 接着我们在代码中去设置CinemachineFreeLook组件的m_XAxis和m_YAxis成员的m_InputAxisValue 即可例 using UnityEngine; using Cinemachine;public class Main : MonoBehaviour {private CinemachineFreeLook vcam;void Start(){vcam GetComponentCinemachineFreeLook();}void Update(){// 自己通过代码获取 x、y分量比如通过摇杆获取这里我就仍然使用 Mouse X 和 Mouse Y吧var x Input.GetAxis(Mouse X);var y Input.GetAxis(Mouse Y);// 相机移动vcam.m_XAxis.m_InputAxisValue x;vcam.m_YAxis.m_InputAxisValue y;} }关于摇杆的实现可以参见我之前写的这篇博客的第六节【游戏开发创新】用Unity等比例制作广州地铁广州加油早日战胜疫情Unity | 地铁地图 | 第三人称视角 四、案例2相机避障不穿墙Free Look collider场景 1、场景演示 双击打开Free Look collider场景 这也是第三人称自由视角的摄像机效果在此基础上加了CinemachineCollider避免相机穿墙的问题效果如下 画个图 2、组件参数 2.1、CinemachineCollider相机碰撞 在上面案例1的基础上加多了一个CinemachineCollider组件 2.1.1、Add Extension拓展 如果你点击AddComponent按钮你是找不到这个CinemachineCollider组件的 正确的姿势是点击CinemachineFreeLook的Add Extension下拉选项添加CinemachineCollider拓展 2.1.2、Collide Against被认定为障碍物的Layer 虚拟相机的碰撞是通过射线检测来实现的射线检测的时候可以传一个LayerMask参数过滤要检测的层这里Collide Against参数就是设置被认为障碍物的Layer只有被勾选的Layer才会参与射线碰撞检测 2.1.3、Ignore Tag忽略碰撞检测的Tag 如果我们想要剔除掉某个Tag的物体不对特定Tag的物体进行碰撞检测可以设置Ignore Tag参数这里设置的是Player也就是不与主角做碰撞检测也就是说摄像机有可能从主角身上穿过去 2.1.4、Transparent Layers透明层 透明层的物体被认为是透明的不作为障碍物处理。 可能有同学要问了上面不是已经有个Tag来剔除碰撞检测对象了吗这个透明层是不是有点功能重复了非也请往下看 首先要清楚这个CinemachineCollider的功能不仅仅是确保相机不穿墙还要确保主角不被 障碍物 挡住。 比如下面这种情况我把Transparent Layers设置为Default这样墙壁被认为是透明层相机并没有在墙里面但是视线被墙挡住了看不见主角 我们把Transparent Layers改回Nothing 此时可以看到主角画面没有被墙挡住了现在你知道Transparent Layers是干嘛的了吗~ 如果这里的墙确实是半透明的那么我们就可以把它的层加入到Transparent Layers比如这里我特意把墙改为半透明添加了一个Wall层 效果如下 2.1.5、Minimum Distance From Target与目标的最小距离 与目标的最小距离 只有大于最小距离Cinemachine才会进行规避障碍物的操作。 2.1.6、Avoid Obstacles是否避开障碍物 勾选了才会执行避障逻辑。 2.1.7、Distance Limit碰撞检测的射线长度 上面我们说到碰撞检测这里用的是射线来检测的Distance Limit就是射线的长度为0的时候则以Cinemachine与Follow目标的距离为射线长度 2.1.8、Camera Radius相机半径 相机将尝试与任何障碍物保持此距离。 尽量保持这个值很小。 2.1.9、Strategy避障策略 避障策略说明Pull Camera Forward直接让相机往前走移动到障碍物之前Preserve Camera Height相机高度不变通过向左或向右移动来避开障碍物Preserve Camera Distance保持相机和目标的距离不变避开障碍物 Pull Camera Forward 这种策略摄像机会出现瞬移的问题如下 Preserve Camera Height 这种策略摄像机会在水平方向上移动来过渡而不是像上面那样瞬移推荐使用这种策略如下 Preserve Camera Distance 这种策略由于为了保持距离摄像机会出现向上蹿或像下蹿的问题如下 2.1.10、Maximum Effort一次可处理的最多的障碍物数量 一般4个就可以了太高影响性能。 2.1.11、Smoothing Time相机移动的平滑时间 在距离目标最近的点保持相机的最小秒数。如果场景中障碍物很多会导致摄像机频繁避障而出现相机跳动比如我在主角周围摆了那么多障碍物 此时就可以适当调大Smoothing Time减少多余的摄像机避障移动。 我们先看下Smoothing Time为0时的效果可以看到摄像机很跳 现在我们把Smoothing Time调大到2效果如下可以看到摄像机平滑了很多不会那么跳了 2.1.12、Damping避障后相机恢复位置的阻尼 遮挡消失后相机恢复到正常位置的阻尼。 比如我们使用Pull Camera Forward避障策略然后把Damping调大可以看到在遮挡消失后相机位置有一个平滑的过渡恢复效果 2.1.12、Damping When Occluded避障时的相机阻尼 上面的Damping是避障后恢复的阻尼这个Damping When Occluded则是避障时的相机阻尼我们同样使用Pull Camera Forward避障策略进行测试把Damping When Occluded调大效果如下可以看到当出现遮挡时摄像机不是瞬移了而是有个阻尼过渡移动过去看起来貌似与Preserve Camera Height避障策略差不多但Preserve Camera Height避障会确保摄像机不穿墙而这种Pull Camera Forward配合Damping When Occluded的方式是会存在摄像机穿墙的问题的。 五、案例3简单追踪FollowCam Simple Follow场景 1、场景演示 双击打开FollowCam Simple Follow场景 这是一个追踪一架飞机飞行的摄像机效果效果如下 画个图 2、组件参数 2.1、CinemachineVirtualCamera虚拟相机 与CinemachineFreeLook一样CinemachineVirtualCamera也是继承CinemachineVirtualCameraBase相对来说CinemachineVirtualCamera功能更简单一些。 2.1.1、Follow与LookAt追踪目标 同样也是设置Follow和LookAt参数设置追踪的目标和朝向的目标。 2.1.2、Binding ModeBody绑定模式 需要重点讲一下Body的绑定模式 大家可以打开Transposer场景 这个场景里帮我们创建了多个Binding Mode的虚拟相机方便我们进行测试 下文我将使用一个更直观的案例进行演示~ 1、Lock To Target On Assign 模式常用 当相机跟踪目标被设置的时候把相机设置到目标物体的局部坐标系中但不跟随目标物体的旋转而移动。 简单讲就是你动我动你转我不动 这种适用于视角固定的追踪为了方便演示应用效果我导入另外一个Package资源包该资源包可以在AssetStore免费下载使用地址https://assetstore.unity.com/packages/3d/characters/humanoids/character-pack-free-sample-79870 稍微整一下场景如下 虚拟相机参数设置如下 我们运行效果如下 2、Lock To Target With World Up 模式 相机被设置到目标物体的局部坐标系中但不会跟随目标物体在z轴旋转, 也不会跟随目标物体在x轴倾斜。 简单讲就是你动我动你x/z轴转我不动你y轴转我动。 同样我们使用小男孩演示下镜头效果注意主角身上的SimpleSampleCharacterControl组件的移动模式切换成Tank模式 运行效果如下适合这种视角始终朝着角色背后的情景 并且主角x轴旋转时相机不会因为主角的旋转而移动 3、Lock To Target No Roll 模式 相机被设置到目标物体的局部坐标系中但不会跟随目标物体在z轴的旋转。 简单讲就是你动我动你x/y旋转我动你z轴转我不动。 小男孩效果如下 这个情景看起来效果与Lock To Target With World Up一样但如果主角在绕着x轴旋转相机会跟着移动如下 4、Lock To Target 模式 这是最容易理解的类型相机被设置到目标物体的局部坐标系中将一直跟随目标物体旋转和移动。 简单讲就是你动我动你转我动。 小男孩效果如下 跟上面的Lock To Target No Roll 和Lock To Target With World Up 运行效果一样但如果主角在沿着x、y轴旋转摄像机会跟着移动 其实对于小男孩的这个情景你使用Lock To Target、Lock To Target No Roll 、Lock To Target With World Up 的运行效果一样因为这个情景下小男孩并不会发生x、y轴的旋转。 5、World Space 模式 相机跟目标的偏移以世界坐标来进行计算并始终保持在初始设置的状态。 简单讲就是你动我动你转我不动 诶听起来跟 Lock To Target On Assign 模式一样其实不一样区别就在于Follow Offset参数Lock To Target On Assign 模式是把 Follow Offset当做目标物体的局部坐标系来计算偏移的而 World Space 模式则是以世界坐标系来计算偏移的 小男孩运行效果如下 表现效果与Lock To Target On Assign一样如果在这种应用情景下我建议使用World Space因为少了一步转局部坐标的过程。 6、Simple Follow With World Up 模式 使用相机坐标系来计算与目标物体的偏移不会跟随物体旋转而改变朝向相机方向始终向上。 比如这个时候的相机坐标系是这样的 把这个坐标系移动到目标物体的中心位置然后基于这个坐标系做一次Follow Offset偏移即可得到相机的位置 效果如下 小男孩运行效果如下 这一看好像与World Space模式的表现是一样的其实不一样我们换个视角观察我让小男孩一直往左走先看下World Space的效果 现在我们看下Simple Follow With World Up 模式下小男孩一直往左跑是什么效果如下小男孩是绕着圈圈走的。之前就有一个策划拿着某款游戏过来问我为什么主角一直往右跑的时候看起来好像是在转圈圈我猜那款游戏用的就是Simple Follow With World Up模式 六、案例4动画状态驱动自由视角StateDrivenCamera场景 1、场景演示 双击打开StateDrivenCamera场景 这是一个根据主角动画状态切换摄像机机位效果默认情况下是一个第三人称自由视角当主角跑起来的时候会切换到一个固定视角的虚拟相机机位我们运行在Scene窗口看下这个切换过程 画个图 2、组件参数 这个案例我们只需要讲一下CinemachineStateDrivenCamera组件其它的上文已经讲过了。 2.1、CinemachineStateDrivenCamera状态驱动虚拟相机 2.1.1、父节点CinemachineStateDrivenCamera 在父节点上挂CinemachineStateDrivenCamera组件 2.1.2、子节点多个虚拟相机 子节点可以放多个虚拟相机 2.1.3、设置Animated Target 因为我们需要根据动画状态来切换不同的虚拟相机所以需要给CinemachineStateDrivenCamera组件指定Animated Target把主角的Animator对象赋值给它 2.1.4、设置State 我们先看下主角的动画状态机很简单只有Locomotion和Sprint两个动画状态 我们在CinemachineStateDrivenCamera组件上分别给这两个动画状态添加要激活的虚拟相机如下 七、案例5分镜/切镜ClearShot场景 ClearShot翻译过来是清晰的镜头的意思就是从多个相机镜头中选择一个画面质量最好的镜头切换过去表现上就像分镜的效果。 啥是分镜呢首先看下百科的概念 分镜(Storyboard) 又叫故事板。是指电影、动画、电视剧、广告、音乐录像带等各种影像媒体在实际拍摄或绘制之前以图表的方式来说明影像的构成将连续画面以一次运镜为单位作分解并且标注运镜方式、时间长度、对白、特效等。根据媒体不同划分成不同分镜。常见的有影片分镜漫画分镜。影片分镜用以解说一个场景将如何构成人物以多大的比例收入镜头成为构图、做出什么动作摄影机要从哪个角度切入或带出、摄影机本身怎么移动、录映多少时间等。 喜欢看漫画的同学应该不陌生一个场景中我们架设多个虚拟相机机位为了做出最好的画面表现我们需要进行镜头切换比如下面的漫画一个格子就像是一个机位拍摄的画面镜头角度、位置等什么时候去切换镜头这些对应到Cinemachine中就是ClearShot要做的事情 Cinemachine给我们做了三个场景我们先运行看下效果。 1、场景演示 1.1、ClearShot场景 先双击打开ClearShot场景运行效果如下 场景中架了三个虚拟相机如下根据主角是否被遮挡进行最优切换 虚拟相机父节点是一个CinemachineClearShot下文会介绍这个组件的参数 画个图 1.2、ClearShot closest场景 先双击打开ClearShot closest场景运行效果如下 场景中架了六个虚拟相机如下根据与主角的距离进行最优切换 其中CinemachineClearShot子节点虚拟相机中嵌了一个CinemachineBlendListCamera下文会介绍这个组件的参数 按照惯例画个图 1.2、ClearShot character场景 双击打开ClearShot character场景运行效果如下 场景中架设了5个虚拟相机 其中用到了虚拟相机触发器CinemachineTriggerAction用于检测主角是否进入触发器区域然后进行虚拟相机的切换下文会介绍这个组件的参数 画个图 2、组件参数 2.1、CinemachineClearShot自动选择/切换最适合的摄像头 CinemachineClearShot会根据被观察目标的最好画面质量从子节点中选择一个最合适的虚拟相机。 至于它是根据什么做出最优选择的大家可以查看CinemachineClearShot.cs源码的ChooseCurrentCamera方法 主要是根据虚拟相机的ShowQuality和Priority两个参数进行评估的 而ShowQuality又是根据相机是否被遮挡、与目标的距离等参数进行评估的。 如果我们想手动触发虚拟相机的切换可以通过代码设置虚拟相机的Priority参数提高优先级。 这里我们主要讲一下如何设置CinemachineClearShot组件的参数。 我们只需要在子节点中添加虚拟相机就会自动在下面的列表中显示出来我们设置一下Priority优先级参数即可 另外CinemachineClearShot本身也有Follow和LookAt参数如果子节点的虚拟相机没有设置Follow和LookAt则会以CinemachineClearShot的为准否则以子节点虚拟相机的Follow和LookAt为准 2.2、CinemachineBlendListCamera虚拟相机过渡/混合器 在ClearShot closest场景中用到了CinemachineBlendListCamera我使用另一个专门的场景来讲解 双击打开BlendListCamera 场景中放了两个CinemachineBlendListCamera 我们把默认的虚拟相机禁用把第一个CinemachineBlendListCamera激活可以看到它底下有两个虚拟相机 CinemachineBlendListCamera做的事情就是按照我们设定的顺序进行虚拟相机的过渡注意这里会按照我们排的顺序进行过渡而不会进行像ClearShot那样进行画面质量评估下面这个设置的意思就是先在CM vcam A虚拟相机状态停留0.5秒然后用2秒时间过渡到CM vcam B过渡的缓动曲线使用Ease In Out 常用的缓动曲线如下 我们调整一下两个虚拟相机的位置如下 现在我们运行看看效果可以看到相机从CM vcam A过渡到了CM vcam B 我们还可以让它从CM vcam B回到CM vcam A我们添加过渡设置如下 重新运行效果如下可以看到相机最后又过渡回到了CM vcam A 如果我们想要让这个顺序循环执行可以勾选Loop 2.3、CinemachineTriggerAction虚拟相机触发器 插件中的Trigger volumes场景可以针对触发器进行测试 可以用它来实现虚拟相机的镜头切换 也可以用来实现机关触发比如执行TimeLine 插件中还有一个Anywhere Door任意门场景用的就是CinemachineTriggerAction触发器来实现两个世界的无缝穿越的挺有意思的效果如下 下面讲一下CinemachineTriggerAction组件的参数设置。 2.3.1、碰撞体勾选Is Trigger 我们可以打开CinemachineTriggerAction.cs查看源码里面其实就是使用OnTriggerXXX来检测碰撞然后执行对应的响应方法 注意使用CinemachineTriggerAction的物体上需要带Collider并且勾选Is Trigger如下 2.3.2、设置过滤 我们可以设定Layer Mask、With Tag和Without Tag进行过滤 只有通过过滤器的检测才能触发逻辑 2.3.3、设置Skip First Skip First可以用来跳过前面N此的触发比如第一次进入时不想触发逻辑则可以把Skip First设置为1如果想要每次都触发则把Skip First设置为0并勾选Repeating Skip First逻辑如下 2.3.4、设置On Object Enter响应 进入触发器触发响应逻辑我们可以设置要执行的行为 支持的行为如下 响应行为说明Custom自定义使用组件里的Event()自定义触发函数Priority Boost增加目标虚拟相机的优先级并把虚拟相机推入优先队列顶部Activate激活虚拟相机并把虚拟相机推入优先队列顶部Deactive禁用目标物体即执行SetActive(false)Enable激活目标组件即设置组件的 enabled 为 trueDisable禁用目标组件即设置组件的 enabled 为 falsePlay播放TimelineStop停止Timeline 同理物体离开触发器会触发On Object Exit我们也可以设置对应的响应行为 八、案例6多目标追踪Dolly Group场景 1、场景演示 双击打开Dolly Group场景 运行效果如下 2、组件参数 这个场景使用了一个Timeline来控制虚拟相机的移动虚拟相机LookAt的目标是一个TargetGroup物体 这个TargetGroup物体上挂着CinemachineTargetGrouop组件通过它可以实现虚拟相机同时追踪多个物体的效果原理是动态调整相机的Field Of View来确保多个物体都在画面以内参数比较简单主要是设置多个对象物体到列表中即可 九、其他案例 我感觉我写得太详细了不知不觉本文内容已经非常长了再写下去感觉没有同学能耐心看完了其他场景案例我这里就不挨个讲解了大家可以自己玩玩看。 1、打BOSS视角BossCam场景 2、双重目标DualTarget场景 3、近物透明FadeOutNearbyObjects场景 4、第三人称瞄准3rdPersonWithAimMode场景 5、镜头震动Impulse场景 十、完毕 好了不写了不写了先到这里吧~ 我是林新发https://blog.csdn.net/linxinfa 一个在小公司默默奋斗的Unity开发者希望可以帮助更多想学Unity的人共勉~
文章转载自:
http://www.morning.yqyhr.cn.gov.cn.yqyhr.cn
http://www.morning.xsfg.cn.gov.cn.xsfg.cn
http://www.morning.gcbhh.cn.gov.cn.gcbhh.cn
http://www.morning.wschl.cn.gov.cn.wschl.cn
http://www.morning.zmyzt.cn.gov.cn.zmyzt.cn
http://www.morning.prjty.cn.gov.cn.prjty.cn
http://www.morning.cfmrb.cn.gov.cn.cfmrb.cn
http://www.morning.mtxrq.cn.gov.cn.mtxrq.cn
http://www.morning.gmjkn.cn.gov.cn.gmjkn.cn
http://www.morning.cnlmp.cn.gov.cn.cnlmp.cn
http://www.morning.gwtgt.cn.gov.cn.gwtgt.cn
http://www.morning.cpljq.cn.gov.cn.cpljq.cn
http://www.morning.mdnnz.cn.gov.cn.mdnnz.cn
http://www.morning.rkwwy.cn.gov.cn.rkwwy.cn
http://www.morning.chhhq.cn.gov.cn.chhhq.cn
http://www.morning.lssfd.cn.gov.cn.lssfd.cn
http://www.morning.spxk.cn.gov.cn.spxk.cn
http://www.morning.qbrs.cn.gov.cn.qbrs.cn
http://www.morning.nkpls.cn.gov.cn.nkpls.cn
http://www.morning.ztrht.cn.gov.cn.ztrht.cn
http://www.morning.tbknh.cn.gov.cn.tbknh.cn
http://www.morning.mpscg.cn.gov.cn.mpscg.cn
http://www.morning.tbkqs.cn.gov.cn.tbkqs.cn
http://www.morning.nwpnj.cn.gov.cn.nwpnj.cn
http://www.morning.lzqtn.cn.gov.cn.lzqtn.cn
http://www.morning.ckxd.cn.gov.cn.ckxd.cn
http://www.morning.nqrfd.cn.gov.cn.nqrfd.cn
http://www.morning.lfdmf.cn.gov.cn.lfdmf.cn
http://www.morning.zcfmb.cn.gov.cn.zcfmb.cn
http://www.morning.tbbxn.cn.gov.cn.tbbxn.cn
http://www.morning.jstggt.cn.gov.cn.jstggt.cn
http://www.morning.ztmkg.cn.gov.cn.ztmkg.cn
http://www.morning.xxgfl.cn.gov.cn.xxgfl.cn
http://www.morning.lbgfz.cn.gov.cn.lbgfz.cn
http://www.morning.jhtrb.cn.gov.cn.jhtrb.cn
http://www.morning.jlqn.cn.gov.cn.jlqn.cn
http://www.morning.hhxkl.cn.gov.cn.hhxkl.cn
http://www.morning.wztlr.cn.gov.cn.wztlr.cn
http://www.morning.zlcsz.cn.gov.cn.zlcsz.cn
http://www.morning.bgpch.cn.gov.cn.bgpch.cn
http://www.morning.chrbp.cn.gov.cn.chrbp.cn
http://www.morning.smxyw.cn.gov.cn.smxyw.cn
http://www.morning.ntyanze.com.gov.cn.ntyanze.com
http://www.morning.kqgsn.cn.gov.cn.kqgsn.cn
http://www.morning.qgmbx.cn.gov.cn.qgmbx.cn
http://www.morning.qrcsb.cn.gov.cn.qrcsb.cn
http://www.morning.wcqxj.cn.gov.cn.wcqxj.cn
http://www.morning.smcfk.cn.gov.cn.smcfk.cn
http://www.morning.ndmbz.cn.gov.cn.ndmbz.cn
http://www.morning.qlkjh.cn.gov.cn.qlkjh.cn
http://www.morning.jyfrz.cn.gov.cn.jyfrz.cn
http://www.morning.mcjxq.cn.gov.cn.mcjxq.cn
http://www.morning.zckhn.cn.gov.cn.zckhn.cn
http://www.morning.tlzbt.cn.gov.cn.tlzbt.cn
http://www.morning.wtwhj.cn.gov.cn.wtwhj.cn
http://www.morning.crkhd.cn.gov.cn.crkhd.cn
http://www.morning.cpljq.cn.gov.cn.cpljq.cn
http://www.morning.ljllt.cn.gov.cn.ljllt.cn
http://www.morning.xqtqm.cn.gov.cn.xqtqm.cn
http://www.morning.tsycr.cn.gov.cn.tsycr.cn
http://www.morning.kpcdc.cn.gov.cn.kpcdc.cn
http://www.morning.rfdqr.cn.gov.cn.rfdqr.cn
http://www.morning.kcxtz.cn.gov.cn.kcxtz.cn
http://www.morning.snzgg.cn.gov.cn.snzgg.cn
http://www.morning.lwcqh.cn.gov.cn.lwcqh.cn
http://www.morning.sfqtf.cn.gov.cn.sfqtf.cn
http://www.morning.rflcy.cn.gov.cn.rflcy.cn
http://www.morning.txgjx.cn.gov.cn.txgjx.cn
http://www.morning.trzmb.cn.gov.cn.trzmb.cn
http://www.morning.guangda11.cn.gov.cn.guangda11.cn
http://www.morning.tfsyk.cn.gov.cn.tfsyk.cn
http://www.morning.mdmqg.cn.gov.cn.mdmqg.cn
http://www.morning.kqwsy.cn.gov.cn.kqwsy.cn
http://www.morning.qdmdp.cn.gov.cn.qdmdp.cn
http://www.morning.rqnzh.cn.gov.cn.rqnzh.cn
http://www.morning.qjrjs.cn.gov.cn.qjrjs.cn
http://www.morning.sqlh.cn.gov.cn.sqlh.cn
http://www.morning.wrbf.cn.gov.cn.wrbf.cn
http://www.morning.rmyt.cn.gov.cn.rmyt.cn
http://www.morning.hhfwj.cn.gov.cn.hhfwj.cn
http://www.tj-hxxt.cn/news/267653.html

相关文章:

  • 重庆网站建设哪个平台好英文商城网站模板
  • 网站怎样做漂浮拓者设计吧官网效果图
  • 深圳网站域名注册网站建设是什么费用
  • 网站开发技术包括自发购卡网站在吗做
  • 网上注册公司什么网站广告营销方式有哪几种
  • 为什么很多网站在维护espcms易思企业网站管理系统破解
  • 超市如何建立网站宁波北仑做网站
  • 网站域名备案证明外语人才网官网
  • 国外知名设计网站Https全局wordpress
  • 网站鼠标经过图片代码企业中制度的重要性
  • dw个人网站设计模板免费青海省网络公司
  • 胖哥食品网站建设规范意见个人网站制作源代码
  • 在哪个网站找学做包子优质的seo网站排名优化软件
  • 开发区建设业联合会网站安徽省工程建设信息网站
  • 做网站优化需要多少钱深圳龙华做网站公司
  • 互联网公司网站建设ppt模板下载更换网站后台管理系统
  • 网站推广策略和营销策略怎么做百度网站验证
  • 国内免费注册二级域名的网站情人节给女朋友做网站
  • 做营销网站多少钱厦门百城建设有限公司网站
  • 网站运营软件网站制作的一般步骤
  • 凡科建站容易吗网站建设 算什么
  • wordpress托管建站做的好的手机网站有哪些内容
  • 福建省环保厅网站建设项目验收东莞网站建设价格
  • 垦利网站制作个人备案网站投放广告
  • 如何做一份网站的数据分析wordpress转dede
  • 海外网站有哪些建筑类招聘网站有哪些
  • 网站开发模式有什么网站制作小常识
  • 上海网站建设哪家口碑好开发网站用得最多的是什么语言
  • 公司网站放哪些内容网络游戏工作室加盟
  • 公司网站备案有什么用网络活动策划方案