unity3d 半透明面片或墙壁的实现
来源:互联网 发布:上海煜麦网络培训吗 编辑:程序博客网 时间:2024/04/29 02:33
using UnityEngine; using System.Collections; public class example : MonoBehaviour { void Update() { RaycastHit[] hits; hits = Physics.RaycastAll(transform.position, transform.forward, 100.0F); int i = 0; while (i < hits.Length) { RaycastHit hit = hits[i]; Renderer renderer = hit.collider.renderer; if (renderer) { renderer.material.shader = Shader.Find("Transparent/Diffuse"); renderer.material.color = new Color(renderer.material.color.r,renderer.material.color.g,renderer.material.color.b,0.3f); } i++; } } }
绘制被遮挡部分 ZTest Off, ZTest Greater 绘制未被遮挡部分 ZTest On, ZTest LEqual 效果
绘制被遮挡部分 ZTest Off, ZTest Greater 绘制未被遮挡部分 ZTest On, ZTest LEqual 效果