大家好,今天又到了人机交互小课堂开课的时间了。今天我们讲的是Untiy中背包系统是如何实现的,好了,现在让咱们正式开讲吧!
首先,打开Untiy创建一个3D的界面,点击New新建一个项目,然后点击Template下拉菜单选择3D,然后点击创建项目即可。

2.打开之后就是如下界面。

3.我们先建一个地板

3.然后调整地板的大小

4.然后我们可以拖进一个任务到上述的地板上(人物可以在Asset Store上下载)

5.添加完人物之后,我们需要在Add Component里添加一个Box collider。

6.在Box collider里点击如图所示的Edit Collider然后调整碰撞位置。


7.然后我们需要再添加一个Rigidbody

8.接下来我们需要更改一下动画因为我们需要在特定的场景中人物有特定的动作

9.接下来调整它的属性如下图,在Element中可以自行更改它的动作。

10.之后我们要创建一个2D的画面,我们Create UI里建一个Canvas并命名为List。
在List界面下,我们需要建一个Panel 当背景以便完成物品的收集。

11.假设他需要收集三个物品,所以设置三个image。

12.之后要设置三个按钮,在最后一个image中添加,做完之后如图所示。

13.之后调整其位置,(可以根据自己的喜好调整)

14.然后在相应位置导入图片,在对应的Image和按钮上添加。然后调整字体大小与位置( 到如图所示的效果

15.做完后将List界面隐藏

16.之后再建一个Canvas。在这里我们需要实现一个键盘控制的介绍。
17.在Canvas下新建一个Panel,附上所做好的图,之后调整透明度即可。

18.接下来我们实现一个当所有物品收集完之后跳出一个NPC对话界面。
19.再新建一个Canvas并命名为NPC之后在这个页面下新建一个Panel和Text。

20.将Text文字设置成自己想要的

21.将Panel调整一下位置

22.之后我们为这些文字调整一下使之凸显出来(如图所示)

23.之后我们再在NPC里建一个Image,并放入图片进去。

24.之后隐藏这个界面,然后开始实现脚本上的功能。
25.首先,我们在assert里建一个文件用来存放脚本,

26.在这文件夹里新建一个脚本命名为KnightController.





27.然后将这个KnightController挂到人物里面去。

28.然后我们可以在里面调节选项

29.接下来我们需要设置5个Cube,并放在相应的位置上,然后给这几个Cube附上图。

30.在Scene界面中放在相应的位置上,然后给这几个Cube附上图

31.设置完之后,在Add Tag领域

32.点开之后我们设置三个层

33.之后我们改变每个Cube的层(在如图圈内更改层)。


35.然后需要实现控制键盘上的按键来控制背包的消失与重现。新建一个脚本并命名为BadSystem。


36.然后我们新建一个空物体,然后将脚本拖到空物体上

37.将之前所做的两个界面拖到上面。

38.然后我们更改一下Canvas和List的属性在Canvas中更改如图所示,List中同理。

39.然后我们更改一下之前的one two three,并将其隐藏,只有当完成任务之后才会显现。
40.再更改下人物大小,使它适应背景就完成了。之后运行看下效果吧。
背包系统就到这里
期待下一期精彩教学的再次见面,bye~。
微信:人机交互HCI https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzU0MDMyODk4Mg==&scene=124#wechat_redirect
哔哩哔哩:程序员保护协会会长 UID 269133282