近期热门
粉丝2581
关注 3
获赞 10403
Unity3D 武器拖尾效果(刀光) 使用PocketRPG Trails(转)

[U3D] Unity3D 武器拖尾效果(刀光) 使用PocketRPG Trails(转)

[复制链接]
7797 15 0 9 10年前 举报
本帖最后由 Noahsyt 于 2013-9-19 11:22 编辑



PocketRPG Trails的例子演示效果

0.jpg

左刀挥动

1.jpg

双刀效果



---------------------------------------------------------------------------------------------------------------------------------------------------------------------

说明:PocketRPG的例子中已经有实现拖尾效果的脚本及说明文档,我只是将自己实际使用时遇到的问题与使用步骤更详细的写下来。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

核心脚本:


WeaponTrail:

2.jpg

实现拖尾效果的脚本。

参数:

Height:拖尾效果的高度,对应武器的长度

Time:拖尾效果残留事件

Always Up:

Min Distance:

Time Transition Speed:

Desired Time:

Start Color:开始颜色

End Color:结束时颜色


使用(PocketRPG文档的ReadMe中有提及)


1.Calling StartTrail(float timeToTweenTo, floatfadeInTime) andFadeOut(float fadeTime)will fade in and fade out the trail respectively.

调用StartTrail和FadeOut函数去实现渐显示和渐消失的效果。时间参数以1秒为一个单位。

2.Calling SetTime(float trailTime, floattimeToTweenTo, float tweenSpeed)can change the length of the trailinstantly, giving you a little more control.

调用SetTime函数去改变拖尾长度

3.The WeaponTrail can be built by callingItterate(float itterateTime) andUpdateTrail(floatcurrentTime, float deltaTime). These functions are called byAnimationController, however if you don't want to use AnimationController youcan call these yourself.

调用Itterate和Update函数去更新拖尾效果,目前还不明白这两个函数的参数怎样添好,幸运的是,PocketRpg的开发者做了AnimationController脚本去代替我们调用这两个函数使拖尾效果更好。



AnimationController:

3.jpg

控制动作,使拖尾效果更好

参数:

Gather Delta Time Automatic:


使用

1.调用AddTrail函数去添加受影响的WeapontTrail对象。

2.调用PlayAnimation函数去切换动作。



------------------------------------------------------------------------------------------------------------------------------------------------------------

应用:

模型:天堂的剑士(网上下载的)

动作:攻击和休息


导入模型包后,能在Unity编辑器下看到Player和Texture两个文件夹。

4.jpg


在player目录下能看到各个动作包。

用Attack和Rest做武器拖尾效果演示。

将Attack拖到场景中

5.jpg

添加AnimationController脚本

添加AnimationController脚本,对象已带有Attack动作,再通过Rest对象添加Rest动作。

6.jpg

添加WeaponTrail脚本

找到需要添加拖尾效果的GameObject,添加Trail对象用于实现拖尾效果

7.jpg

Trail添加必须的Mesh Filter,Mesh Render,拖尾材质还是使用PocketRPG自带的刀光材质。

8.jpg

使AnimationController和WeaponTrail生效

新建一个脚本,假设命名为ChangeAnim用于改变动作并控制拖尾效果。与AnimationController同一等级赋到GameObject上。在上面添加AnimationContoller的图片中能看到。


在ChangeAnim下生命如下四个成员变量

    //带有WeaponTrail的对象
    public WeaponTrail trail;
    //攻击动作
    private AnimationState animAtk;
    //休息动作
    private AnimationState animRest;
    //动作控制脚本
    private AnimationController animCtl;


声明后将Trail对象拖到该脚本使用的Trail中,同样在上面添加AnimationController的图片中能看到。

在Start函数中添加如下代码

        //获取动作控制脚本
        animCtl = gameObject.GetComponent<AnimationController>();


        //获得攻击和休息动作
        animAtk = animation["attack"];
        animRest = animation["rest"];


        //添加受动作控制脚本的拖尾对象
        animCtl.AddTrail(trail);


在Update函数添加如下代码,响应A,B按钮控制动作

        if (Input.GetKeyDown(KeyCode.A))
        {
            //播放攻击动画并打开拖尾效果
            animCtl.PlayAnimation(animAtk);
            trail.StartTrail(0.5f, 0.4f);
            
        }
        else if (Input.GetKeyDown(KeyCode.B))
        {

   //播放休息动画
            animCtl.PlayAnimation(animRest);

            //渐消失
            trail.FadeOut(0.5f);   
        }


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

效果

9.jpg




0
点赞
0
打赏
9
添加到收藏夹

0

点击复制链接

使用微信扫码分享
一次扣10个券
全部评论15
您需要登录后才可以回帖 登录 | 立即注册

vcvcV地方地方
8年前
回复

使用道具 举报

俄文呜呜呜
8年前
回复

使用道具 举报

描述的很详细
8年前
回复

使用道具 举报

这个不错
8年前
回复

使用道具 举报

还是U3D高端啊
8年前
回复

使用道具 举报

不错
8年前
回复

使用道具 举报

123
9年前
回复

使用道具 举报

楼主好淫呢!
9年前
回复

使用道具 举报

{:7_267:}

9年前
回复

使用道具 举报

数据加载中....
没有更多评论了