Unity学习笔记(1) Chronos时间控制及应用案例

本文介绍Unity游戏开发中Chronos插件的使用方法,包括不同类型的时钟设置、物体时间流速控制、物体运动控制及动画音乐同步等。通过具体案例展示如何实现游戏中的时间流速变化。

官方的教程足够用了,为了方便,在这里记录一下
https://ludiq.io/chronos/tutorial

导入Chronos组件。
用Chronos控制各个物体的时间,本质上是通过控制物件参照的时钟,再在脚本中用Chronos帮忙做好的时间计算代理代替原来的物理/运动控制。

第一步 设置参照时钟

有三种时钟,一是全局时钟,一是区域时钟,三是本地时钟
全局时钟只需要静态设置看向此类时钟,物件就能受到该时钟影响
区域时钟是需要挂载在一个有触发器碰撞体的物体上,进入碰撞体内部的发生触发事件的物体就会被影响
本地时钟直接挂载在需要影响的物体上

时钟可以设置父时钟,产生链式叠加的时间控制。可以设置是相乘叠加or相加叠加

全局时钟

在场景中放一个TimeKeeper物体,在这个物体上挂在全局时钟才有效。
需要为各个不同的全局时钟起名字Key
在这里插入图片描述
在这里插入图片描述
接下来只需要在需要看向这个时钟的物体上挂载Timeline组件,并设置它看向全局的某个时钟在这里插入图片描述

区域时钟

在一个设定了触发型碰撞体的组件上挂载一个区域时钟
Mode为Instant 一碰撞就立即产生效果
Mode为Point To Edge、Distance From Entry都是渐进产生效果的
前者设置曲线如下图时,基本上表示越靠近碰撞体中心受到效果越大
在这里插入图片描述

本地时钟

自产自销属于是
在这里插入图片描述

第二步 影响物体行动

所有需要受时间控制的物体,都需要挂载一个Timeline组件,可以看向全局的某个时钟,也可以看向本地时钟。自动处理受到区域时钟的影响。

主要是在代码中,物体的物理/运动控制需要参照由自己的TimeLine组件代理计算出来的时间流速。

比如说在Update里的Time.deltaTime,需要改成GetComponent<Timeline>().deltaTime

为了写法方便,官方的做法是将本来的MonoBehaviour简单封装一层,这样其它新建的C#脚本类继承BaseBohaviour,就可以用time简单快速地获取到自己的Timeline组件

using System.Collections;
using System.Collections.Generic;
using UnityEngine
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值