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++;         }       } }




unity3d 半透明面片或墙壁的实现 - 重庆unity3d - unity3d工作室
 
绘制被遮挡部分 ZTest Off,  ZTest Greater 绘制未被遮挡部分 ZTest On, ZTest LEqual 效果
 
unity3d 半透明面片或墙壁的实现 - 重庆unity3d - unity3d工作室

unity3d 半透明面片或墙壁的实现 - 重庆unity3d - unity3d工作室
 
绘制被遮挡部分 ZTest Off,  ZTest Greater 绘制未被遮挡部分 ZTest On, ZTest LEqual 效果
 
unity3d 半透明面片或墙壁的实现 - 重庆unity3d - unity3d工作室
原创粉丝点击