查看: 2028|回复: 0
打印 上一主题 下一主题

unity3d 半透明面片或墙壁的实现

[复制链接]

435

主题

2

听众

6371

积分

高级设计师

Rank: 6Rank: 6

纳金币
6372
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-9-6 11:09:53 |只看该作者 |倒序浏览
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;            
      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 效果


分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|纳金网 ( 闽ICP备08008928号

GMT+8, 2024-5-21 23:15 , Processed in 0.082719 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部