目录
一、外部资产简介
在第六集中,我们加入过外部颜色资源。
Unity | Shader基础知识(第六集:语法<如何加入外部颜色资源>)-CSDN博客
在第七集中,我们加入过外部图片资源。
Unity | Shader基础知识(第七集:案例<让图片和外部颜色叠加显示>)_unity颜色叠加-CSDN博客
以上两部分主要应用了一下外部资源,今天把常见的合起来总结一下。另外讲一下图片中的Tiling和Offset是什么意思。
二、常用的外部资产单词
图1 外部资产
cs
Properties
{
//颜色
_Color ("颜色", Color) = (1,1,1,1)
//图片
_Tex("2D图片",2D) = "white"{}
_Tex3("3D图片",3D) = "white"{}
_Cube("Cube图片",CUBE)=""{}
//数字
_Float("Float数字",Float) = 0.5
_Int("Int数字",Int) = 1
_Range("范围",Range(0,100))=1
_Vector("坐标",Vector)=(1,1,1,1)
}
三、常用的外部资产单词和引入内部
以上是我们设置了一些初始值,但是这些并没有放到我们shader里面开始应用。
shader对很多格式都不支持的,所以我们仔细观察,它只有两个大类,一个是数字,一个是图片,所以在放进shader里面的时候,我们要重新初始化一遍。
cs
Shader "Custom/NewSurfaceShader"
{
Properties
{
//颜色
_Color ("颜色", Color) = (1,1,1,1)
//图片
_Tex("2D图片",2D) = "white"{}
_Tex3("3D图片",3D) = "white"{}
_Cube("Cube图片",CUBE)=""{}
//数字
_Float("Float数字",Float) = 0.5
_Int("Int数字",Int) = 1
_Range("范围",Range(0,100))=1
_Vector("坐标",Vector)=(1,1,1,1)
}
SubShader
{
//这里是CG语言
CGPROGRAM
//****************************
//这里就是把格式重写一遍,注意看,名称和上面是一样的
//四个数字代表颜色
fixed4 _Color;
//普通图片
sampler2D _Tex;
//3D图片
sampler3D _Tex3;
//Cube图片
samplerCUBE _Cube;
//一个数字
float _Float;
int _Int;
//这里是不需要很大的小数
half _Range;
float4 _Vector;
//********************************
ENDCG
}
}
四、图片资产外部调整的具体讲解
放图片大家一般都是会的,这里主要讲解一下Tiling和Offset(如图2所示)
图2 2D图片外部资产
1.Tiling,中文:铺地砖
其实这个翻译已经很贴切了,下面具体讲一下。
假如我们有一面墙,我们想在上面贴一个图,我们可以选择贴一张花纹(如图3所示),也可以选择贴一堆花纹(如图4所示)。
up不会P图,(如图2所示)这张图意思就是,还是这面墙,但我只铺一张大大的瓷砖。
图2 贴一张(蓝色) 图3 贴一堆
这时候可能有人问:
用一张瓷砖贴不满怎么办?那就继续放大瓷砖,直到能贴满,然后把多出来的地方裁掉。
所以,我们只限定瓷砖的数量,不限定瓷砖的大小,就是Tiling。
x得意思是,横着能贴个瓷砖。y得意思是竖着能贴几张瓷砖。
2.Offset,中文:偏移
例如,我们只贴一张瓷砖,正常来说肯定是贴在中间的(如图4所示),但是我不希望它在中间(如图4所示),怎么办?就调整offset的大小来移动位置。
图4 不在中间的一张瓷砖
五、作者的话
关于更新:
这部分内容目前是计划持续更新,尽可能保持之前的节奏,一周一更。
前段时间工作非常忙,加上过年,就断了。
关于提问:
因为每个人的问题都不太一样,有时候无法根据现象判断出到底哪里出问题了。所以如果我能猜出来就给大家回,猜不出来,我也会回复我猜不出来。
如果大家提问知识点相关的问题,比如哪里没看懂,哪里讲的不清楚,我会修改文章重新在文章里加这部分内容,也会新写文章专门来进行讲解。
最后,大家新年快乐,希望新的一年大家平平安安,事事顺利,心想事成。