2019-05-16 20:37:23 weixin_43778515 阅读数 1700

1.首先创建一个材质球Glass
在这里插入图片描述
2.将材质球Inspector窗口中的Rendering Mode选为Transprent,这个选项可以使物体改变透明属性,并且带有反射。
在这里插入图片描述
3。接下来更改Metallic和Smoothness值,Metallic值越大金属光泽越明显,Smoothness值越大反射率就越大

所以如果需要玻璃材质则如下图设置:

在这里插入图片描述
在这里插入图片描述
但是这时候发现,玻璃球反射的光并不是周围的物体,那么这时候我们就要在Sence中添加GameObject–>Light–>Reflection Probe
在这里插入图片描述
创建完成后在右边,将Type改为Realtime。
在这里插入图片描述
再调整材质球颜色中的Alph值后,效果如下图
在这里插入图片描述
若需要金属材质,只要将metallic拉到最高即可。具体的数值是需要按照我们的要求随时更改的。

2018-08-25 12:14:32 weixin_41232641 阅读数 253

材质球与贴图

  • 材质球与贴图介绍
    • 材质球:Material,材质:物体的质地。

       

    • 贴图:Texture,“普通的图片”,用于材质球的显示。
  • 管理材质球与贴图
    • 在 Assets 中建立 “Materials”,用于管理材质球。
    • 在 ​​​​​​​Assets 中建立 “Textures”,用于管理贴图。

创建与使用材质球

  • 创建材质球
    • 在 ​​​​​​​Assets 中的 Materials 文件夹上,右键弹出菜单 --> Create --> Material,完成材质球的创建
    • 材质球文件的后缀是“.mat ”。
  • Inspector 面板(检视面板)
    • 用于查看和编辑游戏物体和项目资源的具体信息。

  • 编辑材质球
    • 鼠标选中需要编辑的材质球物体;
    • 点击 “Albedo” 前的圆点,在弹出的 “贴图选择界面” 选择需要的材质。
    • Albedo :纹理贴图(漫反射贴图)
  • 使用材质球
    • 将材质球拖拽到 Hierachy 面板上相应的物体上;
    • 将材质球拖拽到 Scene 面板上相应的物体上

shader简介

  • shader:着色器

  • 通过着色器来编辑材质球的效果。

 

 

2017-05-03 14:36:33 MacYosef 阅读数 5778

Unity3d制作双面材质:

Shader中Cull指令的使用:
通过Cull指令来控制需要剔除那个面的渲染图元。Cull指令的语法如下:
Cull Back | Front | Off
设置为Back,背对摄像机的渲染图源就不会被渲染,设置为Front,朝向摄像机的渲染图元就不会被渲染。
设置为Off就会关闭剔除功能,即所有图元都会被渲染。


步骤:
1.在项目面板中创建plane作为演示。

2.导入两张图片作为贴图演示。

3.在项目面板中创建DoubleSurface shader

4.打开创建的shader进行编辑:

Shader "Custom/DoubleSurface" {
    Properties{
        _Color("Main Color", Color) = (1,1,1,1)//Tint Color
        _MainTex("Base (RGB)", 2D) = "white" {} //背面纹理
        _MainTex_2("Base (RGB)", 2D) = "white" {} //正面纹理
    }

        SubShader{
        Tags{ "RenderType" = "Opaque" }    //设置渲染类型 Opaque不透明
        LOD 100

        Pass{
        Cull Front       //关闭正面渲染
        Lighting Off
        SetTexture[_MainTex]{ combine texture }
        SetTexture[_MainTex]
            {
            ConstantColor[_Color]
            Combine Previous * Constant
            }
        }

        Pass
        {
        Cull Back      //关闭背面渲染
        Lighting Off
        SetTexture[_MainTex_2]{ combine texture }
        SetTexture[_MainTex_2]
            {
            ConstantColor[_Color]
            Combine Previous * Constant
            }
        }
    }
}

5.创建好之后把DoubleSurface shader附给plane的材质

6.选则导入的图片,如下图所示:

这里写图片描述

参考:
《Shader入门精要》,冯乐乐

2019-09-27 15:12:56 Tifinity 阅读数 20

材料与渲染练习

先在这里推荐一个纹理材质的网站 -> ?

现在开始我的学习过程ヽ(✿゚▽゚)ノ

首先在网站上随便找了一块免费的石头

在这里插入图片描述

往下可以看到一共有五张贴图。

在这里插入图片描述

选择分辨率为Medium(1024*1024),全部下载并放进Unity3D的素材中。

在这里插入图片描述

我们一张一张的来,创建一个新的材质球和一个球体对象。首先是Albedo贴图,将其拖到Albedo属性左边的贴图框中,球体变成了这个样子。因为这块石头的纹理比较简单,看起来就像一个黑色的球,仔细看能够看到它的纹路细节。Albedo贴图其实就是一张RGB的图片,你也可以点击Albedo右边的颜色编辑器来创建一个纯色的贴图。

在这里插入图片描述
这样的材质未必太过简陋,那么那些逼真复杂的纹理是怎么创建的呢,我们先不管金属度和平滑度,往下看︿( ̄︶ ̄)︿

