unity3d ugui怎么用代码绘制纹理

unity3d ugui怎么用代码绘制纹理,第1张

在你所需要的地方建立一个文件夹,并新建一个材质material,你可以用中文为其命名,比如“”文字材质“”。

2

需要更改材质的shader,此种shader将被用于UGUI中,不限于Text,Panel也可应用,有一定代替Sprite的效果。言归正传,更改

shader,如图中所示的那样。这种设置只包含了一种贴图,请将Detail Strength的值调整成1,这样,将完全显示你所赋予的纹理

3

添加一张图片,当你导入一张图片到unity中,默认是Texture形式的,Texture是指的该图片的shader。所以你什么都不需要做,直接添加图片到之前我们所建立的文字材质中去。

4

新建一个Canvas并添加一个子UI,也就是一个Text。

5

我们更改一些Text中的属性,以便我们只做与观察。并在Text的Material中将我们的文字材质添加过去。

是很重要的一个步骤,添加一个名叫 position as UV1

。在官方的解释中这个组件是用于Text的显示的,也就是说,你只能这样用,由于他没有任何参数,也没有过多的说明,所以不能解释。如果你不添加这个组

件,将不能够正确显示,如果你添加了组件,之后有删除了,你的显示效果可能依然存在,这点我无法解释,总之,只要添加就好。

你会看到一下文字。当你的图片过小的时候,请更改你的材质一栏的属性,Detail下的Tiling和offset找寻合适的值。对于一个文字材质,你无法真正找到正确的拉伸,但是你可以对此处进行手动微调,特别是你的图片在看起来不是那种连续的图片的时候。

我们试着写一个繁体字,让他看起来很方,方便我们调节材质的相关系数。

们尝试谢谢其他字,并对text面板进行手动的拉动,看看有何种效果。我们会发现材质随着我们的拖动发生了变化,所以请在使用时候注意到这一点。但是请注

意这一点,某种意义上并不会影响你的使用,因为你可以勾选Text组件下的红框体中的选项,使文字不受到框体的约束做出如换行等动作。

如上面的“”啊喽哈“”几个字,我们可以为Text添加Outline组件,使得发生描边效果。

我们再回到“”啊喽哈“”几个字,我们可以为其添加除了秒黑边外的阴影属性,我们可以将他的的Color变得白一些,你会看到变化。

这时候你删除或者取消掉之前的outline属性,只保留shadow,你将会看到3D立体感的“”啊喽哈“”。之后在Text再次添加Shadow组件,也就是说Text这时候有两个shadow,我们添加不同的组件,可以达到多种效果,也就是我们如果愿意的话

在之前我们创建的名为“”文字材质“”的材质球中,如果我们移除材质的贴图,我们适当更改其他部分的颜色,我们将看到红白配的字,是不是很丑,但这点很实际,只不过他们不般配而已。

我们搭配合理一些可以出现还能凑合一看的效果,只是字体稍显难看。

当我们下载合适的字体,譬如一些魔法文字,并赋予一些材质之后,我们之前的一些设置,就有了用武之地。但是有些时候我们期望得到一个窄窄高高的魔法字的时候,我们只需调节Text组件的RectTransform中关于缩放的数值。

我们再次使用其他字体做做实验,比如“”开始游戏“”,一款感觉有战地情节的有些是什么样子呢。当然了,我们也可以更酷一点吧,字体是大头,兴许你的一次改动整个风格就全变了。

在Unity中,我们可以这样理解:Material(材质)包含Map(贴图),Map包含Texture(纹理)。

首先在工程中创建一个Terrain(地形)和一个Cube(立方体),然后我们基于这两个物体来深入学习什么是纹理、贴图和材质。

下面我们添加一个地形纹理和一个LOL泳池派对纹理。(其实就是图片)

我们来学习一下纹理的Inspector视图中都有什么属性功能,以“泳池派对”为例。

效果如下:

详情如下:

Texture:纹理

Normal map:法线贴图

(游戏场景中譬如雕刻这种3D细节,如果做3D模型的话,就会浪费显示芯片,使游戏性能下降,便会用法线贴图,既不影响玩家体验游戏又不影响游戏性能)

Editor GUI and Legacy GUI:编辑器的GUI和传统的GUI

Sprite(2D and UI):图片精灵

Cursor:设为光标

Cubemap:立方体贴图

Cookie:聚光灯贴图

Lightmap:光照贴图

Advanced:高级选项(当你想要有纹理的具体参数并想拥有纹理的完全控制的时候选择该项)

UV坐标:水平方向是U,竖直方向是V。因为图片(纹理)是一个二维的平面,所以只需要UV坐标便可以确定图片的位置。(当然也有三维贴图,要用到UVW坐标,暂时还接触不到。)

贴图:一种就是就是把纹理通过UV坐标映射到3D物体的表面,另一种就是把纹理加入一些功能,这两种都是贴图。贴图具有 UV 坐标属性或者一些功能,而纹理没有。

我们把Terrain加上纹理,此时这个名为“地形”的纹理就成为了Terrain的贴图。

Shader负责将输入的Mesh(网格)以指定的方式和输入的贴图或者颜色等组合作用,然后输出。绘图单元可以依据这个输出来将图像绘制到屏幕上。

将输入的贴图或者颜色,加上对应的Shader,以及对Shader的特定的参数设置,将这些打包在一起就是一个材质了。之后,我们便可以将材质赋予合适的renderer(渲染器)来进行渲染。

点击Create,添加一个材质和一个物理材质。

选色:

上色:

Dynamic Friction:动摩擦系数

Static Firction:静摩擦系数

Bounciness:d性系数

Friction Combine:联动摩擦

Bounce Combine:联动反d

Average:取平均值。

Minimum:取最低值。

Multiply:取相乘值。

Maximum:取最大值。

先将贴图导入到unity,最好放到名为Textures的文件夹中,之后再导入模型

也可以两者一起导入,会自动匹配贴图,但只是匹配diffuse贴图,其他的如法线等等都要手动添加到材质里


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11938244.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存