2021-12-18 12:09阅读: 30评论: 0推荐: 0

3DText无法被物体遮挡 - 解决

目录

开篇:

问题复现:

如何解决:

1、创建一个Shader

2、创建一个Material

 3、给Material赋值字体

 4、给3DText属性赋值

 5、查看效果

希望大家:点赞,留言,关注咯~    

唠家常

今日无推荐


开篇:

        最近啊,小黑有个朋友(下面简称:秀莲)这段时间在面试,他每次出去面试都做记录,小黑也是把面试记录都要了过来,看到其中有一个看效果还要源码、要提供开发文档、要package包的某垃圾中的垃圾公司(具体公司名就不说了,小黑害怕,😄嘤嘤嘤~~),他们就是想要秀莲做免费劳苦力,给他们完成一个Demo,具体需求小黑贴在下边。

看完之后,小黑也有些手痒痒,于是抽空写了一下,写到4的时候,小黑就想着反正是有效果就行,那就用3DText来弄吧,顺便还能熟悉一下3DText这个组件,然后就遇到了这个问题:3DText无法被物体遮挡,接着就有了这篇博客。

问题复现:

        我们使用Unity默认字体(Arial),然后进行操作。

 

         是不是发现了问题,我们所创建的3DText无法被我们的3D人物遮挡,那这个效果来做拖尾肯定是不行的,所以我们要解决这个问题。

如何解决:

自己找了半天问题,不如上网半小时!
上网半小时,20分钟在筛选!
最后10分钟,5分钟阅读,5分钟解决问题!

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、创建一个Material

然后Shader改为刚刚创建的这个Shader

 3、给Material赋值字体

把你想要用的字体拖拽到Unity中来,然后字体下边的Font Texture,赋值给当前的Material

 4、给3DText属性赋值

 

 5、查看效果

 

希望大家:点赞,留言,关注咯~    

😘😘😘😘

唠家常

  • 小黑的今日分享结束啦,小伙伴们你们get到了么,你们有没有更好的办法呢,可以评论区留言分享,也可以加小黑的QQ:841298494,大家一起进步

今日无推荐

posted @   青衫磊落长歌行  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 我与微信审核的“相爱相杀”看个人小程序副业
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起