unity 动态更新模型透明度
Posted ylwn817
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity 动态更新模型透明度相关的知识,希望对你有一定的参考价值。
RaycastHit[] hits; Vector3 normal = transform.position - target.position; hits = Physics.RaycastAll(target.position, normal, float.PositiveInfinity, mMask); if (hits.Length>0) { GameObject p = hits[0].collider.gameObject; if (p != null) { Debug.LogError("被碰撞的物体是:" + hits.Length); SetMaterialsColor(p.GetComponent<Renderer>(), 0.5f); } }
注意mMask = 1<< LayerMask.NameToLayer("Wall");需要位运算
private void SetMaterialsColor(Renderer _renderer, float Transpa) { Material m = _renderer.sharedMaterial; Color color = m.color; color.a = Transpa; m.SetColor("_Color",color); }
以上是关于unity 动态更新模型透明度的主要内容,如果未能解决你的问题,请参考以下文章
Cg入门20:Fragment shader - 片段级模型动态变色(实现汽车动态换漆)
一个obj格式的透明窗子模型,导入到Unity 3D中,窗子变得不透明了,求大神解答,求原因