把Normal贴图加上,就是那张看起来是蓝紫色的。球体变成了这样,有了凹凸的纹理,更加逼真了。不过这个高低差不是真的,你会发现边缘还是一个完整的正圆形,说明其实没有真的凹下去或者凸出来,只是视觉上的效果。

在这里插入图片描述

下面放上官网的法线贴图效果:

在这里插入图片描述

然后我们加上高度贴图,这里有一个问题,高度贴图是灰度图,如果下载的格式是TIF,那么导入进Unity3D会变成天蓝色,需要用PS或者别的软件转一下格式为JPG才正常。

在这里插入图片描述

这个素材加上高度贴图的效果感觉不是很明显,就不放图了,可以看官网的对比。

在这里插入图片描述

关于法线贴图和高度贴图的异同点详见:?

现在该Ambient Occlusion了,一般称为ao贴图,翻译为环境遮挡,加上之后可以看到更明显的阴影,下图左为无ao,右为有ao,可以看到沟壑的颜色明显变深了。

在这里插入图片描述

还以最后一张,roughness贴图,在unity3D中想要使用的话需要做一些处理。因为我们的贴图是“粗糙度”,而unity中只有“平滑度”,并且为了节约资源,平滑度其实就是金属度的Alpha通道的值,需要用图像处理软件进行处理,所以此次我们暂时不使用roughness贴图了。

在这里插入图片描述

那么现在我们回到金属度和平滑度。我们都知道金属度控制材质表面金属感的程度,平滑度控制材质表面从橡胶到玻璃的光滑程度。

为了金属度的效果更加明显,我们将材质球换成纯白色。将材质球的金属度盒平滑度都拉到最高,你可以看到球体上“反射”出了天空盒,但是这真的是像现实一样的反射吗?

进入菜单栏->窗口->渲染->照明设置,在环境照明中将源改为红色,环境反射改为自定义,并在贴图中选择原来的天空盒。

在这里插入图片描述

发生了什么?即使天上没有天空盒,球体上也出现了反射的天空!

在这里插入图片描述

其实,金属度的本质就是环境照明和环境反射的比例,而平滑度控制金属度的Alpha通道即透明度。

再随便调一调金属度和平滑度看看效果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mnDSzpMd-1569568101639)(T:\TH\大三上\3D游戏设计\4游戏对象与图形基础\材料与渲染练习\images\调整.jpg)]

金属度 平滑度
左上 0 0
左下 1 0
右上 0 1
右下 1 1

那么本次材料与渲染练习就到此为止了,继续努力吧**·~·**

2015-07-12 22:47:37 yanghuiliu 阅读数 9222

猴子原创,欢迎转载。转载请注明: 转载自Cocos2Der-CSDN,谢谢!
原文地址: http://blog.csdn.net/cocos2der/article/details/46854411

项目中,有时候导入一些资源时候,需要对应创建材质球,如果每次自己动手创建,还是挺麻烦的,下面是如何导入资源时候自动创建材质球。

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using System.IO;

public class BuildMaterial : UnityEditor.AssetModificationProcessor
{

    //生成出的Material的路径
    private static string MaterialsPath = "Assets/Resources/Skin/";

    // 创建菜单按钮,手工调用创建材质
    [MenuItem ("HETools/BuildMaterials")]
    static void CreateMateral ()
    {
        Object[] selectObject = Selection.objects;

        List<string> path = new List<string> ();
        foreach (Object obj in selectObject) {
            path.Add (AssetDatabase.GetAssetPath (obj));
        }

        foreach (string p in path) {
            CreateOneMateral (p);
        }
        System.GC.Collect ();
    }

    // 监控assets资源添加,发现指定目录ThemeTile有新增加的texture,就自动生成材质
    public static void OnWillCreateAsset (string path)
    {
        int index = path.LastIndexOf (".");
        string file = path.Substring (index);
        string[] pathArr = path.Split ('/');
        if (pathArr [pathArr.Length - 3] != "ThemeTile")
            return;

        CreateOneMateral (path);
        System.GC.Collect ();
    }

    // 创建材质球
    static void CreateOneMateral (string p)
    {
        p = p.Replace (".meta", "");
        Debug.Log ("CreateOneMateral from path: " + p);

        int pos = p.LastIndexOf ('/');
        if (pos == -1)
            return;

        string[] strArr = p.Split ('/');

        string themeIDStr = strArr [strArr.Length - 2];

        Texture textur = (Texture)AssetDatabase.LoadAssetAtPath (p, typeof(Texture)) as Texture;

        string name = strArr [strArr.Length - 1];

        int y = name.IndexOf ('.');
        name = name.Substring (0, y);
        Material mater = new Material (Shader.Find ("Mobile/VertexLit"));
        mater.mainTexture = textur;

        AssetDatabase.CreateAsset (mater, MaterialsPath + themeIDStr + "/" + name + ".mat");
    }
}

这里写图片描述
注意,上面代码中我是规定了只有指定的目录添加texture才会自动生成材质,所以使用时候,请自行修改下。

这里发现了个问题:
导入贴图时候,自动创建出来的材质球丢失了纹理图,而采用菜单按钮点击创建出来的正常。问题还没有解决,有哪位朋友知道解决办法可以告诉我下。

Unity3D学习之预设体

阅读数 2515

Unity3D血条的制作

阅读数 1060

没有更多推荐了,返回首页