Pocket RPG Weapon Trails 武器拖尾效果
截图:




因为这个插件提供的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<Animator>();

    }



    void OnGUI()

    {

        , , , ), "攻击"))

        {

            animator.SetTrigger("Attack");

        }

    }

}
执行,能够看到默认角色是休闲状态,点击button是攻击状态。例如以下图所看到的:



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


给武器(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;

    .033f;

    ;

    .003f;



    void Start () 

    {

        animator = GetComponent<Animator>();

    }



    void LateUpdate()

    {

        t = Mathf.Clamp(Time.deltaTime, , .066f);



        )

        {

            while (tempT < t)

            {

                tempT += animationIncrement;



                )

                {

                    myTrail.Itterate(Time.time - t + tempT);

                }

                else

                {

                    myTrail.ClearTrail();

                }

            }



            tempT -= t;



            )

            {

                myTrail.UpdateTrail(Time.time, t);

            }

        }

    }



    void OnGUI()

    {

        , , , ), "攻击"))

        {

            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<Animator>();

        // 默认没有拖尾效果

        myTrail.SetTime(.0f, .0f, .0f);

    }

    

    public void heroAttack()

    {

        //设置拖尾时长

        myTrail.SetTime(.0f, .0f, .0f);

        //開始进行拖尾

        myTrail.StartTrail(.5f, .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 

Unity 武器拖尾效果的更多相关文章

  1. [Unity3d]向量的过度方法以及拖尾效果

    Vector3.RotateTowards() 用法 public static function RotateTowards(current: Vector3, target: Vector3, m ...

  2. [Cocos2d-x For WP8]MotionStreak拖尾效果

    拖尾效果是指在在游戏中,一个精灵在运动的过程中会留下一个短暂的轨迹效果,在游戏里面如打斗的特效往往会需要用到这种效果来给运动的增加绚丽的效果.那么在Cocos2D-x里面我们可以使用一种内置的拖动渐隐 ...

  3. cocos2d-x 2.0 拖尾效果分析

    转自:http://game.dapps.net/gamedev/game-engine/7281.html 在Cocos2d-x中,拖尾效果有一个专门的类CCMotionStreak来实现.下面我们 ...

  4. 【转】Cocos2d-x 2.0 拖尾效果深入分析

    Cocos2d-x 2.0 拖尾效果深入分析 另:本章所用Cocos2d-x版本为: cocos2d-2.0-x-2.0.2@ Aug 30 2012 http://cn.cocos2d-x.org/ ...

  5. cocos2dx 以子弹飞行为例解说拖尾效果类CCMotionStreak

    在游戏开发中,有时会须要在某个游戏对象上的运动轨迹上实现渐隐效果.比方子弹的运动轨迹,假设不借助引擎的帮助,这样的效果则须要通过大量的图片来实现.而Cocos2D-x的拖动渐隐效果类CCMotionS ...

  6. 浅谈canvas中的拖尾效果

    引言 很早就想了解以下 canvas 中的拖尾效果(如彗星,烟花等效果)是怎么实现的,但是一直没有深入了解,正巧在 codepen 上看到一个 demo,代码简单,效果炫酷,故有此文. 什么黑科技 在 ...

  7. Cocos Creator 的实现拖尾效果

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

  8. Unity3D-飞机拖尾效果

    1.插件准备 unity3d官网,Assert Store搜索Cartoon_airplane 插件 2.拖尾效果实现 飞机显示 拖尾组件设计 在airplane_02下 右键 Effects-Tra ...

  9. 如何用纯 CSS 创作一个慧星拖尾效果的 loader 动画

    效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/YLRLaM 可交互视频教 ...

随机推荐

  1. 【Java编码准则】の #13使用散列函数保存password

    明文保存password的程序在非常多方面easy造成password的泄漏.尽管用户输入的password一般时明文形式.可是应用程序必须保证password不是以明文形式存储的. 限制passwo ...

  2. elasticsearch 安装和部署

    jdk要用1.8以上(elasticsearch版本是1.7.3) 下载elasticsearch的tar包,解压开,更改其名称  mv elasticsearch-5.x.x elasticsear ...

  3. 用MyEclipse2016 CI版创建一个SpringBoot程序

    之前先要在Eclipse里安装STS,步骤如下: 1.点击菜单Help->Install from Catalog 2.在弹出的对话框中点击Popular选项卡,在STS旁边点Install按钮 ...

  4. Win7 Visual Studio 2008如何注册

    默认是90天试用   在控制面板中卸载程序,然后找到VS2008,点击卸载/更改   到这一步就不要动了   去下载并运行CrackVS2008ForWindows7,然后点击右上角的Bug微软,弹出 ...

  5. Mac OSX下编译安装PostgreSQL

    原先使用的是官方提供的安装包,可是安装包会创建postgre这个用户.在登陆界面看的有点不爽,搜索了半天居然没有找到怎样在osx下编译安装的教程,并且假设是依照官方文档的编译安装办法一定会让你崩溃,本 ...

  6. synchronized的功能拓展:重入锁(读书笔记)

     重入锁可以完全代替synchronized关键字.在JDK5.0的早期版本中,重入锁的性能远远好于synchronized,但是从JDK6.0开始.JDK在synchronized上做了大量的优化. ...

  7. ionic准备之angular基础——$watch,$apply,$timeout方法(5)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. python ——单下划线(约定)

    命名规则: 通常使用小写单词,必要时用下划线分隔增加可读性. 使用一个前导下划线仅用于不打算作为类的公共接口的内部方法和实例变量. Python不强制要求这样; 它取决于程序员是否遵守这个约定. 使用 ...

  9. 机房收费系统合作版(二)——初识Git

    研究了一天半的Git.查阅了不少资料,这里将Git的运用分为两条线做个简单梳理:本地控制库.远程控制库. **************************************本地控制库**** ...

  10. 自制的React同构脚手架

    代码地址如下:http://www.demodashi.com/demo/12575.html Web前端世界日新月异变化太快,为了让自己跟上节奏不掉队,总结出了自己的一套React脚手架,方便日后新 ...