(转载)Unity3d中3D Text对模型的穿透显示

Unity3D中使用3D Text(Text Mesh)时,如何让场景中的物体和3D Text有正确的遮挡关系。由于3D Text默认材质是(Font Material),他的shader是GUI/Text Shader,自然也就有了GUI的穿透特性,所以我们使用自定义材质就可以解决这个问题了。 
1、新建材质,并将如下shader设置给它

Shader "Custom/3D Text Shader" {
    Properties {
        _MainTex ("Font Texture", 2D) = "white" {}
        _Color ("Text Color", Color) = (1,1,1,1)
    }

    SubShader {
        Tags{ "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
        Lighting Off Cull Off ZWrite On Fog { Mode Off }
        Blend SrcAlpha OneMinusSrcAlpha
        Pass {
            Color [_Color]
            SetTexture [_MainTex] {
                combine primary, texture * primary
            }
        }
    }
}
 

2、导入一个字体,并将Character设置为Unicode。并将生成的图片设置给Shader 
 
 
3、将3D Text的材质替换成自定义的材质 
 
注意:如果要调整字体颜色,3D Text中的Color属性已经失效,需要去调整那个自己建的材质球的Text Color;

转载:http://blog.csdn.net/honey199396/article/details/72742866

时间: 2024-12-11 15:45:27

(转载)Unity3d中3D Text对模型的穿透显示的相关文章

Unity3d中3D Text对模型的穿透显示

昨晚,好友在电话里问我在Unity3d中使用3D Text,不想让其穿透模型显示,即想让场景中的3D Text与模型有正确的遮挡关系,怎么解? 今早谷歌上查了查,明白了原因,因为3D Text的默认材质的shader是GUI/Text Shader(自然就有了GUI的穿透显示的特性),而且不可以去手动更改. 记录解决方式如下: 1.自己写个想要的shader,并建个使用它的材质球: 2.导入自己的中文字体: 3.替换掉3D Text上的默认材质球. 首先,搭建一个好友在电话里描述的场景: 新建一

(转载)Unity3d中的属性(Attributes)整理

附加: float字段检视面板修改:[Range(1,10)] 对属性进行分组:[Header("xxx")] 工具栏中调用方法,类文件需在Editor文件夹中:[MenuIte("")]. [MenuItem("PathTool/Set Parent %q")] static void SetParent() { dosomething: } 转载于: 葱烧烙饼的博客 http://blog.sina.com.cn/aaron888888 At

Unity3D 中3D刚体组件的力

一般一个物体除了手动添加刚体受到重力作用外,还可以给该刚体添加一个其他的力. 这里就要涉及到一个恒定力(Constant Force)组件 首先要去掉物体的重力(因为重力是刚体组件中默认的一个向下的力)影响.然后在力组件中添加一些力去控制该物体.

转载 Sql2005中,恢复数据库时,旁边显示“restricted user”,怎么办?

从其它机器上考过来的一个sql2005的数据库备份(*.bak,直接通过‘备份’操作得到,不是detach的),在自己机器上的sql2005里建一个同名数据库,通过‘恢复’操作将其恢复后,发现旁边显示"restricted user".因为自己是用windows集成帐户登陆,所以改用sa登陆,结果一样. 后来发现,在数据库属性里‘options’选项卡里的最下面-----‘Restrict  Access’:把值改为multiple即可 ==============Update at

【Unity3d游戏开发】Unity3D中的3D数学基础---向量

向量是2D.3D数学研究的标准工具,在3D游戏中向量是基础.因此掌握好向量的一些基本概念以及属性和常用运算方法就显得尤为重要.在本篇博客中,马三就来和大家一起回顾和学习一下Unity3D中那些常用的3D数学知识. 一.向量概念及基本定义 1.向量的数学定义 向量就是一个数字列表,对于程序员来说一个向量就是一个数组. 向量的维度就是向量包含的"数"的数目,向量可以有任意正数维,标量可以被认为是一维向量. 书写向量时,用方括号将一列数括起来,如[1,2,3] 水平书写的向量叫行向量 垂直书

ROS 学习系列 -- 使用urdf创建机器人模型在Rviz中3D观察 之一 joint 使用

我们接着上文  ROS 学习系列 -- 使用urdf创建机器人模型在Rviz中3D观察 之一 link使用继续完成创建带四个可以转动轮子的双层小车. 一 建立可以转动的joint <span style="font-size:18px;"><?xml version="1.0"?> <robot name="sp1s"> <link name="base_link"> <v

Chem 3D中怎么创建立体模型

ChemDraw作为一款很受大家欢迎的化学绘图软件,其在绘制平面化学方面的功能已经非常的强大了,其实它也可以绘制3D图形.Chem 3D就是绘制3D图形的重要组件.而且为了满足不同的用户绘图的需求,可以给大家提供三种方法来绘制3D图形.有的方法需要绘制者对化学立体模型的结构比较熟悉,有的要求对化学式比较熟悉,绘制者可以根据自己的实际情况选择绘制方法.下面就来给大家分享一下Chem 3D中怎么创建立体模型? 原文:http://www.chemdraw.com.cn/ruheshiyong/lit

【Unity3d】3d网页游戏场景打包与加载

http://www.cnblogs.com/dosomething/archive/2012/04/07/2436353.html 3d游戏中  一个场景往往比较大  如果游戏的进行需要下载一个10M甚至更大的场景时  加载所用的时间会导致很大部分玩家的流失 我们知道unity3d中的内置地形是使用一张高度图  加载场景时  首先加载地形并显示  再去加载场景中的部件(比如树.房子等)  将会很有必要 在加载场景中的部件时  可以根据玩家当前所在的位置  由近到远的去加载 场景中的每个部件实际

转 threejs中3D视野的缩放实现

Threejs基础部分学习知道透视相机new THREE.PerspectiveCamera(fov, aspect , near,far)中. fov视野角(拍摄距离)越大,场景中的物体越小.fov视野角(拍摄距离)越小,场景中的物体越大. 透视相机(近大远小) PerspectiveCamera //透视照相机参数设置 var fov = 45,//拍摄距离 视野角值越大,场景中的物体越小 near = 1,//相机离视体积最近的距离 far = 1000,//相机离视体积最远的距离 asp