Pocket RPG Weapon Trails 武器拖尾效果
Asset Store地址:https://www.assetstore.unity3d.com/en/#!/content/2458
CSDN资源地址:http://download.csdn.net/detail/akof1314/7610241
截图:


由于这个插件提供的AnimationController.cs仅对Animation动画进行支持,对Animator动画支持的话需要自己实现。文档上说明实现的方式:
  • The WeaponTrail can be built by calling Itterate(float itterateTime) and UpdateTrail(float currentTime, float deltaTime). These functions are called by AnimationController, however if you don't want to use AnimationController you can call these yourself.
即只需要调用ItterateUpdateTrail方法。下面使用另外的角色模型进行测试拖尾效果。

测试角色的模型包:https://www.assetstore.unity3d.com/en/#!/content/15103
CSDN资源地址:http://download.csdn.net/detail/akof1314/7610385
首先,在Animator窗口,创建休闲idle状态和攻击attack状态,设置它们相应的Motion,设置从idle到attack的动画参数为Attack,类型为Trigger,如下图所示:


Speed属性可以控制当前状态动作的速度。接着,创建个脚本TestMyTrail.cs附加到角色上,脚本代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using UnityEngine;
using System.Collections;

public class TestMyTrail : MonoBehaviour {

private Animator animator;

void Start () {
        animator = GetComponent();
    }

void OnGUI()
    {
        if (GUI.Button(new Rect(0, 0, 50, 50), "攻击"))
        {
            animator.SetTrigger("Attack");
        }
    }
}

运行,可以看到默认角色是休闲状态,点击按钮是攻击状态,如下图所示:

查看模型,可以看到武器是绑在右手上的,如下图所示:

给武器(Object003)添加一个子对象,命名为Trail,为其添加WeaponTrail.cs脚本、Mesh Renderer组件,材质为Pocket RPG Trails提供的材质,设置好如下图所示:

修改TestMyTrail.cs代码为如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using UnityEngine;
using System.Collections;

public class TestMyTrail : MonoBehaviour {

public WeaponTrail myTrail;

private Animator animator;
    private float t = 0.033f;
    private float tempT = 0;
    private float animationIncrement = 0.003f;

void Start () 
    {
        animator = GetComponent();
    }

void LateUpdate()
    {
        t = Mathf.Clamp(Time.deltaTime, 0, 0.066f);

if (t > 0)
        {
            while (tempT < t)
            {
                tempT += animationIncrement;

if (myTrail.time > 0)
                {
                    myTrail.Itterate(Time.time - t + tempT);
                }
                else
                {
                    myTrail.ClearTrail();
                }
            }

tempT -= t;

if (myTrail.time > 0)
            {
                myTrail.UpdateTrail(Time.time, t);
            }
        }
    }

void OnGUI()
    {
        if (GUI.Button(new Rect(0, 0, 50, 50), "攻击"))
        {
            animator.SetTrigger("Attack");
        }
    }
}

Trail对象赋给My Trail属性,如下图所示:

现在运行,可以看到休闲状态时,武器拖尾的若隐若现,如下图所示:

攻击时的效果:

要调整好Trail对象的位置、旋转等,尽量贴合武器,设置拖尾的高度,尽量与武器同长度,才能产生较好的效果。当攻击结束,武器往回收的时候,也会有拖尾,如下图所示:

如果要去掉这个时候的拖尾,可以采用更精确的控制拖尾的出现。选中攻击动作,切换到"Animations",播放动作,在攻击开始时刻,添加一个事件,如下图所示:

在攻击完毕,也添加一个事件,如下图所示:
点击"Apply"进行应用。修改TestMyTrail.cs代码为如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void Start () 
    {
        animator = GetComponent();
        // 默认没有拖尾效果
        myTrail.SetTime(0.0f, 0.0f, 1.0f);
    }
    
    public void heroAttack()
    {
        //设置拖尾时长
        myTrail.SetTime(2.0f, 0.0f, 1.0f);
        //开始进行拖尾
        myTrail.StartTrail(0.5f, 0.4f);
    }

public void heroIdle()
    {
        //清除拖尾
        myTrail.ClearTrail();
    }

现在运行,就会发现休闲状态时候,不会有拖尾效果,当进行攻击时,拖尾只在相应的时间点进行出现,如下图所示:

武器回收的时候,也不会有拖尾了,如下图所示:


参考资料:
1.Unity3D 武器拖尾效果(刀光) 使用PocketRPG Trails http://blog.csdn.net/xv_ly15/article/details/8509781
2.Unity3D研究院之挥动武器产生的剑痕特效(四十七) http://www.xuanyusong.com/archives/2110 

---------------------
作者:无幻
原文:https://blog.csdn.net/akof1314/article/details/37603559

