码迷,mamicode.com
首页 > 系统相关 > 详细

Cinemachine代码修改属性

时间:2020-12-28 11:07:43      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:alt   connect   machine   开发   接口   动态添加   tin   动态   游戏   

Cinemachine是一个十分强大的插件,添加了很多相机相关的功能,可以很方便的设置游戏的相机。

下面是一些链接简单了解一下Cinemachine的使用:

https://connect.unity.com/search?k=%5B%22q%3ACinemachine%E6%99%BA%E8%83%BD%E7%9B%B8%E6%9C%BA%E6%95%99%E7%A8%8B%22%5D

网上相关的帖子也有很多,多用用就了解了。

我在使用Cinemachine时,有时候想要修改它的属性(以CinemachineVirtualCamera的Body中的Transposer为例)

技术图片

 发现CinemachineVirtualCamera类没有直接提供接口供人使用,它是通过方法

GetCinemachineComponent<T>()

来间接提供的。

技术图片

 这样的话就可以获取CinemachineTransposer 对象了(这里截一点给大伙看看里面的属性),从而达到修改Body中的Transposer属性:

技术图片

 

聪明的小伙伴看到这里就已经活学活用了,我既然能获取那也就能添加,利用

AddCinemachineComponent<T>()

没错,比如,我们可以通过这个方法添加动态添加噪点(可以实现屏幕抖动)

如:

public CinemachineVirtualCamera cv;
public NoiseSettings noiseSettings;

void TestNoise()
{
     //屏幕抖动
     CinemachineBasicMultiChannelPerlin noise = cv.AddCinemachineComponent<CinemachineBasicMultiChannelPerlin>();
     noise.m_NoiseProfile = noiseSettings;
    //1s后销毁
     new Task(Utils.Delay(1f)).Finished += (bool b) =>
     {
            cv.DestroyCinemachineComponent<CinemachineBasicMultiChannelPerlin>();
      };
}

Unity工程:

技术图片

这个NoiseSettings可以早Packages里面找到,里面的噪点类型电影机已经给了很多个了,基本能满足日常开发使用

技术图片

 

 

有用的话麻烦给个赞再走吧!

好了,小伙伴们快去试一试吧!

对了,安利一波,Cinemachine插件里的Example Scenes(在Package  Manager里下载)可以查看官方人员怎么使用的。其中有个场景(Free Look character)写了个人物移动的功能,使用起来那是十分舒服,脚本也是十分简短,有兴趣的小伙伴去看看吧!

技术图片

 

Cinemachine代码修改属性

标签:alt   connect   machine   开发   接口   动态添加   tin   动态   游戏   

原文地址:https://www.cnblogs.com/CCLi/p/14169760.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!