unity3d 材质_unity3d材质不透明 - CSDN
  • 涵盖了地表、墙面、大自然、天空、运动、水、建筑、有机体、瓦片、瓷砖、石头、砖头、科幻、纸、织物、路面、金属、食品等,可以傻瓜式按照。 里面附有图片和说明,此文件版本较早
  • Unity 玻璃材质 各种玻璃材质,操作很简单,导入场景以后直接把材质球附到物体上即可,非常好用,童叟无欺.
  • u3d基于高度渐变色材质 unity3d版本5.6.2 可以在高度上线性混合六种颜色 也可以改造成贴图,方面缩放高度偏移等等
  • Unity3D基础3:贴图与材质

    万次阅读 多人点赞 2019-02-02 17:38:00
    前文:https://blog.csdn.net/Jaihk662/article/details/86746464(Unity3D基础模型) 一、贴图与材质材质(Material):物体的质地,物体看起来是什么做的 贴图(Texture):普通的材质图片  + =  贴图 + ...

     

    前文:https://blog.csdn.net/Jaihk662/article/details/86746464(Unity3D基础模型)

    一、贴图与材质球

    材质(Material):物体的质地,物体看起来是什么做的

    贴图(Texture):普通的材质图片

      +      =   

    贴图 + 着色器(Shader) = 材质球

    所谓着色器(Shader)实际上就是一小段程序,它负责将输入的网格(Mesh)以指定的方式和输入的贴图或者颜色等组合作用,然后输出,着色器是一种可以精确控制材质球的工具,通过贴图和着色器的配合开发人员可以创造出非常逼真的模型

    Shader是个非常复杂的东西,学习Unity中的Shader编程,最好是之前对OpenGL或Direct3D的渲染状态等相关知识有一个基本的了解,所以可以暂时使用默认的Shader,以后再进行了解/学习

    材质球文件后缀:.mat

     

    二、创建与使用材质球

    一个网上分享的贴图资源:https://pan.baidu.com/s/1hrPKck8

    下载后会得到一个.unitypackage的文件,先直接将其拖到Project中,也可以使用其它任意贴图

    之后在Assets中建立“Materials”和“Textures”文件夹,用于存放材质球和贴图(为了方便管理)

    然后就可以在“Materials”文件夹中新建材质球了,如下:

      →  

    编辑材质球:

    使用材质球就非常简单了,直接将材质球往物体上托即可

    效果如下:

     

    tiling缩放:表示贴图在UV坐标的缩放倍数,直接举例子:

    将其由(1,1)改为(2,2)后变化如下:

      →  

     

    展开全文
  • Unity3D shader(15)——材质(玻璃)

    千次阅读 2017-08-19 23:03:12
    有了前面的基础,就可以随意用Unity Fragement Shader来实现自己想要的效果。 这里就主要以玻璃为例。 首先实现玻璃的透明的特性; 里面的Tags { "Queue" = "Transparent" }是为了实现透明的效果。Blend SrcAlpha...

    如有更多问题,请qq254033230咨询。

    有了前面的基础,就可以随意用Unity Fragement Shader来实现自己想要的效果。

    这里就主要以玻璃为例。

    首先实现玻璃的透明的特性;

    里面的Tags { "Queue" = "Transparent" }是为了实现透明的效果。Blend SrcAlpha OneMinusSrcAlpha为了显示透明的物体不改变后面的物体的显示效果。最后,颜色是一个思维数组,透明度是颜色的最后一个元素,所以用col[3]来表示透明度。_AlphaVal控制透明度。如果想实现彩色玻璃的效果,只需要改变_MainTint和_AlphaVal的值。

    Shader "Custom/FragmentShader" {
    properties{
            _MainTint("Main Color", Color) = (1, 1, 1, 1)
            _AlphaVal("Alpha", Range(0, 1)) = 0.1
    }
    	SubShader {
    	    Tags { "Queue" = "Transparent" }
    
    		PASS{
    
    		Blend SrcAlpha OneMinusSrcAlpha
    				
    		CGPROGRAM
    		#pragma vertex vert  
            #pragma fragment frag
    
            #include "UnityCG.cginc"
            #include "Lighting.cginc"
    
    
            float4 _MainTint;
            float _AlphaVal;
    
    
            struct v2f{
            float4 pos:POSITION;
            float4 col:texcoord0;
            };  
    
            v2f vert(appdata_base v){
            v2f o;
            o.pos=UnityObjectToClipPos(v.vertex);
            return o;
            }
    
            float4 frag(v2f IN):COLOR{
            float4 col;
            col=_LightColor0*_MainTint;
            col[3]*=_AlphaVal;
            return col;
            }
    		ENDCG
    		}
    	}
    	FallBack "Diffuse"
    
    }


    如果想玻璃效果更逼真,带上漫反射的光,加上环境光,以及自身的颜色的组合。

    Shader "Custom/FragmentShader" {
    properties{
            _MainTint("Main Color", Color) = (1, 1, 1, 1)
            _AlphaVal("Alpha", Range(0, 1)) = 0.1
    }
    	SubShader {
    	    Tags { "Queue" = "Transparent" }
    
    		PASS{
    
    		Blend SrcAlpha OneMinusSrcAlpha
    				
    		CGPROGRAM
    		#pragma vertex vert  
            #pragma fragment frag
    
            #include "UnityCG.cginc"
            #include "Lighting.cginc"
    
    
            float4 _MainTint;
            float _AlphaVal;
    
    
            struct v2f{
            float4 pos:POSITION;
            float3 normal1:texcoord1;
            float4 vertex1:texcoord2;
            float4 col:texcoord0;
            };  
    
            v2f vert(appdata_base v){
            v2f o;
            o.pos=UnityObjectToClipPos(v.vertex);
            o.normal1=v.normal;
            o.vertex1=v.vertex;
            return o;
            }
    
            float4 frag(v2f IN):COLOR{
            float4 col= UNITY_LIGHTMODEL_AMBIENT;  
            float3 N=UnityObjectToWorldNormal(IN.normal1);  
            float3 L=normalize(WorldSpaceLightDir(IN.vertex1));  
            float diffuseScale=saturate(dot(N,L));
            col+=_LightColor0*diffuseScale+_MainTint; 
            col[3]*=_AlphaVal;
            return col;
            }
    		ENDCG
    		}
    	}
    	FallBack "Diffuse"
    
    }

    如果想呈现周围景色,那么需要加上立方体贴图。用上立方体贴图,造成反射的假象。

    Shader "Custom/FragmentShader" {
    properties{
            _MainTint("Main Color", Color) = (1, 1, 1, 1)
            _AlphaVal("Alpha", Range(0, 1)) = 0.1
            _CubeMap("CubeMap",CUBE)=""{}
    }
    	SubShader {
    	    Tags { "Queue" = "Transparent" }
    
    		PASS{
    
    		Blend SrcAlpha OneMinusSrcAlpha
    				
    		CGPROGRAM
    		#pragma vertex vert  
            #pragma fragment frag
    
            #include "UnityCG.cginc"
            #include "Lighting.cginc"
    
            samplerCUBE _CubeMap;
            float4 _MainTint;
            float _AlphaVal;
    
    
            struct v2f{
            float4 pos:POSITION;
            float3 normal1:texcoord1;
            float4 vertex1:texcoord2;
            float3 R:texcoord3;
            float4 col:texcoord0;
    
            };  
    
            v2f vert(appdata_base v){
            v2f o;
            o.pos=UnityObjectToClipPos(v.vertex);
            o.normal1=v.normal;
            o.vertex1=v.vertex;
            return o;
            }
    
            float4 frag(v2f IN):COLOR{
            float4 col= UNITY_LIGHTMODEL_AMBIENT;  
            float3 N=UnityObjectToWorldNormal(IN.normal1);  
            float3 L=normalize(WorldSpaceLightDir(IN.vertex1));  
            float diffuseScale=saturate(dot(N,L));
            col+=_LightColor0*diffuseScale+_MainTint;
    
            float3 N2=normalize(mul(IN.normal1,(float3x3)_World2Object));
            float3 V= -WorldSpaceViewDir(IN.vertex1);
            col+=texCUBE(_CubeMap,reflect(V,N2));
    
            col[3]*=_AlphaVal;
            return col;
            }
    		ENDCG
    		}
    	}
    	FallBack "Diffuse"
    
    }








    展开全文
  • Unity 纹理、贴图和材质【转载】

    万次阅读 2018-08-03 12:02:40
    Unity中,我们可以这样理解:Material(材质)包含Map(贴图),Map包含Texture(纹理)。 首先在工程中创建一个Terrain(地形)和一个Cube(立方体),然后我们基于这两个物体来深入学习什么是纹理、贴图和材质...

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

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

    Paste_Image.png

    1、Texture(纹理)

    纹理:是Unity最基础的图片形式,对,纹理就是一个图片,纯粹的图片。

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

    Paste_Image.png

    Paste_Image.png

    Paste_Image.png

     

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

     

    Paste_Image.png

    Open:打开图片。

    效果如下:

    Paste_Image.png

    Texture Type:图片类型。

    详情如下:

     

    Paste_Image.png

     

    Texture:纹理
    Normal map:法线贴图

    【关于法线贴图:就是看起来与3D效果无异的2D贴图】

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

    【以上】

    Editor GUI and Legacy GUI:编辑器的GUI和传统的GUI
    Sprite(2D and UI):图片精灵
    Cursor:设为光标
    Cubemap:立方体贴图
    Cookie:聚光灯贴图
    Lightmap:光照贴图
    Advanced:高级选项(当你想要有纹理的具体参数并想拥有纹理的完全控制的时候选择该项)

    Alpha from Grayscale:阿尔法灰度。

    Paste_Image.png

    Alpha is Transparen:设置成透明。

    Wrap Mode:缠绕模式。

    Paste_Image.png

    Filter Mode:过滤模式。

    Paste_Image.png

    Aniso Level:不同水准。(水准低的话远处的图片会模糊,以降低内存)

    Max Size:最大尺寸。

    Format:格式。(大小都是2的n次幂)

    Paste_Image.png

     

    Paste_Image.png

    2、Map贴图

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

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

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

     

    Paste_Image.png

    Paste_Image.png

    3、Material材质

    Shader(着色器):

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

    材质:

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

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

     

    Paste_Image.png

    Paste_Image.png

    Paste_Image.png

    材质的简单操作:、

    选色:

     

    Paste_Image.png

    Paste_Image.png

    上色:

    Paste_Image.png

    Paste_Image.png

    物理材质的属性:

    Paste_Image.png

    【系数取值范围为0~1之间,包括0,1】

    Dynamic Friction:动摩擦系数
    Static Firction:静摩擦系数
    Bounciness:弹性系数
    Friction Combine:联动摩擦
    Bounce Combine:联动反弹

     

    Paste_Image.png

     

    Average:取平均值。
    Minimum:取最低值。
    Multiply:取相乘值。
    Maximum:取最大值。



    作者:FLY旳影子
    链接:https://www.jianshu.com/p/a73280abef2a
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    展开全文
  • Unity3D 材质球学习

    万次阅读 2018-06-01 11:52:39
    类型: FX: Lighting and glass effects.( 灯光、玻璃) GUI and UI: For user interface graphics.(用于用户界面图形) Mobile: Simplified high-performance shader for mobile devices.(针对移动设备的简化的高...

    类型:

           FX: Lighting and glass effects.( 灯光、玻璃)
           GUI and UI: For user interface graphics.(用于用户界面图形)
           Mobile: Simplified high-performance shader for mobile devices.(针对移动设备的简化的高性能着色器)
           Nature: For trees and terrain.(适用于树木和地形)
           Particles: Particle system effects.(粒子系统特效)
           Skybox: For rendering background environments behind all geometry(用于渲染所有几何背后的背景环境)
           Sprites: For use with the 2D sprite system(用于2D精灵系统)
           Toon: Cartoon-style rendering.(卡通 风格 渲染)
           Unlit: For rendering that entirely bypasses all light & shadowing(渲染完全绕过所有光影)

          Legacy: The large collection of older shaders which were superseded by the Standard Shader(被标准着色器取代的大型着色器集合)

    Standard:“metallic”指出材料是否是金属材质。在金属材料的情况下,Albedo 颜色控制镜面反射的颜色,而大部分光纤将反射未镜面反射。非金属材料将具有与入射光线相同的颜色的镜面反射,并在表面时几乎不会反射。

    Standard(Specilar setup): 为经典方法选择 此着色器。镜面反射颜色用于控制材料中镜面单摄的颜色和强度。例如:这使得有可能具有漫反射不同的颜色的镜面反射。

    Rendering Mode:

       Opaque:是默认设置,适用于没有透明区域的普通固体物体
       Cutout:允许您创建在不透明区域和透明区域之间具有坚硬边缘的透明效果。在这种模式下,没有半透明区域,纹理是100%不透明或不可见的。当使用透明度来创建材质的形状(例如树叶或带孔洞和布块的布料)时,此功能非常有用
       Transparent:适用于渲染逼真的透明材料,如透明塑料或玻璃。在这种模式下,材质本身会采用透明度值(基于纹理的alpha通道和色调的alpha),但反射和照明高光将以完全清晰的方式保持可见状态,就像真正的透明材质一样
       Fade:允许透明度值完全淡出对象,包括任何高光反射或可能有的反射。如果您想要将对象淡入或淡出,则此模式非常有用。它不适合渲染逼真的透明材料,如透明塑料或玻璃,因为反射和高光也会消失

    Stanard(Specular setup): Specular参数中的RGB颜色控制镜面反射率的强度和颜色色调;这包括来自光源的光芒和来自环境的反射,smoothness 参数控制的镜面效果的清晰度。如果光滑度值较低,则即使是强烈的镜面反射也会变得模糊不清。具有高光滑度值,镜面反射更清晰和清晰。

    将纹理(Texture)分配给Specular参数时,Specular参数和Smoothness滑块均消失。相反,材质的镜面反射水平由纹理本身的红色,绿色和蓝色通道中的值控制,而光滑度材质的等级由相同纹理的Alpha通道控制。这里,镜面反射和平滑度由颜色和平滑度滑块定义。

    注意:黑色镜面颜色(0,0,0)会导致镜面效果无效(A black specular color (0,0,0) results in nulling out the specular effect)。镜面可以采取(1.0,1.0,1.0)

    金属模式:纹理(Texture) Metallic 分配参数时,Metallic和smoothness 滑块将消失, 材质的金属级别由纹理的红色通道中的值控制(通道一般由 黑、白、灰构成,偏白反射越高),材质的smoothness级别由纹理的Alpha通道控制.(这以为这 绿色 和 蓝色 通道 被忽略)

    Specular/Metallic Alpha:曲面每个点的平滑度都是单个值,因此数据只需要图像纹理的单个通道。因此。平滑度数据被假定存储在用于Metallic或specular纹理贴图的相同图像纹理的Alpha通道中

    Albedo Alpha: 减少纹理的总数,也可以使用不同分辨率的纹理进行Smoothness和Specular/Metallic

    HeightMap:高度映射图;灰度图。白色区域代表纹理的高区域,黑色代表低区域。白色的部分纹理偏移大。

    OcclussionMap: 遮挡贴图. 提供模型的哪些区域接收 高或低 间接光照的信息。OcclussionMap 是灰度图像. 白色表示应该接受完全间接照明的区域,而黑色表示没有间接照明。

    Emission:发光,控制从表面发射的光的颜色和强度。如果分配给了纹理贴图,则 纹理的全色值将用于发射颜色和亮度。Emission数字之字段仍然存在,可以将其用作乘数来提高或降低材料的整体发光水平。 该处纹理 贴图 必须 背景色是黑色,前景色是非黑色(充满 R,G,B)的才会叠加到Aledo的图片上。None:对象将显示为发射型,但附近物体的照明不受影响 。RealTime:来自此材质的发射光将被添加到场景的实时全局照明计算中,因此附近物体(甚至移动物体)的照明将受到发射光线的影响。 baked:来自这种材料的发射光将被烘焙成场景的静态光照贴图,因此其他附近的静态物体将显示为被该材料点亮,但动态物体不会受到影响。

     DetailMaps:在Aledo纹理贴图上增添细节贴图;DetailMask:给DetailMaps 添加遮罩,限制细节的显示位置  。      

    控制 Albedo 纹理贴图的偏移

     控制 Detail Albedo 纹理的 偏移

    展开全文
  • unity3d材质包700种材质球,种类齐全,可用于日常学习用途
  • Unity3D中玻璃、金属材质制作

    千次阅读 2019-05-16 20:38:53
    1.首先创建一个材质球Glass 2.将材质球Inspector窗口中的Rendering Mode选为Transprent,这个选项可以使物体改变透明属性,并且带有反射。 3。接下来更改Metallic和Smoothness值,Metallic值越大金属光泽越明显,...
  • unity3d材质球大全合集

    2020-07-30 23:32:03
    数百种u3d材质球,包括金属,玻璃,陶瓷,塑料等,内含实例
  • unity3d游戏开发所需要的素材,包裹墙体地面这些材质球共700个
  • Unity3D给力材质

    千次下载 热门讨论 2020-07-30 23:32:36
    Unity3D材质包,内含例子,主要有玻璃,金属,陶瓷,塑料等一些材质,找不到相关材质的兄弟可以下个哈:)
  • Unity3D材质丢失的解决办法

    万次阅读 2013-10-31 23:27:47
    Win7 Unity3D 4.2.0f4 同事给我一些Fbx格式的角色动画,包括几个图片文件夹,和一...但我在导入Unity3D时,但主角的材质却丢失。 解决办法是把Materials文件夹删掉,然后那个文件夹上右键选择reimport,即可解决问题。
  • unity 3d 材质

    2020-09-10 16:04:40
    unity 3d 材质unity 3d 材质unity 3d 材质unity 3d 材质unity 3d 材质
  • Unity3D超700+材质球&贴图Unity3D超700+材质球&贴图Unity3D超700+材质球&贴图Unity3D超700+材质球&贴图
  •   要设置shader里有下划线的属性名,而不是后面字符串的属性名。   Color tmp = new Color(1,1,1,alpha); mat.SetColor("_Color", tmp);  
  • 初学Unity3D——材质

    万次阅读 2014-11-21 14:44:39
    Kathy邀请您访问狗刨学习网-Unity3D培训&学习社区 http://unity.gopedu.com/?fromuser=Kathy
  • Unity3D 材质丢失

    千次阅读 2015-09-07 18:41:10
    1. 如果想给场景中一个GameObject进行贴图,那么直接把一张Texture拖到这个GameObject上,这是会产生新的材质文件,并赋值到这个GameObject中,如果这个GameObject本来就已经有材质的话,就会把原来的那个材质进行...
  • Unity3d 镜面材质

    2020-07-28 23:33:34
    Unity3d 镜面材质
  • unity3d常用材质球,包括多种不同草坪贴图材质 / unity3d游戏开发常用材质
1 2 3 4 5 ... 20
收藏数 13,223
精华内容 5,289
关键字:

unity3d 材质