unity3D做错乱的unity刀光特效教程飞舞怎么做

这几天天天就做刀光都快疯了【unity3d吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:81,049贴子:
这几天天天就做刀光都快疯了收藏
要不就是用TrailRender要不就用Mele什么的插件免费的,感觉都不好看,最初想到用面片做,主城说不好就木采用浪费我还写个帧动画脚本,用trail又感觉不是每个动画刀光都恰到好处,我觉得还是用面片最好了,根据动画触发事件决对可以调的很好,不采用我也没办法谁叫人家是主城呢,我坚持自己的想法就让主城去死磕吧,反正是代码狂人,哈哈
专为满足各类行业和客户要求而设计,并已被证明可满足各个施工标准的要求。
PocketRPG Trails这个不错哦
你爱上主城了
你爱上主城了
这个是插件啊,你们都用吗
求分享,这个
今天看到,今天学,立马会用了,我改成动画控制器方式,更科学了
材质没弄好。。。刚提取的片面,动作没怎弄,自个想象人物挑空怪物2333333
图片来自:只用面片得有非常匹配动作的序列帧才不会僵硬,估计美工要悲剧我只在特殊强力的技能里面用面片加辅助效果,其他就用免费插件= =,改一下它的脚本里的动画帧率,顺便如果刀光拖得很长感觉没有力度
我日 楼上的略叼啊 做的碉堡了
wiki上有个开源的
lz,你的小黄瓜炸了
请使用bettertrails,最好的,别想其他的,就这个。
登录百度帐号推荐应用他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)本系列文章由Aimar_Johnny编写,欢迎转载,转载请标明出处,谢谢。
http://blog.csdn.net/lzhq1982/article/details/
看网上有很多关于刀光的文章,然后也就学着给我们的侠女配上了,这下挥刀更带感了,先上张效果图吧:
截图看着有瑕疵,不过动起来效果还不错。
乍一看有点复杂,其实刀光的算法已经有人做好了,我们只需要站在巨人的肩膀上就可以了。
1、在Asset Store里搜索MeleeWeaponTrail,第一个就是,不知道怎么进Asset Store的我告诉你,Window-&Asset Store,进去后需要注册个账号,里面有很多资源,包括模型,动画和脚本,MeleeWeaponTrail是免费的,放心下吧。
2、它里面有个demo,可以看一下怎么用,脚本其实就两个,不过如果能看懂脚本的话,那我要膜拜一下。反正我是直接用了。我只用了MeleeWeaponTrail.cs这个脚本,然后把它的Example里的Textures里的Swoosh01.mat和Swoosh01.png拷到你的工程下。
3、刀光嘛,我们要先找到刀,我这个模型的刀在这里:
就是上面的headusOBJexprot009,然后我在其下加了两个空对象(GameObject-&Create Empty),分别标记两个点,Base是刀光的起始点,Tip是刀光的结束点。在Scene视图中调好位置,如下图:
4、把Melee Weapon Trail 脚本拖到刀(headusOBJexprot009)上,然后把Swoosh01的材质拖到Material上,把上面的Base和Tip分别拖到Base和Tip上,设置如下图:
5、好了,运行游戏应该能看到效果了,不过你会发现,不论奔跑还是休息,刀光无处不在,这也太假了,挥刀的时候才应该出现嘛。好在MeleeWeaponTrail里有个bool变量是Emit,当你置成false时就没刀光了,置成true就有刀光了,所以你可以在挥刀的时候置成true,其他时候是false,再精致点你就要用动画的时间控制刀光的显示和隐藏,比如只有当刀砍下时有刀光,抬起时没有刀光。
阅读(...) 评论()博客访问: 9017
博文数量: 2
注册时间:
ITPUB论坛APP
ITPUB论坛APP
APP发帖 享双倍积分
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: 移动开发
&我们来看几张图片吧:
&& &可以看到,在这部游戏中,前两部是半即时制RPG,第三部则完全是即时制RPG。整个配乐大气磅礴,一招一式都有不错的打击感,而且武器的特效十分华丽。那么,到这里,就到了我们今天的主题:刀光剑影特效的制作。我们今天选择的PacketRPG插件,这个插件可以帮助我们快速地实现武器拖尾特效。好,下面我们开始:
& & & & &首先我们打开Unity3D、导入PocketRPG Trails。使用这个插件,我们首先要做的是需要和美工交流,以获得模型中武器的确切位置。如果不知道武器的确切位置,建议大家还是使用这个插件自带的模型吧。好,首先我们在项目中找到这个模型:
& & & &下面我们将模型拖到场景中,展开模型,发现下面的结构:
& & & & &我们展开到left_hand_joint这是左手的关节,可以发现它的下面有两个节点,第一个是手指,第二个我们将其改名为Left_Weapon,这就是我们左手武器的位置,我们在它的下面创建一个LeftWeaponTrail,这是用来显示我们特效的组件,我们为其添加WeaponTrail脚本:
& & & & 完成该脚本的添加后,我们为其添加Mesh Renderer,选择特效材质,这里我们选择PocketRPG提供的默认材质:
& & & & 同样地,对于右手,我们采取相同的方法找到节点,为其添加特效组件,这里命名为RightWeaponTrail。接下来,我们将模型结构暂时合并到一起,我们选中真个模型,为其添加AnimationController脚本,这是PocketRPG提供的用于控制模型动画的一个脚本。好了,做好前面的基础后,我们来编写脚本,控制我们的角色:
using&UnityE&&
using&System.C&&
public&class&ChangeAnim&:&MonoBehaviour&{&&
&&&&public&WeaponTrail&mWeapTrailL;&&
&&&&public&WeaponTrail&mWeapTrailR;&&
&&&&private&AnimationState&State_Attack1;&&
&&&&private&AnimationState&State_Attack2;&&
&&&&private&AnimationState&State_Attack3;&&
&&&&private&AnimationState&State_Attack4;&&
&&&&private&AnimationState&State_W&&
&&&&private&AnimationController&mC&&
&&&&void&Start&()&&&
&&&&&&mController=gameObject.GetComponent();&&
&&&&&&&&&&
&&&&&&State_Attack1=animation["Attack1"];&&
&&&&&&State_Attack2=animation["Attack2"];&&
&&&&&&State_Attack3=animation["Whirlwind"];&&
&&&&&&State_Attack4=animation["WhirlwindAttack"];&&
&&&&&&&&&&
&&&&&&State_Wait=animation["Idle"];&&
&&&&&&mController.AddTrail(mWeapTrailL);&&
&&&&&&mController.AddTrail(mWeapTrailR);&&
&&&&&&mWeapTrailL.SetTime&(3.0f,&0,&1);&&
&&&&&&mWeapTrailR.SetTime&(3.0f,&0,&1);&&
&&&&void&OnGUI()&&
&&&&&&if(GUILayout.Button("翔龙斩",GUILayout.Height(30)))&&
&&&&&&&&mController.PlayAnimation(State_Attack1);&&
&&&&&&&&StartCoroutine("ReSetToWait");&&
&&&&&&&&&&
&&&&&&if(GUILayout.Button("裂穹击",GUILayout.Height(30)))&&
&&&&&&&&mController.PlayAnimation(State_Attack2);&&
&&&&&&&&StartCoroutine("ReSetToWait");&&&&
&&&&&&&&&&
&&&&&&if(GUILayout.Button("天罡伏魔",GUILayout.Height(30)))&&
&&&&&&&&mController.PlayAnimation(State_Attack3);&&
&&&&&&&&StartCoroutine("ReSetToWait");&&&&
&&&&&&&&&&
&&&&&&if(GUILayout.Button("乱剑悬月",GUILayout.Height(30)))&&
&&&&&&&&mController.PlayAnimation(State_Attack4);&&
&&&&&&&&StartCoroutine("ReSetToWait");&&&&
&&&&&&&&&&
&&&&IEnumerator&ReSetToWait()&&
&&&&&&&&yield&return&new&WaitForSeconds(0.5F);&&
&&&&&&&&mController.PlayAnimation(State_Wait);&&
& & & &这里需要注意以几点:
& & & &1、使用PacketRPG时,模型动画将不受模型自带的Animation组件的控制,我们需要使用Animation Controller来控制模型动画。具体方法是PlayAnimation(AnimtaionState mState)
& & & &2、在PacketRPG中,通过SetTime()方法来设置武器拖尾的时间,通过StartTrail()和FadeOut()来实现特效的渐入渐出效果。当然,我们可以通过WeaponTrain脚本来设置,具体参数的意义大家可以查阅文档。
& & & &3、该脚本中的两个WeapTrail对象分别指向我们实现定义好的LeftWeaponTrail、RightWeaponTrail。
& & & &好了,我们来看看最终的效果吧:
& & & &技能一:翔龙斩
& & & & &技能二:裂穹击
& & & 技能三:乱剑悬月
更多精彩请到
阅读(1948) | 评论(0) | 转发(0) |
上一篇:没有了
相关热门文章
给主人留下些什么吧!~~
请登录后评论。[Unity3D]Unity3D游戏开发之刀光剑影特效的实现
时间: 14:22:32
&&&& 阅读:219
&&&& 评论:
&&&& 收藏:0
标签:标签:原文地址:http://www.cnblogs.com/mengfanrong/p/4306961.html
&&国之画&&&& &&&&chrome插件&&
版权所有 京ICP备号-2
迷上了代码!

我要回帖

更多关于 unity 刀光制作 的文章

 

随机推荐