粉丝13
关注 0
获赞 32
特效福音:再也不怕特效与动作的联调了

[软件插件] 特效福音:再也不怕特效与动作的联调了

[复制链接]
7293 36 5 82 5年前 举报
想必在坐的各路特效大师都遇到过一个痛点:就是特效与动作联调时不方便,不直观!那么这个工具就是来解决此需求的,废话不多说,先列下大致功能点:
  • 方便动作与特效联调。
  • 支持新增无限个动作。
  • 一个动作支持多个子特效。
  • 可自由定义虚拟体。
  • 特效可绑定到自定义的虚拟体上。
  • 特效详细参数调整,包括多种运动形式。
  • 技能范围参可视化参考。


光看功能点可能不是很明白,那么接下来我们直接通过一个示例来演示下效果。  
   0.先放出插件(只收一个券!):   
游客,本付费内容需要支付 1张CG券 才能下载支付


   1.导入AnimationSkillDebugger.package插件包(此包中包含脚本功能和示例文件)。

   2.将Assets\taecgLibrary\Tools\AnimationSkillDebugger\DEMO\Arts\Role.FBX模型文件直接拖入到场景中。

   3.为这个角色添加"AnimationSkillDebugger.cs"组件,至于上面有没有Animation组件,无所谓,不用管它。这时脚本上会有个红色的警告,我们需要为它添加一个数据文件。  
       01.jpg

   4.接下来,我们在工程内任意位置点右键>Creats>New AnimationSkillData,以便创建一个新的动作技能数据文件,并将这个文件拖放到刚才角色身上脚本中的MyData中,这时警告消失。
       02.jpg

   5.我们先忽略虚拟体,直接点击组件上的"ADD ANIMATION",添加我们的第一个动作。
       03.jpg

   6.Default AnimationClip:代表默认动作,当播放完其它动作时会自动转换到此动作进行播放,一般指定为待机。
      Name:动作名称,可自由定义,显示在界面上。
      AnimationClip:动画文件,示例中文件在Assets\taecgLibrary\Tools\AnimationSkillDebugger\DEMO\Arts\Role\animations\Role@hit01和Role@ready中。
       04.jpg

   7.此时我们先运行一下,Game视图中的效果如下。
      在界面的左上角,会出现我们刚才定义的动作,以按钮的形式展现,此时点击这个按钮即可播放相应的动作。
       05.jpg

   8.然后我们回到刚才的脚本组件上,点击“ADD EFFECT”,添加我们的第一个子特效!              示例特效存放位置:Assets\taecgLibrary\Tools\AnimationSkillDebugger\DEMO\Arts\Effect\Prefabs
       06.jpg
      参数说明:
  • Effect:播放此动作时将播放哪个特效文件,支持从Project和Hierarchy中指定,但是如果想保存到数据库,则需要从Project中拖入指定。
  • Virtual Point:虚拟体,此特效生成挂的虚拟体点。
  • Offset:针对虚拟体进行位置偏移,如果没有指定虚拟体(即虚拟体为None),则是以角色的中心点为参考进行偏移。
  • Rotate:针对虚拟体进行的旋转偏移。
  • Is Follow:此特效是否跟随虚拟体进行移动。
  • Delay Time:此特效延迟生成的时间,主要用于对动作时间点。
  • Life Time:此特效的生命时长,单位为秒,时间到了后此特效会被删除(只是删除生成的特效,不用担心原始资源)。
  • Move Type:运动类型。
  • Amount:生成特效的数量。
  • Direction Min和Direction Max:方向最小值和最大值,生成的特效会在这区间进行随机分布。
  • Interval Time:生成多个特效时,它们间的间隔时间。单位为秒。
  • Delete:删除此子特效节点。

   9.此时我们再运行游戏 ,当点击“被击”按钮时会播放动作,同时也会播放我们指定的特效。
     小技巧:是不是感觉角色视角不对,想调整,这里可以直接通过在Game视图中利用右键进行操作,右键拖动=旋转视角,中键拖动=移动视角,滚轮=缩放视角,是不是很方便呀。。。当然,最好的是先将Game视图调整的近一些,然后再运行进行右键操作会更方便!

   10.此时我们发现特效的位置不正确,接下来我们调整这个问题。
       正常情况下,被击特效都是挂在特定的虚拟体上的,如果角色没有相应的虚拟体,你可以通过特效参数中的位置偏移来实现,不过好在我们这个角色是正规的,有相应的虚拟体,那我们来讲解下如何创建虚拟体。

   11.首先确认你的角色下面有没有相应的虚拟体,否则会添加无效!

   12.在我们的脚本组件中,展开最上面的Virtual Point,在Add Point中输入虚拟体的名称(注意不要输错,最好用复制的形式),然后点击Add按钮即可!
       07.jpg

   13.然后在我们子特效参数中的Virtual Point选择刚才新建的v_hit.
      这时再运行,特效位置就正确了!
      小技巧时间又来了:运行后,当点击过一个按扭后,可直接通过按键盘上的G键来重复播放刚才的动作,省云重复点击的麻烦。。。
       08.jpg

   14.现在我们的被击动作已经有了一个被击特效了,但是我们还想再给这个动作加一个飘血数字特效,OK,让我们在脚本组件上的被击区域内再次点击一次ADD EFFECT按钮。
      我们将effect_number这个特效指定到新增的子特效上,并将Offset的Y设置为1。
       09.jpg

   15.完成,通过这个示例把整个工具的流程走了一遍,还有好多功能由于篇幅问题没有讲解到,大家可以去摸索下。


最最后,打个小广告:
此工具是我独自开发完成的,这里放出的是目前的最新版本v1.0.1.
AssetStore地址:
https://www.assetstore.unity3d.com/#!/content/71357
欢迎大家赏脸支持正版,另外对此工具还有什么建议都可以直接回复告诉我,后续会不断的进行完善!








0

打赏一次,10个CG券
全部评论36
您需要登录后才可以回帖 登录 | 立即注册

厉害,给你点赞
4年前
回复

使用道具 举报

感谢楼主分享
4年前
回复

使用道具 举报

感谢分享
4年前
回复

使用道具 举报

先感谢,慢慢研究。
4年前
回复

使用道具 举报

总之感觉楼主很牛逼,这种东西也能做出来
5年前
回复

使用道具 举报

挺好啊!
5年前
回复

使用道具 举报

请教下创建Virtual Point后,如何调整Virtual Point的位置?
5年前
回复

使用道具 举报

5年前
回复

使用道具 举报

特效师的福音啊!感谢
5年前
回复

使用道具 举报