我多个物体用的是同一个material,当我用gameObject.GetComponent<MeshRenderer>().sharedMaterial.SetColor("_Color",newColor)改变其中一个物体的颜色时,其余物体的颜色也跟着变了. 要想其余物体颜色不跟着变,应该用gameObject.GetComponent<MeshRenderer>().material.SetColor("_Color",newColor…
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 物理材质 (Physics Material) 用于调整碰撞对象的摩擦力和反弹效果. 二.创建物理材质 要创建物理材质 (Physics Material),请从菜单栏选择[资源 (Assets)] -> [创建 (Create)] -> [物理材质 (Physics Material)].然后将物理材质 (Physics Material) 从[工程视图(Project View)]拖动到场景中的碰撞体(Coll…
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; public class CombineMesh : EditorWindow { [MenuItem("地图/合并Mesh")] static void AddWindow() { //创建窗口 CombineMesh window= (CombineMesh)EditorWindow.Ge…
创建如图所示的对象结构,parent为空对象,然后将下面的代码挂载到parent对象上运行即可. using UnityEngine; using System.Collections; public class CombineMeshAndMaterials : MonoBehaviour { void Start() { CombineMesh(); } void CombineMesh() { //收集要合并的贴图 MeshRenderer[] oldMRArray = GetCompon…
假设在场景中加一个sprite,其材质使用默认的Sprites-Default. 若调用: Color color=sprite.GetComponent<SpriteRenderer>().sharedMaterial.color;        color.a = 0;        sprite.GetComponent<SpriteRenderer>().sharedMaterial.color=color; 则将导致场景中所有使用默认Sprites-Default材质的s…
一个比较简单的需求,不过遇到些坑,记录下. 房间有多个模型,每个模型可能多个SubMesh,点击后,需要能具体到是那个SubMesh,并且在这个SubMesh上显示边缘高光,以及能个性这单个SubMesh对应的Material.如一个桌子的Mesh,其实有二个材质,分别对应二个SubMesh,一个桌面和一个桌脚,点击桌面后,只有这个桌面高光,而不是整个桌子,并且能单独更换这个桌面的Material. 我们知道Unity中,Mesh和Ogre一样,也是可以有多个SubMesh,每个SubMesh有…
上次 我们告诉编辑器制作,如何将图像加载到现场,如今 我们要告诉下.怎么样 制造UIButton以及UIimage交换. 阿土. 进入专题. 首先,我们要明白 unity机制.button属性等. 首先 我们先说下 unity的机制: unity中检測点击事件,使用NGUI的可能知道,NGUI使用的就是SendMessage的方式来进行事件的传递. 没错,这也是 unity最为简便的方式. (要注意一个问题哦,这个方式 假设 你要使用 大于 万次循环的话 会有延迟的哦,一般也不会同一时候发送万条…
从优化角度,Mesh需要合并. 从换装的角度(这里指的是换形状.换组成部件的换装,而不是挂点型的换装),都需要网格合并.材质合并.如果是人物的换装,那么需要合并SkinnedMeshRenderer,并重刷对应的骨骼列表.网格合并后对模型的渲染可以降低GPU的负担,但是经过测试发现,虽然网格合并了但是由于子物体网格的材质是不同的并没有降低DrawCall,如果把材质改成相同的,Unity自身会进行批处理合并,所以DrawCall就会减少!在MMO的游戏中,网格动态合并还是非常有必要的! 网格合并…
[转]Unity网格合并_材质合并 原帖请戳:Unity网格合并_材质合并 写在前面: 从优化角度,Mesh需要合并. 从换装的角度(这里指的是换形状.换组成部件的换装,而不是挂点型的换装),都需要网格合并.材质合并.如果是人物的换装,那么需要合并SkinnedMeshRenderer,并重刷对应的骨骼列表. 示例: 1,新建两个Cube,和一个Cylinder.分别作为坦克的底盘(Cube_chassis).炮塔(Cube_turret).炮管(Cylinder_gun).如下图所示. 2,为…
原帖请戳:Unity网格合并_材质合并 写在前面: 从优化角度,Mesh需要合并. 从换装的角度(这里指的是换形状.换组成部件的换装,而不是挂点型的换装),都需要网格合并.材质合并.如果是人物的换装,那么需要合并SkinnedMeshRenderer,并重刷对应的骨骼列表. 示例: 1,新建两个Cube,和一个Cylinder.分别作为坦克的底盘(Cube_chassis).炮塔(Cube_turret).炮管(Cylinder_gun).如下图所示. 2,为了测试换装,我们加入三个材质球,调整…