您当前的位置: 首页 >  unity

Jave.Lin

暂无认证

  • 2浏览

    0关注

    704博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Unity Timeline - 自定义的轨道:添加爆炸交互逻辑轨道

Jave.Lin 发布时间:2020-03-16 20:03:35 ,浏览量:2

使用Unity官方提供的免费资源:Default Playables,在Assets Store里搜索就可以了。

Default Playables工具怎么用,也可以参考之前写的一篇:Unity - Timeline 自定义剪辑,轨道,混合轨道,Inspector属性显示(使用Default Playables辅助工具)

关于Timeline的手册(已翻译),与我个人的练习,可以参考:Unity - Timeline 知识汇总

本次实现的一个效果: 下面的图,出自于我之前写的一篇文章:Unity Shader - 实现武器热扭曲拖尾效果 在这里插入图片描述

Rigibody的爆炸效果

今天想制作某个爆炸效果。 于是想到了Rigibody对象,真的发现里面有分装一个:Rigibody.AddExplosionForce()方法,使用起来真的很方便。

准备Timeline材料 爆炸粒子

Particle System粒子1,爆炸的长火星: 在这里插入图片描述 Particle System粒子2,爆炸短火星: 在这里插入图片描述

Timeline轨道中,使用ActivationTrack来控制粒子的启用。 在这里插入图片描述

创建轨道AddExplosion脚本信息

使用Default Playables带的工具来快速创建轨道信息: 在这里插入图片描述

公开的参数按Rigibody.AddExplosionForce()接口中的参数对应着。

创建好后,在项目中会多出一个文件夹: 在这里插入图片描述

目录可以按自己需要的挪一下。

Timeline中使用轨道

添加上AddExoplosion轨道,添加剪辑,设置剪辑的参数:

在这里插入图片描述

最后调整一下AddExplosionBehaviour脚本为下面的逻辑:

using System;
using UnityEngine;
using UnityEngine.Playables;

[Serializable]
public class AddExplosionBehaviour : PlayableBehaviour
{
    public Transform pos;
    public float force;
    public float radius;
    public float upwardForce;
    public ForceMode fm;
    public string ingoreLayer;
    public string appliedLayer;

    public override void OnBehaviourPlay(Playable playable, FrameData info)
    {
        base.OnBehaviourPlay(playable, info);

        LayerMask mask = 0;

        // LayerMask mask = 1             
关注
打赏
1664331872
查看更多评论
0.0373s