【Unity】实现立体的UI

【Unity】实现立体的UI


最近在考虑这个游戏应该加点什么效果,后来想了想,先把枪械什么的做一做,不过枪械还是蛮难的,需要考虑到诸如射击方式,枪械切换,还有各种的一堆问题,躺在仓库里的各种插件也不是很会用,所以打算先实现一个立体点的UI。

原理

这个原理比较简单,就是用一个相机去把你要看到的渲染成一张贴图,然后把这张图片做成贴图贴在某个模型上。

制作Texture

我们首先创建一个相机,,然后让其仅渲染UI,或者我们创建新的Layer也可以。这里我创建了一个OtherUI的Lyaer,然后仅渲染这个Mask。记得把Listener删掉,这东西会有冲突。
在这里插入图片描述

然后在资源里创建一个RenderTexture,这将是我们相机渲染结果会传到的地方。这里我设置这个Size是1080P的,目的是为了适配我的游戏分辨率。你也可以设置其他的Size。
在这里插入图片描述
然后将这个Texture放到Camera中的目标Textrue。
在这里插入图片描述
我们创建一个Canvas,将其设置为ScreenSpace的渲染模式,然后相机选择刚才的新相机,将distance拉小,这样这个画布就会离相机很近,比较容易观察效果。
我们看刚才的Texture,会发现确实是我们要的感觉。
在这里插入图片描述
我这边有一套游戏的UI,所以就先自行选择创建了。我相信会看这篇文章的会对UI有基础的知识,所以这里主要是做UI的立体设计,而不会对其进行代码的链接。我所做的任何视觉效果都仅仅是因为素材本身,与我关系不大。

我做好了两个UI
在这里插入图片描述
在这里插入图片描述

制作立体UI

我们制作材质,并且将这两种UI贴图放上去,并且将Shader改为UI的Default
在这里插入图片描述

然后创建空物体,添加MeshFilter和MeshRenderer,Filter中的是网格,代表你这个物体的顶点信息,,Renderer代表的是渲染上去的图片。
在这里插入图片描述
现在把这个物体放在一个合适的地方,就有了立体UI的意思了,不过看起来可能没有那么立体,原因还是本身是一个二维的图像,3D效果有,没那么明显。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_52540105/article/details/127961768