游戏编程随想 005 : 利用Cinemachine的Trigger Action切换摄像机
Unity的官方插件Cinemachine中自带一个类,叫做trigger action,利用它可以很方便的实现摄像机转换。
我这里用的是Unity的另一个官方插件,Starter Assets - Third Person Character Controller
这个组件本身也用Cinemachine驱动摄像机,采用的是3rd Person Follow这个body选项

我新建了一个Virtual Camera,选择Framing Transposer,同样Follow上述camera的对象(人物物件下的一个用于定位的空object)

可以在Main Camera下的Cinemachine Brain中新建一个Camera Blends,用来自定义Camera转换的方式,转换时间,曲线。这里偷懒用了cut。

然后在场景里建立Trigger Volume,就是一个空物件下挂一个Box Collider,将其设为Is Trigger,并挂上Cinemachine Trigger Action这个代码。挂上之后需要将Layer Mask和人物的Layer对应(我这里新设了一个Player Layer)。
然后将On Object Enter和 On Object Exit中的Target改为新建的那个Virtual Camera,将Action选为Priority Boost,前者为20,后者为-20(以确保离开Collider后当前camera的优先级被打的够低)。

查看代码可知,这里的Priority Boost就是对相应的camera的priority进行调整:

绿色部分就是高亮的Box Collider,需要设高一点,因为人物会跳跃

另外,为了让Trigger机制运行,必须在角色(或者Trigger 所在的物件)下面挂一个Rigidbody

查代码可知,这个Trigger Action系统实际上用的就是Unity的Trigger系统:

实际效果如下,在第三人称视角下进入Trigger区域,就会切换到另一个Camera:



-
life清晨很美好 赞了这篇日记 2022-10-29 14:59:30
-
Rosy 赞了这篇日记 2021-08-06 18:39:23
-
永久单机玩家 赞了这篇日记 2021-08-04 23:54:13
-
mios 赞了这篇日记 2021-08-04 23:26:08
-
redefine 赞了这篇日记 2021-08-04 21:45:59
-
Oleg the kafir 赞了这篇日记 2021-08-04 20:29:52
-
失眠老登 赞了这篇日记 2021-08-04 20:11:50
-
豆友36610783 赞了这篇日记 2021-08-04 19:59:15
陈灼的最新日记 · · · · · · ( 全部 )
- 契诃夫《在大车上》 ,In The Cart (4人喜欢)
- 2025-2027 重读书单 (18人喜欢)
- 厄休拉·勒古恩在《Steering the Craft》中的推荐阅读 (34人喜欢)
- 2025书单 (12人喜欢)
- 2024年的20本书 (27人喜欢)
热门话题 · · · · · · ( 去话题广场 )
-
加载中...