unity3d刀光剑影的制作
本系列文章由Aimar_Johnny编写,欢迎转载,转载请标明出处,谢谢。
http://blog.csdn.net/lzhq1982/article/details/12850639
看网上有很多关于刀光的文章,然后也就学着给我们的侠女配上了,这下挥刀更带感了,先上张效果图吧:
截图看着有瑕疵,不过动起来效果还不错。
乍一看有点复杂,其实刀光的算法已经有人做好了,我们只需要站在巨人的肩膀上就可以了。
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,再精致点你就要用动画的时间控制刀光的显示和隐藏,比如只有当刀砍下时有刀光,抬起时没有刀光。