Unity 武器拖尾效果相关推荐

  1. Unity 愤怒的小鸟拖尾效果——基于Pocket RPG Weapon Trails插件

    Pocket RPG Weapon Trails 武器拖尾插件 前言 导入插件 给小鸟加入子物体并添加拖尾WeaponTrail脚本 接下来给小鸟加入TestMyTrail脚本控制拖尾的开始和结束时间 ...

  2. Unity3D 武器拖尾效果(刀光) 使用PocketRPG Trails

    PocketRPG的示例下载:http://download.csdn.net/detail/xv_ly15/4999885 ------------------------------------- ...

  3. shader拖尾_插件(一)武器拖尾效果

    工作交接的空余时间,刚好有空,就有兴趣看了看U3D的武器拖尾功能,没想到有插件.下载地址: Pocket+RPG+Weapon+Trails.unitypackage PocketRPG Trails ...

  4. Unity初级案例-愤怒的小鸟:四:11解决重复划线和小鸟轮换速度突然变大的问题+12添加小鸟飞出的拖尾效果+13整合场景和解决无法显示划线弹弓的问题

    目录 一.目的 1.想知道:愤怒的小鸟:如何制作 2.做好学习笔记,方便下次查看 二.参考 1.SIKI学院 三.注意 1.版本 操作:1:11解决重复划线和小鸟轮换速度突然变大的问题 1.GameM ...

  5. Unity Shader - GrabPass 实现武器热扭曲拖尾效果

    文章目录 先来看看效果 实现思路 Unity带的TrailRender组件 编写脚本实现 CSharp Shader 参数 注意性能 还可以优化 总结 Project 以前龙之谷喜欢选战士,帅气. 战 ...

  6. Unity插件篇:Pocket RPG Weapon Trails(武器拖尾特效)部分解读以及基本用法

    我们平时开发游戏,有时会想要实现武器拖影特效,就像这样. 这个双刀流的小老头已经很全面的诠释了什么是武器拖尾.其实Unity自带了拖尾组件 但他有很大的局限性,当目标仅进行移动,转弯的时候,它是可以胜 ...

  7. Unity挥剑拖尾效果

    角色挥剑时让挥剑动作有拖尾效果,如下所示 第一步:找到武器模型的根节点,创建一个空的对象"aaa",挂在武器模型下面,Transform的Position和Rotation根据情况 ...

  8. Cocos Creator 的实现拖尾效果

    在游戏中,有时会需要在某个游戏对象上加上移动后的轨迹若隐若现的效果.使得游戏的效果较好,比如游戏大招,刀光,法术,流星划痕之类. Cocos Creator提供了一种内置的拖尾渐隐效果的实现方法:组件 ...

  9. HTML5 canvas 拖尾效果(或尾巴 或方向标 或留痕。。。)

    [canvas]带拖尾效果的旋转扩散 使用 HTML5 canvas 制作一个圆形的拖尾,以及附加上拖尾的扩散效果 我说说的拖尾,就是拖着一个尾巴,其他简短的名词暂时想不到了.下图效果弄出来,着实费劲 ...

  10. Processing残影拖尾效果实现套路分享

    今天小菜给大家分享下实现残影.拖尾效果的几种实现思路,或者叫固定套路,保准大家认真看完后,以后再也不怕实现残影.拖尾效果了. 本文字数比较多,且部分内容需要阅读代码加以思考,预计阅读10-15分钟.( ...

最新文章

  1. Entity Framework Core 2.0的突破性变更
  2. (转)Eclipse平台技术概述
  3. H.264中IDR帧和I帧区别
  4. c语言递归函数检测回文,递归法判断回文字符串,急用
  5. Ubuntu18.04安装OpenPCDet及配置spconv
  6. 博客园设置访问统计功能-by beanmoon
  7. 剑指offer面试题47. 礼物的最大价值(动态规划)
  8. Gstreamer之重置PTS与DTS流程(二十)
  9. 关于Handler和子线程的记录
  10. 搜狗收录方法之搜狗推送接口实现
  11. P4167 [Violet]樱花
  12. IE浏览器如何实现断点续传
  13. FFmpeg 快速上手:命令行详解、工具、教程、电子书
  14. linux csgo 是英文,linux csgo服务器
  15. prometheus监控zookeeper
  16. 【入门】广电行业DNS、DHCP解决方案详解(三)——DNS部署架构及案例
  17. 普宁市中学高考成绩查询2021,2021年揭阳高中录取分数线是多少及高中排名榜
  18. 人工智能——Search搜索问题
  19. MOOC南京大学操作系统第五次单元测验
  20. python用户登录a_python实现用户登录

热门文章

  1. pyecharts查看版本_pyecharts 安装及使用指南
  2. 计算机组成原理知识点汇总(考研用)——第二章:数据的表示和运算
  3. Linux调试工具:gdb的使用
  4. 一步精准获取京东商品评论数据
  5. JavaFX: Alert 弹窗
  6. 电子银行卡的优势分析
  7. 有关针式打印机和一体机的安装
  8. python 获取 淘宝 app 数据_python-爬取app上数据
  9. 从农民到“互联网+农牧业”老板 谈谈我的站长之路
  10. thinkphp5 自定义分页样式