3D 模型怎么实现各个面可以加数字

是的呀,没有3D label

这样换的话貌似不能改每个面的背景颜色啊

一个cube上面贴6个文字的quad,cube贴颜色,label的quad用unlit材质Tec选transpaent。cube也可以换成6个quad每个quad单独贴一种颜色。
麻烦肯定是麻烦的,不然的话就自己写shader来实现label和背景图,那样就不需要要那么多quad了,纯数字贴图的label写一个符合自己需求的shader。这样的话也不需要用引擎的label来这么复杂的实现了。

1赞

怪不得啊。。。你是拼成的,用的透明材质才可以改背景颜色,我这边写的shader,六个面设置贴图实现的,改不了label的背景颜色1

如果只是显示数字的话,可以不需要用到label来实现的,就10个数字,自己实现一个label还不算太复杂。我之前还要显示文字所以用了这个方案来显示。

大佬,加个好友学习下呀

你这个有个问题啊,加了刚体动起来的话字就抖动了

有没有DEMO

你发的那个demo上加个刚体看看,下落到其他物体上拼成的那6个quad 会抖动

z-fighting?还是什么抖动?还是说刚体没加在父节点上

文字加outline无法正常显示,请问有什么办法吗

复杂的需求建议直接弄一个camera渲染UI内容到模型上
https://docs.cocos.com/creator/3.0/manual/zh/asset/render-texture.html

mark~

https://gitee.com/yeshao2069/cocos-creator-how-to-use/tree/v3.4.x/Demo/Creator3.4.2_3D_LabelOnCube

2赞

我看了你的那个LabelOnCube,但是 是六个面同时发生数字变化,我如果想要每个面的逻辑是独立的,该怎么操作呢?

现在是六个面共用一个材质 改成六个面各用一个材质

我现在在做一款射击类游戏,每个怪物头上都有一个数字代表剩余血量,屏幕里最多出现十几个怪物,而且会无限生成,那是不是要创建无限个材质呢?因为每个怪物血量都是独立的

或者是否可以在代码里动态创建材质,等到怪物节点destroy的时候,自动销毁这个材质?

哈 上面说的就是一个解释(就是六个面数字都变化),其实是可以单个材质,然后换贴图得方式。那个demo我没记错得话应该是把字体映射成了texture放到材质上了。

上面那个的demo,我看代码里面就是换了材质的texture。如果更高效的话,可以把换texture改成换贴图,是这个意思嘛?但是比如说多个label 节点都用了一个材质,这个材质的贴图变了,那这些label不也会全部跟着变嘛?请教下大佬,要实现这个需求,代码该怎么写呢