全国统一24小时服务热线:400-0000-889400-0000-889  / 13999887799

程序员

当前位置:主页 > 程序员 >

Unity3D之挥动武器产生的剑痕特效

发布时间:2019-01-26 10:23 作者:AG集&# 来源:AG集团 点击: 字号:




目前已知3种方法可以做这种凯发剑痕特效

1.跟随特效

2.程序实现动态面来处理剑痕动画。

3.美术实现剑痕动画,直接坐在模型动画里面 (因为我不会美术所以这个忽略 嘿嘿)

 

所谓剑痕特效就是跟随武器挥剑轨迹。那么我们需要在模型上找到武器挥剑轨迹的根节点。如下图所示,首先找到武器模型的根节点。如果你找不到就问问给你模型的美工,他肯定知道unity3d博客。

然后在创建一个空的对象”a”(随便起一个就行),挂在武器模型的下面。Transform的 Position 和 Rotation 都改成 0 0 0  Scale 都改成 1 1 1 。


1.跟随特效

Unity自带了一个叫Trail Render的组件,就是跟随特效、它可以跟随无题移动产生拖尾的效果。然后使用Component ->Effects->Trail Render把拖尾组件添加至刚刚创建的空模型中。Time是一次跟随的时间,Start Width 和 End Width可以调节拖尾的宽度。

直接运行,怎么样?剑痕特效出来了吧?不过这样做的效果有点局限,因为武器在挥动的时候自身是会旋转的,然而这个粒子效果不会应用武器旋转的角度。它只是根据武器上的一个点始终保持跟随而已。我们需要的是不仅跟随还有和原模型保持同一个角度,所以我放弃了这种方式来制作剑痕。

2。通过程序来动态生成面来实现剑痕特效

后来我发现在Unity AssetStort中有剑痕的免费例子,直接搜索Pocket RPG Weapon Trails 即可看到,下面我就来说说怎么把这个例子的剑痕特效快速加到你的工程中,把组件”a“重新改一下。unity3d官网


然后把AnimationController 绑定在需要播放剑痕特效的模型上,在写一条测试脚本Test.cs。

 
Test.cs

using UnityEngine;
using System.Collections;

public class Test : MonoBehaviour
{

 public WeaponTrail a;
 protected AnimationController animationController;

 void Start ()
 {
  animationController = GetComponent<AnimationController> ();
  animationController.AddTrail (a);
                //设置拖尾时间
  a.StartTrail(0.5f, 0.4f);
                //设置播放时间
  a.SetTime (0.5f, 0.2f, 0.2f);
     animation.Play();
 }
}

 另外,记得一定要修改动态网格的坐标,在本例就是对象 “a”。修改的时候你可以按帧来播放游戏(快捷键Command + shift + p ),直到向下面这样,剑痕网面的角度始终跟对武器。不同的模型可能角度会有点不同,这里需要调一调。

 

还有Unity4增加了新的动画系统,此时你在把老的模型动画托放在工程中会发现已经不是Animation组件了, 而是Animator 。用以前的方法是播放不了动画的,除非手动修改一下模型的类型为 Rig -> Legacy 、但是如果你的模型和动画非常的多,程序绝对不能手动的一个一个来修改。所以我写了下面这个简单的脚本,当模型拖入Project视图时自动修改类型。把下面脚本放在Project视图 Editor文件夹下,没有的话创建一个即可。

using UnityEditor;

public class EditA : AssetPostprocessor
{
    public void OnPreprocessModel()
    {
        ModelImporter modelImporter = (ModelImporter) assetImporter;                   
       //这里是模型的缩放比例,默认为0.01 这里我改成了1
        modelImporter.globalScale = 1f;         
                //这里修改模型类型
  modelImporter.animationType = ModelImporterAnimationType.Legacy;
    }  
}

 

http://www.bkjia.com/Androidjc/778803.htmlwww.bkjia.comtruehttp://www.bkjia.com/Androidjc/778803.htmlTechArticle目前已知3种方法可以做这种剑痕特效 1.跟随特效 2.程序实现动态面来处理剑痕动画。 3.美术实现剑痕动画,直接坐在模型动画里面 (因为...

本文源自: 凯发国际

相关文章Related Articles

如果您觉得本站还不错,就请分享给身边的好友吧


分享成功还有机会获得精美礼品哦