精华内容
下载资源
问答
  • palmbark material.unitypackage(U3D资源,树木材质包)
  • unity Material的批量修改和单独处理

    千次阅读 2018-10-24 15:47:05
    unity为我们提供了Material这一模块,使得我们对游戏对象的各种渲染操作更加便捷。   一个完整的Material由shader和Texture组成。 shader:整个Material的面板其实都是由对应的shader决定的,这个可视化的...

    蹭一波1024的热度,祝大家节日快乐。

    Material

    unity为我们提供了Material这一模块,使得我们对游戏对象的各种渲染操作更加便捷。

     

    一个完整的Material由shader和Texture组成。

    shader:整个Material的面板其实都是由对应的shader决定的,这个可视化的部分由unity shader提供。

    Texture:在unity中贴图不是必须的,即使没有贴图也不妨碍unity的渲染工作。但是更加复杂的渲染效果还是需要各式贴图配                   合的。

     

    批量处理

           在unity的规则中,凡是使用同一个材质球(Material)的游戏物体,只要材质球被修改,不论是静态还是动态的,所有游戏物体都会被改变。

    之前博客有提到过:

    void Update()
        {
                if (transform.GetComponent<MeshRenderer>().materials[1].color.r > 0)
                {
                    transform.GetComponent<MeshRenderer>().materials[1].color -= new Color(1, 0, 0)*Time.deltaTime*0.5f;
                }
                if (transform.GetComponent<MeshRenderer>().materials[1].color.g > 213)
                {
                    transform.GetComponent<MeshRenderer>().materials[1].color -= new Color(0,1,0) * Time.deltaTime*0.5f;
                }
        }
    

     

    单独修改

            我们可能会遇见批量生成相同的游戏对象,但是却需要单独修改其中某一个对象的Material,这时就不能用上面的MeshRenderer了,因为MeshRenderer里面存储的Materials指向的是sharedMarerial,即项目工程中材质球的原始属性设置。

    GetComponent<Renderer>().material.color = color;

            当使用Renderer.material的时候,每次调用都会生成一个新的material到内存中去,这样修改后就不会影响到其他物体了。

    展开全文
  • unitymaterial

    2016-06-05 18:01:33
    http://i.imgur.com/Xg377EZ.jpg 水 材質
  • Unity Material数组

    千次阅读 2016-12-06 14:09:41
    material 在编辑模式下赋值,需要用整体的material【】赋值。 [MenuItem("MyEdidor/SetMeshRenderer")] staticvoid CastShadows() { Object[]selection = Selection.GetFiltered(typeof(Component), Sele

    material 在编辑模式下赋值,需要用整体的material【】赋值。

    [MenuItem("MyEdidor/SetMeshRenderer")]
           staticvoid CastShadows()
           {
                  Object[]selection = Selection.GetFiltered(typeof(Component), SelectionMode.DeepAssets);
                  Component[]P;
                  Materialmat = new Material(Shader.Find("Diffuse"));
     
                  foreach(Components in selection)
                  {
                         P= s.GetComponentsInChildren(typeof(MeshRenderer), true);
     
                         foreach(MeshRendererp in P)
                         {
                                Material[]mats = p.sharedMaterials;
                                for(inti = 0; i< p.sharedMaterials.Length ; i++)
                                {
                                       if(p.sharedMaterials[i].name.Contains("BaiQiang"))
                                       {
                                              mat= p.sharedMaterials[i];
                                       }
                                }
     
                                for(inti = 0; i< p.sharedMaterials.Length ; i++)
                                {
                                       if(p.sharedMaterials[i].name.Contains("DiBan"))
                                       {
                                              mats[i]= mat;
                                       }
     
                                }
     
                                p.sharedMaterials= mats;
                         }
                  }            
           }

    展开全文
  • Unity material sharedMaterial 区别

    千次阅读 2019-07-08 15:57:04
    Unity material sharedMaterial 区别 renderer.material 返回材质的拷贝 对这个材质的修改只反映到这一个物体上 一旦调用,这个物体就脱离了sharedMaterial的控制 多次调用返回的是同一个material 不会影响到Editor...

    Unity material sharedMaterial 区别

    renderer.material

    • 返回材质的拷贝
    • 对这个材质的修改只反映到这一个物体上
    • 一旦调用,这个物体就脱离了sharedMaterial的控制
    • 多次调用返回的是同一个material
    • 不会影响到Editor里面的材质,仅运行时生效

    renderer.sharedMaterial

    • 返回的是所有引用了这个材质的对象共用的材质
    • 改变这个材质会反映到所有使用这个材质的物体上
    • 同时还会影响到Editor里面的材质

    验证代码

    using System.Collections;
    using UnityEngine;
    
    public class MaterialSharedMaterial : MonoBehaviour
    {
        public Renderer r1; 
        public Renderer r2;
    
        IEnumerator Start()
        {
            //运行环境LWRP 渲染管线 unity 2019版本
            //仅该物体变化
            r1.material.SetColor("_BaseColor", Color.blue);
            //等1秒
            yield return new WaitForSeconds(1);
            //所以物体 包括editor里面的材质都变化了
            r2.sharedMaterial.SetColor("_BaseColor", Random.Range(0f,1f) > 0.5f ? Color.green : Color.red);
            //输出ture
            Debug.Log(r1.material == r1.material);
        }
        
    }
    
    
    展开全文
  • unity material 操作

    千次阅读 热门讨论 2014-12-03 16:51:17
    关于Material 的说明 shareMaterial顾名思义就是共享的材质球,修改此材质球的任何参数 持有此材质球引用的模型都会受到印象 Material 为内存新建的另一材质球,随便修改只改变此物体的显示效果。 参考地址 ...

    控制UV运动的代码

    关于Material 的说明

    shareMaterial顾名思义就是共享的材质球,修改此材质球的任何参数 持有此材质球引用的模型都会受到印象

    Material 为内存新建的另一材质球,随便修改只改变此物体的显示效果。

    参考地址   http://blog.csdn.net/kfqcome/article/details/19343323


    展开全文
  • unity MaterialUI 1.1.8.zip

    2020-11-24 11:23:08
    使用MaterialUI for Unity创建精美的游戏和应用程序,它是 精心设计的工具,可让您轻松利用Google Material Design的大胆 而现代的组件。模仿安卓样式UI
  • Or someone know how to split my obj by material before encode to Draco ? <p>Google draco is very interesting, but there's definitly not enough documentation especially about how to handle ...
  • unity3d 加载 Material

    2018-12-13 21:29:16
    ui/mat/imagegray.unity3d", "ImageGray"); self.btnAllFreeFind:GetComponent('Image').material=ImagerGrayMat C# 代码如下: public Material LoadMaterial(string abName,...
  • m_Material = GetComponent().material; m_BlinkLifeTime = 0 ; if (startBlinkTime > 0 ) { m_IsStartBlink = false ; Invoke ( "StartBlink" , startBlinkTime); } else { m_IsStartBlink = true ...
  • unity5 创建material

    2015-03-23 17:03:00
    unity5中新创建的material默认如下 开始我不知道贴图应该加在哪儿。于是跳过教程上这一步,直接去选shader: 在这个shader下很明显看到加贴图的地方了: 加完贴图如下: 假如此时再回到默认的Standard ...
  • unity源码解析Material

    千次阅读 2016-04-08 20:30:32
    Material这个需要结合shader来讲,计算机图形学里本身就没有Material这个东西,引擎加入这个其实是在shader和主程序之间搭建了一座桥梁,可以说Material是一个着色器管理器,所以很多接口都是对shader的控制。...
  • unity, access material

    2015-05-24 01:37:00
    MeshRenderermeshRenderer=gameObject.GetComponent<MeshRenderer>();if(meshRenderer!=null){Materialmaterial=meshRenderer.material;...
  • 转自:Unity教程之-Unity3d中Material与ShareMaterial引用的区别 我们在使用Unity引擎的时候,有时候需要去修改某个物体上的Material,在Unity的Renderer类里,提供了两个方法借口供我们使用。 Renderer.material和...
  • Material a = new Material(tmpStr); ``` 在只知道这个 tmpStr 的情况下有办法找到 material吗?这行字符串是什么意思?我在project里搜索关键字都没有找到 ``` 我知道可以使用Shader.Find("???") //但是名字是...
  • Unity - 物理材质(Physic Material

    千次阅读 2018-05-11 10:23:55
    Unity - Physic Material 参考文献:https://docs.unity3d.com/Manual/class-PhysicMaterial.html Physic Material 用于调整碰撞体对象的摩擦力和弹力效果。 当两个物体发生碰撞时,所产生的碰撞效果同时受到...
  • 项目中,有时候导入一些资源时候,需要对应创建材质球,如果每次自己动手创建,还是挺麻烦的,下面是如何导入资源时候自动创建材质球。...using UnityEditor; using System.IO;public class BuildMateri
  • Unity 修改material和sharedMaterial的区别

    千次阅读 2019-06-21 16:22:43
    我们在使用Unity引擎的时候,有时候需要去修改某个物体上的Material,在Unity的Renderer类里,提供了两个方法借口供我们使用。 Renderer.material和Renderer.sharedMaterial 那么这两货有什么区别呢! Renderer....
  • Unity Material 类的使用

    2019-11-22 22:30:13
    最近需要将一批材质的shader,转换到另一个效果类似...这项工作本不难,但是开发过程中发现,除了Material的SetTexture,SetFloat等接口,能将部分shader参数读取,并赋值到新的材质,材质Inspector面板上其它参数的...
  • <div><p>when i try to export my map to unity ,all the exported map is white , with those erreurs , ...
  • 我们在使用Unity引擎的时候,有时候需要去修改某个物体上的Material,在Unity的Renderer类里,提供了两个方法接口供我们使用。 Renderer.material和Renderer.sharedMaterial 那么这两货有什么区别呢! Renderer....
  • Unity学习--Material

    2020-08-09 13:14:00
    Material材质球的参数设置很奇怪,跟其它组件不一样,如果用代码设置了这些材质的参数,那么停止运行是不会复位参数的,这跟它组件不一样。所以当你改了一个材质球里的参数,如果你想复原,也得是动态修改回来的。 ...
  • Unity更改物体的material

    千次阅读 2018-07-23 16:56:13
    如果想要改变物体的material而使原material不变,可以这样 public void Initialize() { // 实例化一个material再赋值 var compassImage = GameObject.Find("CompassPanel(Clone)/Compass_Scale")....
  • unity中renderer的可以用material和sharedMaterial来访问材质,多个renderer可以公用一个材质,这时sharedMaterial指向同一个材质,修改这个材质后所有renderer都会有所变化。至于用material来访问,按官方文档说法...
  • http://www.alanzucconi.com/2016/11/07/shadergui-custom-material-inspectors-unity-5/ ...This tutorial explains how to create custom material inspectors for your shaders in Unity 5. Introduction
  • Default-MaterialUnity内置的材质,并且依赖Standard Shader。 如果一个物体依赖了这个材质,在场景中是会显示成紫色方块,并且在打包的时候编译shader非常耗时,并且会造成大量的冗余。 所有这完全是一个没要...
  • 赫斯提亚| Unity Material Library用户界面 用于在线材料资源的Unity的材料加载器ui **从**导入编辑器中的资料 在HDRP,URP和Standard渲染管道中为照明着色器生成材质。 使用Git 确保在行列上安装了Git客户端,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,918
精华内容 767
关键字:

materialunity