[Unity]Timeline下的位置偏移

博客介绍了Cinemachine和Track的使用注意点。Cinemachine的CM vcam不要放在Camera节点下,否则会导致运行混乱;K了位移的Track整体位移时,若启用Record Offsets,初始位置无效,需修改该设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Cinemachine的CM vcam不要放在Camera节点下面,Camera会根据CM vcam的代码乱跑,如果CM vcam又作为子节点跟着camera跑,会乱套。

2、K了位移的Track,需要整体位移时,如果启用了Track的Record Offsets,那初始位置无效,所以要改Record Offsets

### 如何在Unity中使用和控制Timeline中的Tracks #### 使用拖放方法编辑轨道内容 时间轴工具提供了一个直观的界面,允许通过简单的“拖放”操作来安排各种类型的媒体内容,如动画、音频片段、事件标记或视频素材。这种交互方式简化了复杂场景的时间线构建过程[^1]。 #### 多轨道管理特性 支持多条平行运行的不同性质的数据流(即多个轨道),每一条都可以独立设置属性,比如启用/禁用状态、音量大小调节等;同时提供了锁定机制防止误操作修改关键部分的内容,还有静音选项方便调试期间快速屏蔽某些声音源的影响。 #### 自定义扩展能力 借助于Playable API框架的支持,开发者可以根据项目需求定制特定用途的新种类轨道类型,甚至关联到游戏逻辑内部更深层次的功能模块上工作。这意味着几乎任何可序列化的资源都能够被纳入进来作为时间线上的一帧画面展示出来,并且可以通过编程手段灵活调整其行为表现形式。 #### 动画与混合权重调整 对于包含角色动作捕捉在内的动态元素而言,在此平台上可以直接手动微调各个关键时刻点的位置参数以及它们之间过渡平滑度的比例系数,确保最终输出效果达到预期的艺术标准[^2]。 ```csharp using UnityEngine; using UnityEngine.Playables; public class CustomTrackController : MonoBehaviour { private PlayableDirector director; void Start() { director = GetComponent<PlayableDirector>(); // 获取指定名称的轨道实例 var track = (AnimationTrack)director.GetGenericBinding("Your Track Name"); // 控制轨道播放速度 ((ScriptPlayable<AnimationClipPlayable>)track.CreateDefaultOutputs()).SetSpeed(2f); // 更改轨道内某个剪辑的持续时间和起始偏移 foreach(var clip in track.GetClips()) { clip.duration = 5f; // 设置新长度 clip.start = Random.Range(0, 3); // 随机化开始位置 } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值