Unity3D之挥动武器产生的剑痕特效
网维教程网 观看很多其它教程
眼下已知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 就可以看到,以下我就来说说怎么把这个样例的剑痕特效高速加到你的project中,把组件”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添加了新的动画系统,此时你在把老的模型动画托放在project中会发现已经不是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;
}
}
Unity3D之挥动武器产生的剑痕特效的更多相关文章
- Unity3D——加入剑痕效果(PocketRPG Trail插件)
首先非常感谢大家的支持,因为近期项目吃紧,所以更新的速度可能会有点慢!希望大家谅解,当然大家的支持是我最大的动力.我也会尽我所能写出更好的文章,当然因为本人是个新手并且工作的内容也不是unity3D. ...
- unity3d中切换武器
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 3 ...
- Unity3D之MeleeWeaponTrail武器轨迹插件的使用
MeleeWeaponTrail是Unity Asset Store中的一个免费插件.主要是用于显示武器的轨迹. 首先,找到武器绑定的骨骼.并在骨骼以下加入轨迹显示的起点和终点. 接着,给该骨骼加入M ...
- Unity3D学习笔记——组件之Effects(效果/特效)——Particle System(粒子系统)
Effects:效果/特效. Particle System:粒子系统.可用于创建烟雾.气流.火焰.涟漪等效果. 在Unity3D 3.5版本之后退出了新的shuriken粒子系统: 添加组件之后 ...
- Unity3d组件实现令人惊叹的像素粒子特效!
我们先看看两个特效,感受一下,有没有学习的动力? =========================================================================== ...
- Unity 武器拖尾效果
Pocket RPG Weapon Trails 武器拖尾效果 Asset Store地址:https://www.assetstore.unity3d.com/en/#!/content/2458 ...
- Unity3D角色攻击范围判定和攻击判定
原地址:http://www.unity蛮牛.com/blog-1801-479.html 第一种方法:运用点乘 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 ...
- [Unity3D]Unity3D圣骑士当游戏开发商遭遇Mecanim动画系统
大家好.我是秦培.欢迎关注我的博客.我的博客地址blog.csdn.net/qinyuanpei. 博主总算赶在这个月底写出了这篇文章.这个月由于期末考试一直没时间研究太多关于技术方面 ...
- Unity3D屠龙战机项目总结
之前跟着老师后面边学边做了一个屠龙战机项目,在这个项目中,主要用到的技术,在这里总结一下(本次项目的脚本语言用的是JS): 1. 如果想在场景中导入一个声音文件,则需要在脚本中添加一个变量,如在脚本 ...
随机推荐
- Swift中使用typealias定义一个闭包closure
在OC中我们定义一个Blocks是这样定义的: typedef void (^ZWProgressHUDCompletionBlock)(); 在Swift中定义一个闭包是这种: typealias ...
- alv行可编辑时带出描述
ALV显示可以编辑的状态下可以带出描述信息等,比如维护表程序输入公司代码时需要带出公司代码的描述,这时就需要通过下面事件来触发 定义一个类: CLASS lcl_event_receiver DEFI ...
- 如何获取本地html文件的标题
本文用于提取本地网页的标签元素如<TITLE></TITLE>,<IMG>,<A></A>...的内容,非常实用于批量文件的操作,这是按一般 ...
- AS3开发必须掌握的内容
1.事件机制 2.显示列表 3.垃圾回收 4.常用方法 5.网络通信 6.位图动画 7.渲染机制 8.API结构 9.沙箱机制 10.资源管理 11.内存管理 12.性能优化 13.资源选择 14.安 ...
- FFT算法的物理意义
FFT是离散傅立叶变换的高速算法,能够将一个信号变换到频域.有些信号在时域上是非常难看出什么特征的,可是如果变换到频域之后,就非常easy看出特征了.这就是非常多信号分析採用FFT变换的原因.另外,F ...
- Swift - 自定义函数规则说明
1,无返回值的函数 1 2 3 func test(name:String){ } 2,返回一个返回值 1 2 3 func test(name:String) -> Bool{ r ...
- Delphi 数据类型列表 good
Delphi 数据类型列表 分类 范围 字节 备注 简单类型 序数 整数 Integer -2147483648 .. 2147483647 4 有符号32位 Cardinal 0 .. 429496 ...
- 与众不同 windows phone (27) - Feature(特性)之搜索的可扩展性, 程序的生命周期和页面的生命周期, 页面导航, 系统状态栏
原文:与众不同 windows phone (27) - Feature(特性)之搜索的可扩展性, 程序的生命周期和页面的生命周期, 页面导航, 系统状态栏 [索引页][源码下载] 与众不同 wind ...
- NetBSD是个开源到源码的系统
How to get NetBSD NetBSD is an Open Source operating system, and as such it is freely available for ...
- 《转》VC++多线程编程
原地址:http://www.cnblogs.com/wxfasdic/archive/2010/09/23/1833522.html 留个纪念,不错的总结.十个例子清晰列举啦多线程编程的奥妙. V ...