博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity 武器拖尾效果
阅读量:5027 次
发布时间:2019-06-12

本文共 2879 字,大约阅读时间需要 9 分钟。

Pocket RPG Weapon Trails 武器拖尾效果
Asset Store地址:
CSDN资源地址:
截图:

因为这个插件提供的
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.
即仅仅须要调用
Itterate
UpdateTrail方法。

以下使用另外的角色模型进行測试拖尾效果。

測试角色的模型包:
CSDN资源地址:
首先。在
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()
    {
        
if (GUI.Button(
new Rect(
0
0
50
50), 
"攻击"))
        {
            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;
    
private 
float t = 
0.033f;
    
private 
float tempT = 
0;
    
private 
float animationIncrement = 
0.003f;
    
void Start () 
    {
        animator = GetComponent<Animator>();
    }
    
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<Animator>();
        
// 默认没有拖尾效果
        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 

2.Unity3D研究院之挥动武器产生的剑痕特效(四十七) 
 

转载于:https://www.cnblogs.com/jzssuanfa/p/6764467.html

你可能感兴趣的文章
关于解析漏洞
查看>>
十大经典预测算法(六)---集成学习(模型融合算法)
查看>>
用php做一个简单的注册用户功能
查看>>
一款基于css3的3D图片翻页切换特效
查看>>
Feign使用Hystrix无效原因及解决方法
查看>>
Sizeof与Strlen的区别与联系
查看>>
hadoop2.2.0_hbase0.96_zookeeper3.4.5全分布式安装文档下载
查看>>
Flutter 贝塞尔曲线切割
查看>>
golang 的编译安装以及supervisord部署
查看>>
easyui源码翻译1.32--Dialog(对话框窗口)
查看>>
阿里架构师,讲述基于微服务的软件架构模式
查看>>
Eclipse导入maven项目时,Pom.xml文件报错处理方法
查看>>
01、JAVA开发准备
查看>>
asp.net mvc 错误处理 - 自定义报错处理,生成错误日志
查看>>
Linux centos ssh
查看>>
R语言之避免for循环示例
查看>>
[转]jQuery 选择器和dom操作
查看>>
Jenkins+Maven+SVN快速搭建持续集成环境(转)
查看>>
bootstrap 媒体查询
查看>>
杜教筛
查看>>