Unity动画之游戏中的加分项

举报
爱上游戏开发 发表于 2022/07/02 22:12:04 2022/07/02
【摘要】 推荐阅读:  我的CSDN 我的博客园 QQ群:704621321 我的个人博客 前言 面板动画一般可以用在游戏的设置面板中,当在游...

推荐阅读:

前言

面板动画一般可以用在游戏的设置面板中,当在游戏中点击某个按钮后,设置面板从某一个地方滑动进入视野,当操作玩家操作完后,再点击按钮从视野滑动出去。
在这里插入图片描述
在这里插入图片描述

实战

以Unity 2017为例
1.先添加一个3D项目,命名为demo,然后在Assets目录添加一个scene目录,将默认的untitled场景保存到该目录下,改名为demo。

2.在Hierarchy窗口右键选择“UI“=>“Panel”,添加一个面板,改名为MainPanel,以同样的方式再添加一个面板命名为SettingPanel。

3.在MainPanel中添加一个Button,命名为BtnToggleSetting,设置Text属性为“设置”。

4.在SettingPanel中添加一个Button,命名为Back,设置Text属性为“返回”。

5.将SettingPanel面板上移到不与MainPanel重叠。

6.新建一个GameObject,命名为_Toggle。
在这里插入图片描述

7.新建一个C#脚本,命名为ui.cs,
添加如下代码:

public Animator animator1;
	public void Set()
	{
		if (animator1.GetBool("IsMove"))
		{
			animator1.SetBool("IsMove", false);
		}
		else
		{
			animator1.SetBool("IsMove", true);
		}
	}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

并设置BtnToggleSetting的OnClick事件为ui.Set。以同样的方式设置Back的OnClick事件为ui.set
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9tfhEmqN-1606784931957)(https://b3logfile.com/file/2020/12/solofetchupload6421007497067695274-7926727e.png)]

8.在编辑器中把ui.cs脚本拖到_Toggle上,然后把SettingPanel拖到ui脚本的Aninator1上。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BBqsh68Y-1606784931958)(https://b3logfile.com/file/2020/12/solofetchupload4879089336911112137-21912153.png)]

9.在Window菜单选择Animation,打开动画窗口,在Hierarchy中选中SettingPanel,然后在动画窗口点击"Create",创建一个向下移动的动画,命名为down。点击Preveiw后面的红色按钮,开始录制。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TAZeIBfL-1606784931959)(https://b3logfile.com/file/2020/12/solofetchupload832634611210197490-7f6496df.png)]

如图所示操作,并在1、4步即0:00的位置与1:00的位置添加关键帧。再点红色按钮结束录制。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4kNrSTFc-1606784931960)(https://b3logfile.com/file/2020/12/solofetchupload1299701081577047138-1d37aa9a.png)]

10.以同样的方法添加一个向上的动画,命名为up。并将down与up的Loop Time属性去掉,不然会不断循环,达不到效果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zHTEMrW9-1606784931961)(https://b3logfile.com/file/2020/12/solofetchupload4219897317010285340-f9d3d93b.png)]

11.在Window菜单中选择Animator Parameter,在打开的窗口中添加一个Bool参数命名为IsMove,复选框为未选中状态,即默认值为false
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Puh3c5XA-1606784931963)(https://b3logfile.com/file/2020/12/solofetchupload6815304969841318723-0615e294.png)]

12.在Window菜单中选择Animator,打开Animator窗口,可以看到如下所示效果。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tXHjTiuQ-1606784931963)(https://b3logfile.com/file/2020/12/solofetchupload2497044890874170640-11b45a34.png)]

右键Create State、Empty添加一个新状态。
在这里插入图片描述

在新状态按钮中右键Set as Layer Default State设置为默认状态。
在这里插入图片描述

再把新状态的下一状态设置为down,down的下一状态设置为up,up的下一状态设置为新状态。
在这里插入图片描述

选中New State,在转换条件中选中New State=>down然后添加条件IsMove为true,并且取消勾选Has Exit Time复选框。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OZjNtmNw-1606784931967)(https://b3logfile.com/file/2020/12/solofetchupload6635171855598027636-35c4b4fe.png)]

同样的操作,把down的转换条件添加IsMove,但设置为false,并且不勾选Has Exit Time复选框。只勾选up的Has Exit Time复选框。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pu3sQJgo-1606784931967)(https://b3logfile.com/file/2020/12/solofetchupload8640906152769914147-f9b32f17.png)]

全部保存,运行即可。

文章来源: unity3d.blog.csdn.net,作者:爱上游戏开发,版权归原作者所有,如需转载,请联系作者。

原文链接:unity3d.blog.csdn.net/article/details/110420780

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200